manpagez: man pages & more
man RunUnitTests(1)
Home | html | info | man
RunUnitTests(1)           BSD General Commands Manual          RunUnitTests(1)


NAME

     RunUnitTests -- run unit tests for the current target


SYNOPSIS

     RunUnitTests


DESCRIPTION

     RunUnitTests examines its environment to determine what type of test bun-
     dle the current target represents, and runs the bundle's tests in the
     most appropriate fashion.  If possible, it will run the tests for all
     appropriate architectures in sequence, and will run the tests with Objec-
     tive-C garbage collection enabled or disabled as appropriate.

     RunUnitTests is intended to be called from a shell script build phase in
     a unit test bundle target.  It expects certain environment variables to
     be configured from Xcode project build settings; these environment vari-
     ables are described below.  When called from a shell script build phase,
     RunUnitTests will only run tests on build, not on install or any other
     build action.  See xcodebuild(1) for more information on build actions.

     If no host application is specified in the TEST_HOST environment vari-
     able, RunUnitTests will use the extension of the test bundle (as speci-
     fied by the WRAPPER_EXTENSION environment variable) to determine whether
     to use CPlusTestRig(1) or otest(1) to load and run the tests in the test
     bundle, for extensions "cptest" and "octest" respectively.

     If a host application is specified, RunUnitTests will execute the appli-
     cation directly and inject the test bundle into the application, and pass
     arguments to the application to cause its tests to be run based on the
     extension of the test bundle.

     In either case, if additional test arguments are specified in the
     OTHER_TEST_FLAGS environment variable, these will be passed to the test
     rig or to the application being tested in an appropriate fashion.

     If RunUnitTests is not run from a shell script build phase, unless other-
     wise specified it will use the current working directory as BUILT_PROD-
     UCTS_DIR and assume "build" is the current build action.

     If RunUnitTests is run with TEST_AFTER_BUILD set to NO in its environ-
     ment, it will print a message and exit cleanly without running any tests.


ENVIRONMENT

     ACTION              The current build action.  Tests are only run for
                         "build" builds, not "install" or other builds.
                         Defaults to "build" if unspecified.

     ARCHS               (Optional) The architectures the tests have been
                         built for.  Defaults to the result of arch(1) if not
                         specified.

     CURRENT_ARCH        (Optional) The currently-selected Active Architec-
                         ture.  Defaults to the result of arch(1) if not spec-
                         ified.

     DEVELOPER_DIR       The Xcode folder, e.g. "/Developer". Defaults to
                         "/Developer" if unspecified.

     BUILT_PRODUCTS_DIR  The directory containing built products; when tests
                         are run, this is specified as DYLD_LIBRARY_PATH and
                         DYLD_FRAMEWORK_PATH.  Defaults to the current working
                         directory if unspecified.

     GCC_ENABLE_OBJC_GC  (Optional) Whether the test bundle has been built
                         with Objective-C garbage collection support; used to
                         determine whether to run the test bundle with garbage
                         collection enabled or disabled.  Possible values are
                         unsupported, supported, and required.  Defaults to
                         unsupported if unspecified.

                         When set to supported, RunUnitTests will run the
                         tests for all appropriate architectures once with
                         Objective-C garbage collection enabled, and again
                         with Objective-C garbage collection disabled, under
                         the assumption that dual-mode code (that is, code
                         that can be used both with and without Objective-C
                         garbage collection) should be tested in both modes.

     NATIVE_ARCH_ACTUAL  (Optional) The native architecture of the hardware
                         running tests; used to determine the architectures of
                         tests that can be run.  For example, ppc64 hardware
                         can run tests for ppc and ppc64 while i386 hardware
                         can run tests for i386 and ppc.  Defaults to the
                         result of arch(1) if not specified.

     ONLY_ACTIVE_ARCH    (Optional) If set to YES, only the current Active
                         Architecture as specified by CURRENT_ARCH will be
                         tested, regardless of the value of ARCHS.  Defaults
                         to NO if unspecified.

     OTHER_TEST_FLAGS    (Optional) Additional arguments to pass to the test
                         rig or application under test.  If being passed to a
                         test rig, these arguments are passed prior to the
                         path of the test bundle to load; for an application,
                         these are its final arguments.

     PRODUCT_NAME        The name (with no extension) of the product generated
                         by the unit test bundle target.

     TEST_AFTER_BUILD    (Optional) If set to NO, exits immediately without
                         running tests.

     TEST_HOST           (Optional) The full path to an executable into which
                         to "inject" the specified unit test bundle.  For an
                         application, this must be the full path to the appli-
                         cation within its wrapper.  Do not set this for
                         frameworks or libraries.

     TEST_RIG            (Optional) The full path to an executable to use as a
                         test rig instead of either CPlusTestRig(1) or
                         otest(1).  The executable must take a path to a test
                         bundle as its final argument.  Its DYLD_FRAME-
                         WORK_PATH and DYLD_LIBRARY_PATH will be configured to
                         point to the BUILT_PRODUCTS_DIR prior to execution.
                         Do not set this if you are using one of the default
                         test rigs.

     VALID_ARCHS         (Optional) The architectures for which it is valid to
                         build and run tests, which is normally a superset of
                         the architectures for which the tests are actually
                         built.  Defaults to the result of arch(1) if not
                         specified.

     WRAPPER_EXTENSION   The extension of the product generated by the unit
                         test bundle target.  RunUnitTests will use this to
                         infer the appropriate test rig to use.  For "cptest"
                         it will use CPlusTestRig(1).  For "octest" it will
                         use otest(1).  For anything else, it will return an
                         error unless a TEST_RIG is also specified.


FILES

     /Developer/Tools/RunUnitTests


SEE ALSO

     arch(1), CPlusTestRig(1), otest(1), xcodebuild(1)

Mac OS X                        August 2, 2011                        Mac OS X

Mac OS X 10.7 - Generated Tue Aug 2 11:20:56 CDT 2011
© manpagez.com 2000-2025
Individual documents may contain additional copyright information.