def calabash_run(app_path) old_runner = "android.test.InstrumentationTestRunner" new_rummer = "sh.calaba.instrumentationbackend.CalabashInstrumentationTestRunner" f = "features/support/app_life_cycle_hooks.rb" if File.exist?(f) and IO.read(f).include? old_runner puts "Calabash has been updated" puts "Please do the following to update your project:" puts "1) Open #{f} in a text editor" puts "2) Replace #{old_runner} with #{new_rummer}" exit end if app_path test_server_path = "features/support/#{checksum(app_path)}.apk" env = "PACKAGE_NAME=#{package_name(app_path)} "\ "TEST_PACKAGE_NAME=#{package_name(test_server_path)} "\ "APP_PATH=#{app_path} "\ "TEST_APP_PATH=#{test_server_path} "\ "TEST_SERVER_PORT=34777" else env = "" end STDOUT.sync = true cmd = "cucumber -c #{ARGV.join(" ")} #{env}" puts cmd IO.popen(cmd) do |io| io.each { |s| print s } end sleep(1) end