Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

release/2.3.0 #596

Merged
merged 86 commits into from
Feb 3, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
86 commits
Select commit Hold shift + click to select a range
0584924
Merge branch 'release/2.2.4' into develop
jmoody Dec 15, 2016
d0981a6
OSS: update vendor licenses
jmoody Dec 16, 2016
c1b8446
Merge pull request #576 from calabash/feature/update-vendor-licenses
jmoody Dec 16, 2016
53a45ca
Rake: FBSimulatorControl path not required for DA:install
jmoody Dec 20, 2016
8218b1f
DA:Client: update wait_for_view_with_text
jmoody Dec 20, 2016
12795c6
Log: use SHELL prefix when logging shell commands
jmoody Dec 31, 2016
4a813fb
CoreSim: fix #term_or_kill; needs to call process KILL
jmoody Dec 31, 2016
9be9b17
CoreSim: prefer begin/end vs. lambda/call()
jmoody Dec 31, 2016
852d74f
Spec: compare simulators with Simctl and Instruments
jmoody Dec 30, 2016
e1897ee
Spec: RunLoop#run integration examples no longer necessary
jmoody Dec 30, 2016
45f28af
CLI: disable instruments cli for Xcode 8
jmoody Dec 30, 2016
92c2d12
Spec: instruments integration examples are not necessary
jmoody Dec 30, 2016
4718c6b
Spec: stabilize and improve simctl integration examples
jmoody Dec 30, 2016
728f633
Spec: fixup CLI instruments examples
jmoody Dec 31, 2016
61a0ef2
DA:Client: check simulator/app arch compatibility
jmoody Dec 31, 2016
0917cd0
Merge pull request #578 from calabash/feature/stabilize-integration-t…
jmoody Dec 31, 2016
ac346df
Merge pull request #579 from calabash/feature/DeviceAgent-client-chec…
jmoody Dec 31, 2016
2396d4b
ProcessWaiter: improve process detection with pgrep
jmoody Dec 31, 2016
5f2f84a
CoreSim: respond to ProcessWaiter process detection changes
jmoody Dec 31, 2016
13fbeb3
CoreSim: curate SIMULATOR_QUIT_PROCESSES processes
jmoody Dec 31, 2016
8743f48
CoreSim: prefer double quote over single quote
jmoody Dec 31, 2016
444b2a4
Merge pull request #581 from calabash/feature/improve-ProcessWaiter-p…
jmoody Dec 31, 2016
b3b43b4
CoreSim: quit simulator only when necessary
jmoody Dec 31, 2016
b4d8948
Merge pull request #580 from calabash/feature/CoreSim-only-quit-simul…
jmoody Dec 31, 2016
2a073f3
Device: sim stable when necessary processes have launched
jmoody Dec 31, 2016
170fa07
Merge pull request #582 from calabash/feature/improve-simulator-wait-…
jmoody Dec 31, 2016
35d873e
DA:Client: add wait_for_no_keyboard
jmoody Jan 3, 2017
d9099cb
DA:Client: prefer 'bundle_id' over 'bundleID'
jmoody Jan 3, 2017
78b398d
JS: add nl_BE privacy alert localizations
jmoody Jan 19, 2017
86c0244
DA:IDM: use positional args when possible
jmoody Jan 20, 2017
b3126e1
DeviceAgent: update stack to 1.0.5 rc1
jmoody Jan 20, 2017
b046b59
Merge pull request #584 from calabash/feature/update-iOSDeviceManager…
jmoody Jan 20, 2017
cef0e05
JS: add Sweden localization of privacy alerts
jmoody Jan 19, 2017
6530159
Merge pull request #585 from calabash/feature/add-nl_BE-and-SV-alert-…
jmoody Jan 23, 2017
868ec40
Rake: clarify what device_agent:checkout does
jmoody Jan 23, 2017
459d9ba
CoreSim: add code comment about candidate processes to manage
jmoody Jan 23, 2017
2257dff
Simctl: fix uninstall method docs
jmoody Jan 23, 2017
c668171
DA:Client: increase install timeout to 2 minutes
jmoody Jan 24, 2017
8e296f0
Device: wait when simulator first launch is detected
jmoody Jan 23, 2017
8330538
Device: extract simulator_size_on_disk to method
jmoody Jan 23, 2017
f797244
CoreSim: install and uninstall wait for sim size change
jmoody Jan 24, 2017
cf3abab
DA:Client: check if running DeviceAgent is stale
jmoody Jan 24, 2017
ba6ed13
Merge pull request #587 from calabash/feature/implement-DeviceAgent-s…
jmoody Jan 24, 2017
ff96d82
DA:Client: use a separate timeout for entering text
jmoody Jan 24, 2017
a691cdc
Merge pull request #588 from calabash/feature/improve-enter-text-time…
jmoody Jan 24, 2017
e7297e7
Merge pull request #586 from calabash/feature/improve-simulator-waiting
jmoody Jan 24, 2017
4444f99
DA:IDM: args compatible with >= 1.0.4
jmoody Jan 24, 2017
04cfabc
DA:IDM: rollback to tag/1.0.4
jmoody Jan 24, 2017
11bf163
Merge pull request #589 from calabash/feature/make-iOSDeviceManager-a…
jmoody Jan 25, 2017
2d91d33
DA:Client#launch_other_app code comment re: args and env
jmoody Jan 30, 2017
a89eaac
ProcessWaiter.pgrep_f: interface to pgrep -f
jmoody Jan 30, 2017
6dad96f
Device: sims can report details about running apps
jmoody Jan 30, 2017
99858c4
CoreSim#launch_simulator checks for running apps
jmoody Jan 30, 2017
8a8e80a
CoreSim#running_simulator_details: use '=' to avoid header in output
jmoody Jan 30, 2017
897881c
DA:Client: launch app with LAUNCHED_BY_RUN_LOOP
jmoody Jan 30, 2017
cf5192c
Merge pull request #590 from calabash/feature/CoreSim-relaunches-sim-…
jmoody Jan 30, 2017
795701a
DA:Client.run: remove commented out code
jmoody Jan 30, 2017
85dcac5
DA:Client.run: pass merged_options to .detect_cbx_launcher
jmoody Jan 30, 2017
ffa20dc
Core: quit simulator before _every_ UIAutomation run
jmoody Jan 30, 2017
fcb958c
CoreSim: remove reference to :quit_sim_on_init option
jmoody Jan 30, 2017
9f22de3
DA:Client: respect :relaunch_simulator option
jmoody Jan 30, 2017
0773af2
DA:IDM: remove :quit_sim_on_init option
jmoody Jan 30, 2017
efd4bfc
Spec: call CoreSim.quit_simulator when necessary
jmoody Jan 30, 2017
46ed1fe
CoreSim.quit_simulator should quit Xcode < 7 simulators
jmoody Jan 30, 2017
dd55aea
Device: fix 'first launch' logical error in sim wait for stable
jmoody Jan 30, 2017
aadde12
Merge pull request #591 from calabash/feature/forcing-sim-relaunch-sh…
jmoody Jan 31, 2017
60dcc95
Spec: quarantine the SimControl tests
jmoody Jan 30, 2017
dec7e7d
Spec: reformat to 80 chars
jmoody Jan 30, 2017
50d59fa
Spec: add logging to sim compatibility examples
jmoody Jan 30, 2017
336f37f
Spec:Resources#with_developer_dir ensures valid core sim service
jmoody Jan 30, 2017
3b68a9a
Merge pull request #592 from calabash/feature/stabilize-integration-t…
jmoody Jan 31, 2017
7639181
Device: quadruple timeout for sim stability
jmoody Jan 31, 2017
10f09d2
Device: medialibraryd does not appear on iOS 8 simulators
jmoody Jan 31, 2017
02c95b6
Merge pull request #594 from calabash/feature/double-sim-stable-timeo…
jmoody Jan 31, 2017
9dc609b
CoreSim: quit 3 more processes when asking Simulator to quit
jmoody Jan 31, 2017
288272e
CoreSim: code comment about filtering pids by privilege
jmoody Jan 31, 2017
bfa759f
CoreSim.terminate_core_simulator_processes: be more aggressive
jmoody Jan 31, 2017
083eac7
Merge pull request #593 from calabash/feature/CoreSim-needs-to-manage…
jmoody Jan 31, 2017
4d3db9e
Travis: don't run as many integration examples
jmoody Jan 31, 2017
4bcd8cc
Travis: adjust the targeted rubies
jmoody Jan 31, 2017
9c85f4e
Merge pull request #595 from calabash/feature/stabilize-travis-examples
jmoody Jan 31, 2017
3598765
CoreSim: device or app can be nil in relaunch checks
jmoody Feb 2, 2017
3c2dd60
Gem: bump version to 2.3.0
jmoody Jan 31, 2017
92277a1
Doc: update changelog for 2.3.0
jmoody Jan 31, 2017
71bf9b2
DA: DeviceAgent 1.0.6 + iOSDeviceManager 1.0.4
jmoody Jan 31, 2017
17619a3
Spec: transliterate example can be more generic
jmoody Feb 3, 2017
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 1 addition & 4 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,10 @@ before_script:
script:
- scripts/ci/travis/install-gem-ci.rb
- scripts/ci/travis/rspec-ci.rb
- bundle exec rspec spec/integration/detect_simulators_spec.rb
- bundle exec rspec spec/integration/simctl_spec.rb

rvm:
- 2.0.0
- 2.1.9
- 2.2.5
- 2.3.1

notifications:
email:
Expand Down
58 changes: 58 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,63 @@
## Change Log

### 2.3.0

This release contains a significant change - Simulators will not be
automatically be relaunched whenever
`Calabash::Cucumber::Launcher#relaunch` is called. Instead, run-loop
will try to keep the simulator running as long as it appears to be
health. This change is only for DeviceAgent test runs. Tests that use
UIAutomation will continue to relaunch the simulator.

If you are on macOS Sierra or using Xcode >= 8.0, you are running
against DeviceAgent. UIAutomation is only used on El Cap with Xcode <
8.0 and iOS < 10.

If your tests need the simulator to relaunch every time
`Launcher#relaunch` is called, you can pass the new `:relaunch_simulator =>
true` option. This option is provided for backward compatibility.

* Improve Device#simulator\_wait\_for\_stable\_state for iOS <= 8 and iOS >= 10.1 #594
* CoreSimulator manages more processes for Xcode 8 and Sierra #593
* Stabilize integration tests for Xcode 8.2 #592
* Allow user to force simulator relaunch when running with DeviceAgent #591
* CoreSimulator relaunches the simulator if app state is not acceptable #590
* Use iOSDeviceManager arguments that are 1.0.4 and 1.0.5 compatible #589
* DA:Client: use a separate timeout for entering text #588
* DeviceAgent#Client: check if running DeviceAgent is stale #587
* Decouple simulator wait for stable state and CoreSim install and uninstall #586
* Add nl\_BE and Swedish localizations for privacy alerts #585
* Update iOSDeviceManager arguments for 1.0.5 #584
* Device: improve the wait-for-simulator-stable algorithm #582
* ProcessWaiter: improve process detection #581
* CoreSim: quit simulator only when necessary #580
* DeviceAgent::Client: check simulator/application architecture compatibility #579
* Stabilize integration tests for Xcode 8 #578
* OSS: update vendor licenses #576

#### DeviceAgent 1.0.6

DeviceAgent 1.0.5 was skipped.

Built from tag [1.0.6](https://github.com/calabash/DeviceAgent.iOS/releases/tag/1.0.6)

* Add mach clock and a simple waiter #202
* SpringBoard#queryForAlert: skip\_waitForQuiescence check #201
* Increase touch duration to 0.2 to match XCUITest #198
* Use CocoaLumberjack for logging #197
* Update CocoaLumberjack to 3.0.0 #196
* TestApp: update to calabash.framework 0.20.4 #194
* Improve hitpoint and visibility calculation #193
* Fix text entry for i386/armv7 devices #192
* Dismiss SpringBoard alerts by touching alert buttons with coordinates #191
* SpringBoard: ask UIApplication for SpringBoard alert before making an expensive XCUITest query #190
* POST /session raises when app is not installed and when app fails to launch #189

#### iOSDeviceManager 1.0.4

iOSDeviceManager is unchanged for this version. See the 2.2.4 release
notes below for details about the iOSDeviceManager 1.0.4 release.

### 2.2.4

DeviceAgent 1.0.4 can dismiss SpringBoard alerts in any orientation.
Expand Down
13 changes: 3 additions & 10 deletions Rakefile
Original file line number Diff line number Diff line change
Expand Up @@ -124,18 +124,11 @@ Could not find repo #{name}. Checked these two directories:
To specify a non-standard location for these repositories, use:
* FBSIMCONTROL_PATH=path/to/FBSimulatorControl
* DEVICEAGENT_PATH=path/to/DeviceAgent.iOS
* IOS_DEVICE_MANAGER=path/to/iOSDeviceManager
]
end

def fbsimctl
path = ENV["FBSIMCTL"] || expect_path_to_repo("FBSimulatorControl")
log_info "Using FBSIMCONTROL_PATH=#{path}"
path
end

def device_agent
path = ENV["DEVICE_AGENT"] || expect_path_to_repo("DeviceAgent.iOS")
log_info "Using DEVICEAGENT_PATH=#{path}"
Expand Down Expand Up @@ -240,8 +233,8 @@ target = #{target}

ensure_valid_core_simulator_service

env = {"DEVICEAGENT_PATH" => device_agent,
"FBSIMCONTROL_PATH" => fbsimctl}
env = {"DEVICEAGENT_PATH" => device_agent}

Dir.chdir(ios_device_manager) do
result = system(env, "make", "dependencies")
if !result
Expand Down Expand Up @@ -304,7 +297,7 @@ target = #{target}
end
end

desc "Roll back changes to DeviceAgent stack"
desc "Roll back changes to DeviceAgent binaries; does not touch client.rb"
task :checkout do
banner("Git Checkout")
checkout(bin)
Expand Down
9 changes: 9 additions & 0 deletions lib/run_loop/cli/instruments.rb
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,11 @@ class Instruments < Thor


def quit
if RunLoop::Xcode.new.version_gte_8?
puts "instruments quit with Xcode 8 is not supported"
exit 1
end

signal = options[:signal]
ENV['DEBUG'] = '1' if options[:debug]
instruments = RunLoop::Instruments.new
Expand Down Expand Up @@ -94,6 +99,10 @@ def quit
:type => :boolean

def launch
if RunLoop::Xcode.new.version_gte_8?
puts "Launching applications with Xcode 8 is not supported"
exit 1
end

debug = options[:debug]
original_value = ENV['DEBUG']
Expand Down
6 changes: 2 additions & 4 deletions lib/run_loop/core.rb
Original file line number Diff line number Diff line change
Expand Up @@ -807,22 +807,20 @@ def self.prepare_simulator(app, device, xcode, simctl, reset_options)
# Validate the architecture.
self.expect_simulator_compatible_arch(device, app)

# Quits the simulator.
core_sim = RunLoop::CoreSimulator.new(device, app, :xcode => xcode)
RunLoop::CoreSimulator.quit_simulator
core_sim = RunLoop::CoreSimulator.new(device, app, xcode: xcode)

# Calabash 0.x can only reset the app sandbox (true/false).
# Calabash 2.x has advanced reset options.
if reset_options
core_sim.reset_app_sandbox
end

# Will quit the simulator if it is running.
# @todo fix accessibility_enabled? so we don't have to quit the sim
# SimControl#accessibility_enabled? is always false during Core#prepare_simulator
# https://github.com/calabash/run_loop/issues/167
simctl.ensure_accessibility(device)

# Will quit the simulator if it is running.
# @todo fix software_keyboard_enabled? so we don't have to quit the sim
# SimControl#software_keyboard_enabled? is always false during Core#prepare_simulator
# https://github.com/calabash/run_loop/issues/168
Expand Down
Loading