lib/acouchi/test_runner.rb in acouchi-0.0.4 vs lib/acouchi/test_runner.rb in acouchi-0.0.5
- old
+ new
@@ -1,38 +1,30 @@
-require "childprocess"
-
module Acouchi
class TestRunner
def initialize configuration
@configuration = configuration
end
- def adb
- @adb ||= Which.find_executable("adb")
- end
-
def start
- force_stop
- ProcessLauncher.new(adb, "forward", "tcp:7103", "tcp:7103").start_and_crash_if_process_fails
- @test_runner_process = ProcessLauncher.new(adb, "shell", "am", "instrument", "-w", "#{@configuration.target_package}/android.test.InstrumentationTestRunner")
+ apk_installer = ApkInstaller.new(@configuration)
+ apk_installer.uninstall_apk
+ apk_installer.install_apk
+
+ ProcessLauncher.new(Executables.adb, "forward", "tcp:7103", "tcp:7103").start_and_crash_if_process_fails
+ @test_runner_process = ProcessLauncher.new(Executables.adb, "shell", "am", "instrument", "-w", "#{@configuration.target_package}/android.test.InstrumentationTestRunner")
@test_runner_process.start_in_background
while ready? == false
sleep 0.1
end
end
def stop
HTTParty.get("http://127.0.0.1:7103/finish") rescue nil
- @test_runner_process.stop
end
private
def ready?
HTTParty.get("http://127.0.0.1:7103/").body == "Acouchi" rescue false
- end
-
- def force_stop
- ChildProcess.build(adb, "shell", "am", "force-stop", @configuration.target_package).start.wait
end
end
end