= ocrunner ocrunner is a little Ruby wrapper for running OCUnit tests in Xcode from the command line. Its main purpose is to parse the huge output from xcodebuild and display a pretty summary to the user. To use this, you'll need to be set up with a test target. See http://developer.apple.com/mac/articles/tools/unittestingwithxcode3.html == Usage cd path/to/xcode/project/directory ocrunner To run tests as files are changed (autotest-style), use: ocrunner --auto == Signals Control-c: kill ocrunner Control-\: toggle verbosity and rerun tests. This is nice for when the pretty filtered output doesn't show quite enough information to you. == Pretty debug logging with PRPLog() This is a little crazy, but ocrunner has support for displaying debug log messaged from your Objective-C code through the use of a custom logging macro. The messages are colored purple in order to make them easier to see in the verbose output. To use this feature, add the following macro to a header or prefix file in your Xcode project: #define PRPLog(format, ...) NSLog([NSString stringWithFormat: @"%s:%d:%s:\033[35m%@\033[0m", __PRETTY_FUNCTION__, __LINE__, __FILE__, format] ## __VA_ARGS__) ocrunner will display the latest version of this macro when run with --prplog-help. == I don't like your defaults Don't worry, you can specify the target/configuration/sdk options passed to xcodebuild. You can see all the available options by running ocrunner -h: --sdk, -s : SDK to build against (default: iphonesimulator3.1.3) --target, -t : Target to build (default: Test) --config, -c : Configuration to use (default: Debug) --parallel, -p: Use multiple processors to build multiple targets (parallelizeTargets) (default: true) --auto, -a: Watch filesystem for changes and run tests when they occur --growl, -g: Report results using Growl --debug-command, -d: Print xcodebuild command and exit --verbose, -v: Display all xcodebuild output after summary --loud-compilation, -l: Always show verbose output when a compilation or linking error occurs (default: true) --prplog, -r: Display PRPLog log messages (default: true) --prplog-help, -o: Print PRPLog code example and exit --version, -e: Print version and exit --help, -h: Show this message == Note on Patches/Pull Requests * Fork the project. * Make your feature addition or bug fix. * Add tests for it. This is important so I don't break it in a future version unintentionally. * Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull) * Send me a pull request. Bonus points for topic branches. == Copyright Copyright (c) 2010 Jim Benton. See LICENSE for details.