What's new in xctool 0.3.1
Nov 21, 2016
- Support Xcode 8 and Xcode 8.1 (only running tests).
- Also it will be installed with a patched homebrew formula to workaround some installation issues.
- NOTE: We removed build support from xctool for Xcode 8 and later. Build features are still supported for Xcode 7 but will be removed in one of the next releases. We suggest migrating to xcbuild or xcodebuild for building purposes.
New in xctool 0.3 (Oct 31, 2016)
- Support Xcode 8 (only running tests).
- Add support for multiple .xctool-args.
- Add -waitForDebugger option for running tests.
- Add a suite-level timeout.
New in xctool 0.2.9 (Apr 12, 2016)
- Support Xcode 7.3.
- Support Apple TV.
- Pass derivedDataPath to xcodebuild when building tests to fix incremental builds.
- Other fixes and improvements.
New in xctool 0.2.8 (Feb 9, 2016)
- Process environment variables could now be passes to tests.
- junit reporter now always outputs valid UTF-8 strings.
- Analyze action properly emits analyze warnings from previous analyzer runs.
- Destination values are now properly handled.
- New option newSimulatorInstance provides a way to create new simulator app instance on every application test run.
- Improved test output processing.
- Other fixes and improvements.
New in xctool 0.2.7 (Oct 28, 2015)
- Pretty reporting is now allowed without overwrite when TTY is not detected.
- Simulator used to run iOS application tests can now be selected by its id passed to -destination option.
- xctest symbolication in disabled in Xcode 7 for performance improvements.
- user-notifications reporter is disabled on TeamCity, Jenkins and CircleCI.
- Test method names with parameters are now supported.
- -dry-run and -skipUnavailableActions xcodebuild options are now supported.
- Other fixes.
New in xctool 0.2.6 (Oct 12, 2015)
- Added support of Xcode 7.
- Added an omit option for tests.
- Added an option for not reseting the simulator on failure.
- Switched to CoreSimulator framework to run application tests.
New in xctool 0.2.5 (Aug 22, 2015)
- Dropped Xcode 5 support.
- Switched to simctl to query test cases and run logic tests.
- Added support for Xcode 7 beta.
- Improved support for networking, keychain and other specific service dependent tests.
- Pre and post action scripts defined in the active scheme are now run as expected.
- Fixed stripping of ANSI escape codes in the test output.
- -only option now supports wildcard prefixes for test class names and test cases.
- Environment for app and logic tests is now the same as if you run them in Xcode.
- Added support for workspaces and projects that are located in a subdirectory of a project root directory.
- Improved support for projects with nested projects.
- Improved searching of available schemes.
- -sdk option now supports an absolute path to the sdk as a value.
- Improved macro expansion in schemes.
- Many other small fixes and improvements.
New in xctool 0.2.4 (Jun 2, 2015)
- Added -testTimeout option. When an individual test hits this timeout, it is considered a failure rather than waiting indefinitely
- Tests now launch the simulator without stealing focus
- Improved error output when xcodebuild crashes
- Improved support for OS X test bundles
- Fixed an issue where NSTemporaryDirectory() was broken in iOS logic tests
- Fixed an issue where many tests with long names would break due to command line length
- xctool builds without warnings under Xcode 6.3
- Switched to arc
New in xctool 0.2.3 (Mar 3, 2015)
- Fix compilation warnings when using Xcode 6.3 betas
- Added -derivedDataPath option for specifying where DerivedData should be stored
- Improvements to the TeamCity reporter
- Added -launch-timeout option for configuring the simulator launch timeout
- Setting XCTOOL_FORCE_TTY will make the pretty-reporter output special characters even if a TTY isn't detected
- Fixed logic when running analyze on Xcode 6.1+: there is still more to do here as Apple changed some things around
- Various memory and correctness fixes
New in xctool 0.2.2 (Dec 8, 2014)
- Fixes for Xcode 6.1 / workarounds for Apple bugs
- Fixed problem with moving Xcode location after compiling xctool
- Add a new reporter to output a database of copied files
- Updated clang-as-ios-dylib for cpp support
- Various documentation fixes
New in xctool 0.2.1 (Sep 26, 2014)
- In the last release, xctool only worked with the Xcode version it was compiled with. This was needed due to the massive changes between Xcode 5 and Xcode 6, but caused problems for people using the same xctool binary and switching between multiple Xcode versions when building and running their project (happens on CI a bunch).
- @ExtremeMan updated xctool to make Xcode version-specific functionality happen at runtime. This means an xctool compiled with Xcode 6 can build and run tests using Xcode 5, etc.
- There is an edge case where compiling xctool on Xcode 6 and running it on an app pointed at Xcode 5 will fail if Xcode 6 is located in /Applications/Xcode.app. The wrong private framework gets loaded (the framework from Xcode 6 rather than from Xcode 5). If Xcode 6 is saved somewhere like Xcode_6.app then it works.
New in xctool 0.2 (Sep 23, 2014)
- Added support for Xcode 6
- Added a new TeamCity reporter
- Fixed an issue where xctool would not compile if the path contained spaces
- Fixed a deterministic crash when running test cases on the iOS 5.0 simulator
- Fixed a random crash when running application tests
- Fixed a potential deadlock when running logic tests by working around the dispatch thread soft limit
- Fixed a bunch of memory leaks
New in xctool 0.1.16 (May 29, 2014)
- Added support for xcodebuild's -install option
- Added support for xcodebuild's -resultBundlePath option
- Added support for sending notifications via Notification Center when actions finish:
- This can be controlled by turning the user-notifications reporter on and off
- This is turned off by default on Travis CI
- Added -listTestsOnly option to list tests without running them:
- This is useful for integrating with wrapper scripts and test harnesses
- xctool now uses lazy binding when running tests:
- This fixes an issue where a framework referenced by tests references a symbol that does not exist, thus causing the test to fail to link
New in xctool 0.1.15 (Apr 24, 2014)
- Added Xcode 5.1 support. You do not have to update. Xcode 5.0.x is still supported.
- Dropped support for Xcode < 5.0.
- If no project or workspace is specified, xctool searches in the current directory. This matches xcodebuild semantics.
- Faster OCUnit tests by swizzling the slow implementation of senIsSuperclassOfClass.
- Tests that crash will not halt the overall test run. This gives you more signal by showing all failing tests in a run rather than stopping at the crash.
- Added -resetSimulator option to clear simulator content and settings between test runs.
- Fix for the frequently-reported Failed to query the list of test cases in the test bundle bug.
- When selecting an sdk, xctool will now fall back to the major release sdk. For example, if you specify 7.0.3 and it is unavailable xctool falls back to 7.0.
- OCUnit errors are now reported as test failures. This should fix confusing results like TEST FAILED: 25 passed, 0 failed, 0 errored, 25 total
- Testcases in the JUnit reporter now have an error attribute.
- The clang analyzer now publishes the type and category of detected bugs to reporters.
- Many smaller fixes and code cleanup.
New in xctool 0.1.14 (Nov 26, 2013)
- Kiwi and Specta tests are working again!
- Support for xcodebuild's -destination option, including targeting the 64-bit iPhone Simulator.
- Better support for passing arguments to tests on launch.
- Better reporting when tests fail to start or crash while running.
- Fixed issue preventing OS X application tests from running.
- Patch for race-condition / crash bug in SenTestingKit's use of objc_getClassList to enumerate test classes.
- ... as well as many smaller fixes and code cleanup.
New in xctool 0.1.13 (Oct 1, 2013)
- xctool now supports targets that use the XCTest framework! #169
- Fixed bug in the JUnit reporter didn't aggregate the output of test cases in the same suite. #141
- Fixed bug in otest-query that would assume all methods starting with 'test' were test methods. Now it looks at the return type and number of args as well. #174
- xctool gives a more coherent error message when the test bundle is empty. #177
New in xctool 0.1.12 (Sep 17, 2013)
- Improved error reporting for tests: xctool now differentiates between test failures (assertions failing) and test errors (tests getting unexpected exceptions, or not running at all).
- Fixed problem where tests wouldn't run when using Xcode 5 GM.
- Fixed bug where Ctrl-C'ing / interrupting xctool didn't kill its child processes.
- If tests emit any ANSI-colored output, the ANSI escape codes are stripped.
- When running tests in parallel, show which test bundles are in progress.
- Fix EXC_BAD_ACCESS crash when running tests on 10.7.
New in xctool 0.1.11 (Sep 5, 2013)
- Fixed crash when using the analyze action with the -only option.
- In xctool's build.sh script, we'll now retry the build if it appears that xcodebuild crashed while building xctool.
New in xctool 0.1.10 (Sep 4, 2013)
- Fixed problem preventing some iOS application tests from running (issue #135). The process to fetch the test cases from the bundle would break if the test bundle depended on symbols provided by the test host / bundle loader.
- Better error reporting when we fail to query the list of test cases in a bundle.
New in xctool 0.1.9 (Sep 4, 2013)
- New reporter system - reporters are now just plain executables that read JSON events from stdin and write formatted results to stdout. (more info)
- Added retry logic around application/simulator test running. (@unixed)
- We now show clang-like code context for failing test assertions and analyzer warnings. (@kcoons)
- You can set the simulator type (iphone, or ipad) to use for running application tests. (@neonichu)
- Helpful error messages when we can't find the specified scheme and it's likely because you're relying on Xcode's Autocreate Schemes feature (@ndfred)
New in xctool 0.1.7 (Aug 8, 2013)
- Fixed issue where xctool wouldn't be able to find its internal libs and binaries when run from a symlink.