File: example9.m

package info (click to toggle)
gnustep-make 2.6.2-2
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 3,084 kB
  • sloc: sh: 3,990; objc: 806; makefile: 229; perl: 71
file content (44 lines) | stat: -rw-r--r-- 1,560 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#import	"Testing.h"
#import	<Foundation/NSRange.h>

/* A ninth test ... skipping unsupported tests
 *
 * If you run the test with 'gnustep-tests example9.m' it should
 * report one set skipped.
 */
int
main()
{
  #define	HAVE_XXX	NO

  /* Start a set.
   */
  START_SET("example set")

    /* Here we conditionally skip the set with a message to be displayed.
     * The first line will be displayed immediately when the set
     * is skipped, and lets the user know that some functionality is missing.
     * The remainder of the message is written to the log file so the user
     * can find out what to do about the problem.
     */
    if (!HAVE_XXX)
      SKIP("Feature 'foo' is unsupported.\nThis is because the package was built without the 'XXX' library.\nIf you need 'foo' then please obtain 'XXX' and build and install the package again before re-running this testsuite.")

    /* Here we demonstrate that the 'expression' evaluated by the PASS
     * macro can actually be an arbitrarily complex piece of code as
     * long as the last statement returns an integral value which can
     * be used to represent a pass (non zero) or fail (if zero).
     * Where such a code fragment contains commas, it must be written
     * inside brackets to let the macro preprocessor know that the whole
     * code fragement is the first parameter to the macro.
     */
    PASS(({
      NSRange	r = NSMakeRange(1, 10);
      
      NSEqualRanges(r, NSMakeRange(1, 10));
    }), "a long code-fragment/expression works")

  END_SET("example set")

  return 0;
}