tools-make/TestFramework/example7.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

43 lines
1 KiB
Objective-C

#import "Testing.h"
/* A seventh test ... nesting sets.
*
* If you run the test with 'gnustep-tests example7.m' it should
* report a one test fail, two test passes, and one set failed.
*/
int
main()
{
/* Start a set.
*/
START_SET("outer set")
/* Our first test in this set will pass.
*/
PASS(1 == 1, "integer equality works")
/* Now we start a set nested inside the first one.
*/
START_SET("inner set")
/* And we say we need a test to pass, but it's actually a faulty one
* which will fail, causing the set to be terminated.
*/
NEED(PASS_EQUAL(@"hello", @"there", "faulty string equality test"))
/* Here's a correct string equality test, but it's never reached because
* the earlier test was needed.
*/
PASS_EQUAL(@"there", @"there", "NSString equality works")
END_SET("inner set")
/* And here's another correct test which *is* reached because it's
* in a different set.
*/
PASS_EQUAL(@"there", @"there", "NSString equality works")
END_SET("outer set")
return 0;
}