docs/Testing/OSXWinObjCTests.md
As a measure to help ensure the accuracy of the WinObjC platform, we are beginning to support building and running WinObjC unit tests on OSX devices. By verifying our tests against the reference platform, we hope to reduce errors in test writing and incorrect assumptions about Objective-C APIs. Foundation.UnitTests are currently supported, with other test modules expected to follow suit.
It is recommended that edits to unit tests be verified on an OSX machine, if the developer has access to one. A list of current known failures is provided at the bottom.
While it's possible to checkout a separate git enlistment on an OSX machine and build WinObjC tests, it's recommended that developers maintain just one enlistment and share it out to an OSX machine instead. Below are some example steps for setting up a shared enlistment/ssh workflow, assuming your machines are on the same network.
Windows machine - share your Windows WinObjC enlistment with yourself:
OSX machine - mount the shared volume:
OSX machine - enable remote login:
Windows machine - install PuTTY and ssh into your OSX machine:
In a shell, cd to <enlistment root>/tests/unittests/Foundation
Run 'make Foundation.UnitTests.exe' - this creates Foundation.UnitTests.exe in your current directory
The makefile will print an output location for Foundation.UnitTests.exe, eg:
Run '/Volumes/WinObjC/build/Tests/UnitTests/Foundation/OSX/Foundation.UnitTests.exe', or your equivalent address -
There are no known failures in Foundation.UnitTests