]>
git.saurik.com Git - apple/xnu.git/blob - iokit/Tests/Tests.h
2 * Copyright (c) 1998-2000 Apple Computer, Inc. All rights reserved.
4 * @APPLE_LICENSE_HEADER_START@
6 * The contents of this file constitute Original Code as defined in and
7 * are subject to the Apple Public Source License Version 1.1 (the
8 * "License"). You may not use this file except in compliance with the
9 * License. Please obtain a copy of the License at
10 * http://www.apple.com/publicsource and read it before using this file.
12 * This Original Code and all software distributed under the License are
13 * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
14 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
15 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
17 * License for the specific language governing rights and limitations
20 * @APPLE_LICENSE_HEADER_END@
22 #include <IOKit/IOLib.h>
26 #define logPrintf(x) \
31 #define verPrintf(x) logPrintf(x)
33 // Assumes 'bool res = true' in current scope
34 #define TEST_ASSERT(t, l, c) \
37 verPrintf(("TEST (%c) test %s failed\n", t, l)); \
42 #define logSpace() do { } while(0)
43 #define checkPointSpace() ((void *) 0)
44 #define checkSpace(l, ckp, d) ((int) 1)
46 // In TestContainers.cc
47 extern const int numStrCache
;
48 extern const char *strCache
[];
50 extern void testString();
51 extern void testSymbol();
52 extern void testData();
54 // In TestCollections.cc
55 extern void testArray();
56 extern void testSet();
57 extern void testDictionary();
58 extern void testIterator();
61 extern void testWorkLoop();
63 #include <libkern/c++/OSObject.h>
67 class IOInterruptEventSource
;
70 typedef void (*TestDeviceAction
)(TestDevice
*, int, void *);
72 class TestDevice
: public OSObject
74 OSDeclareDefaultStructors(TestDevice
)
78 IOCommandQueue
*commQ
;
81 IOInterruptEventSource
*intES
;
86 void rawCommandOccurred
87 (void *field0
, void *field1
, void *field2
, void *field3
);
88 kern_return_t
enqueueCommand(bool sleep
,
89 TestDeviceAction act
, int tag
, void *dataP
);
91 void interruptAction(IOInterruptEventSource
*event
, int count
);
93 void producer1Action(int tag
);
94 void producer2Action(int tag
, void *inCount
);
99 #endif /* __cplusplus */