1#import "Testing.h"
2#import <Foundation/NSArray.h>
3#import <Foundation/NSAutoreleasePool.h>
4#import <Foundation/NSDictionary.h>
5#import <Foundation/NSProcessInfo.h>
6#import <Foundation/NSString.h>
7
8int main()
9{
10  NSAutoreleasePool   *arp = [NSAutoreleasePool new];
11  NSProcessInfo *info = [NSProcessInfo processInfo];
12  id obj;
13  unsigned int val;
14  PASS(info != nil, "NSProcessInfo understands [+processInfo]");
15
16  obj = [info arguments];
17  PASS((info != nil &&
18       [obj isKindOfClass:[NSArray class]] &&
19       [obj count] != 0),
20       "NSProcessInfo has arguments");
21
22  obj = [info environment];
23  PASS((obj != nil &&
24       [obj isKindOfClass:[NSDictionary class]]),
25       "NSProcessInfo has environment");
26
27  obj = [info processName];
28  PASS((obj != nil &&
29       [obj isKindOfClass:[NSString class]] &&
30       [obj length] > 0),
31       "-processName is non-nil");
32
33  obj = [info globallyUniqueString];
34  PASS((obj != nil &&
35       [obj isKindOfClass:[NSString class]] &&
36       [obj length] > 0),
37       "-globallyUniqueString works");
38
39  obj = [info operatingSystemName];
40  PASS((obj != nil && [obj isKindOfClass:[NSString class]] && [obj length] > 0),
41    "-operatingSystemName works");
42  NSLog(@"operatingSystemName %@", obj);
43
44  val = [info operatingSystem];
45  PASS(val != 0, "-operatingSystem works");
46
47  testHopeful = YES;
48  val = [info systemUptime];
49  NSLog(@"systemUptime %lu", val);
50  PASS(val != 0, "-systemUptime works");
51  testHopeful = NO;
52
53  obj = [info hostName];
54  PASS((obj != nil && [obj isKindOfClass:[NSString class]] && [obj length] > 0),
55    "-hostName works");
56  NSLog(@"hostName %@", obj);
57  [arp release]; arp = nil;
58  return 0;
59}
60