/run_loop

The bridge between Calabash iOS and Xcode command-line tools like instruments and simctl.

Primary LanguageJavaScriptOtherNOASSERTION

master develop versioning license contributing dependencies
Build Status Build Status GitHub version License Contributing Dependency Status

Run Loop

Supported Xcode Versions

  • Xcode 6 and 7.

License

Run Loop is available under the MIT license. See the LICENSE file for more info.

Versioning

Run Loop follows the spirit of Semantic Versioning. [1] However, the semantic versioning spec is incompatible with RubyGem's patterns for pre-release gems. [2]

"But returning to the practical: No release version of SemVer is compatible with Rubygems." - David Kellum

For Run Loop Gem Developers

IMPORTANT note to devs RE: udidetect submodule

The current head of the udidetect head does not include the udidetect binary.

If you are compelled to update, you must rebuild and replace the scripts/udidetect binary.

At this time, there is no reason to update.

Tests

CI

To simulate CI locally:

$ scripts/ci/travis/local-run-as-travis.rb

Unit Tests

$ be rake unit

Integration Tests

Take a break because these test launch and quit the simulator multiple times which hijacks your machine. You have enough time to take some deep breaths and do some stretching. You'll feel better afterward.

For continuous TDD/BDD see the Guard section below.

TMUX USERS

Do not try to run the integration tests in a tmux session. Trust me.

$ be rake integration
Device Testing
  • Requires ideviceinstaller.
  • Requires devices to be connected with USB.
  • Each compatible device will be targeted with tests.
  • These are integration tests
Regression vs. Xcode version

If you have alternative Xcode installs that look like this:

/Xcode/5.1/Xcode.app
/Xcode/5.1.1/Xcode.app
/Xcode/6.1.1/Xcode.app
/Xcode/6.2/Xcode-Beta.app
/Xcode/6.3/Xcode-Beta.app

the rspec tests will do regression testing against each version.

Guard

Requires MacOS Growl - available in the AppStore.

$ be guard

Only the unit tests are run by guard.