Annotation of XNU/iokit/Tests/Tests.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  * Copyright (c) 1998-2000 Apple Computer, Inc. All rights reserved.
                      3:  *
                      4:  * @APPLE_LICENSE_HEADER_START@
                      5:  * 
                      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.
                     11:  * 
                     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
                     18:  * under the License.
                     19:  * 
                     20:  * @APPLE_LICENSE_HEADER_END@
                     21:  */
                     22: #include <IOKit/IOLib.h>
                     23: 
                     24: #ifdef __cplusplus
                     25: 
                     26: #define logPrintf(x)                                           \
                     27:     do {                                                       \
                     28:         kprintf x;                                             \
                     29:     } while (0)
                     30: 
                     31: #define verPrintf(x) logPrintf(x)
                     32: 
                     33: // Assumes 'bool res = true' in current scope
                     34: #define TEST_ASSERT(t, l, c)                                           \
                     35:     do {                                                               \
                     36:         if ( !(c) ) {                                                  \
                     37:             verPrintf(("TEST (%c) test %s failed\n", t, l));   \
                     38:             res = false;                                               \
                     39:         }                                                              \
                     40:     } while(0)
                     41: 
                     42: #define logSpace()             do { } while(0)
                     43: #define checkPointSpace()      ((void *) 0)
                     44: #define checkSpace(l, ckp, d)  ((int) 1)
                     45: 
                     46: // In TestContainers.cc
                     47: extern const int numStrCache;
                     48: extern const char *strCache[];
                     49: 
                     50: extern void testString();
                     51: extern void testSymbol();
                     52: extern void testData();
                     53: 
                     54: // In TestCollections.cc
                     55: extern void testArray();
                     56: extern void testSet();
                     57: extern void testDictionary();
                     58: extern void testIterator();
                     59: 
                     60: // In TestDevice.cc
                     61: extern void testWorkLoop();
                     62: 
                     63: #include <libkern/c++/OSObject.h>
                     64: 
                     65: class IOWorkLoop;
                     66: class IOCommandQueue;
                     67: class IOInterruptEventSource;
                     68: 
                     69: class TestDevice;
                     70: typedef void (*TestDeviceAction)(TestDevice *, int, void *);
                     71: 
                     72: class TestDevice : public OSObject
                     73: {
                     74:     OSDeclareDefaultStructors(TestDevice)
                     75: 
                     76:     IOWorkLoop *workLoop;
                     77:     int intCount;
                     78:     IOCommandQueue *commQ;
                     79: 
                     80: public:
                     81:     IOInterruptEventSource *intES;
                     82: 
                     83:     virtual bool init();
                     84:     virtual void free();
                     85: 
                     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);
                     90: 
                     91:     void interruptAction(IOInterruptEventSource *event, int count);
                     92: 
                     93:     void producer1Action(int tag);
                     94:     void producer2Action(int tag, void *inCount);
                     95: 
                     96:     void alarm();
                     97: };
                     98: 
                     99: #endif /* __cplusplus */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.