tools-make/TestFramework/example6.m
Richard Frith-MacDonald 21c545b319 Important change to the START_SET and END_SET macros to stop their use
being confusing.  They now both take a simple C-string argument which
names the set, and the macros check that each end matches a start of
the same name.  Since tis means that a START_SET no longer takes an
argument sayng whether or notthe set is to be skipped, we now have a
SKIP macro to be used inside a set to skip to the end of it.  This
is actually more versatile as we can have multiple SKIP macros in the
same set, each providing a different reason for the set being skipped.
Also removed a few obsolete/unused functions and macros.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/tools/make/trunk@32355 72102866-910b-0410-8b05-ffd578937521
2011-02-24 16:26:01 +00:00

39 lines
1 KiB
Objective-C

#import "Testing.h"
/* A sixth test ... need.
*
* If you run the test with 'gnustep-tests example6.m' it should
* report one hope dashed, one test pass, and one set failed.
*/
int
main()
{
START_SET("example set")
/* First set a flag to say that we are not expecting tests to
* actually pass.
*/
testHopeful = YES;
/* Here we demonstrate the NEED macro. This says that a need must be met
* in order to continue with the set ... if the test does not pass
* we can't complete the set and we skip to the end.
*/
NEED(PASS(1 == 0, "silly test which we don't expect to pass"))
/* This test should never be reached because the previous test needs to
* pass, but will not do so.
*/
PASS(1 == 1, "integer equality works")
/* The set should be unresolved, because the earlier need was not met.
*/
END_SET("example set")
/* And here we demonstrate that on exit from the set, the global
* variable is restored to its state on entry.
*/
pass(NO == testHopeful, "the flag state is restored outside the set");
return 0;
}