os161-1.99
 All Data Structures
test.h
00001 /*
00002  * Copyright (c) 2000, 2001, 2002, 2003, 2004, 2005, 2008, 2009
00003  *      The President and Fellows of Harvard College.
00004  *
00005  * Redistribution and use in source and binary forms, with or without
00006  * modification, are permitted provided that the following conditions
00007  * are met:
00008  * 1. Redistributions of source code must retain the above copyright
00009  *    notice, this list of conditions and the following disclaimer.
00010  * 2. Redistributions in binary form must reproduce the above copyright
00011  *    notice, this list of conditions and the following disclaimer in the
00012  *    documentation and/or other materials provided with the distribution.
00013  * 3. Neither the name of the University nor the names of its contributors
00014  *    may be used to endorse or promote products derived from this software
00015  *    without specific prior written permission.
00016  *
00017  * THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY AND CONTRIBUTORS ``AS IS'' AND
00018  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00019  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
00020  * ARE DISCLAIMED.  IN NO EVENT SHALL THE UNIVERSITY OR CONTRIBUTORS BE LIABLE
00021  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
00022  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
00023  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
00024  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
00025  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
00026  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
00027  * SUCH DAMAGE.
00028  */
00029 
00030 #ifndef _TEST_H_
00031 #define _TEST_H_
00032 
00033 /*
00034  * Declarations for test code and other miscellaneous high-level
00035  * functions.
00036  */
00037 
00038 
00039 /* This is only actually available if OPT_SYNCHPROBS is set. */
00040 int whalemating(int, char **);
00041 
00042 #ifdef UW
00043 int catmouse(int, char **);
00044 #endif
00045 
00046 /*
00047  * Test code.
00048  */
00049 
00050 /* lib tests */
00051 int arraytest(int, char **);
00052 int bitmaptest(int, char **);
00053 int queuetest(int, char **);
00054 
00055 /* thread tests */
00056 int threadtest(int, char **);
00057 int threadtest2(int, char **);
00058 int threadtest3(int, char **);
00059 int semtest(int, char **);
00060 int locktest(int, char **);
00061 int cvtest(int, char **);
00062 
00063 #ifdef UW
00064 /* Another thread and synchronization test */
00065 int uwlocktest1(int, char **);
00066 /* Used to test uw-vmstats */
00067 int uwvmstatstest(int, char **);
00068 #endif
00069 
00070 /* filesystem tests */
00071 int fstest(int, char **);
00072 int readstress(int, char **);
00073 int writestress(int, char **);
00074 int writestress2(int, char **);
00075 int createstress(int, char **);
00076 int printfile(int, char **);
00077 
00078 /* other tests */
00079 int malloctest(int, char **);
00080 int mallocstress(int, char **);
00081 int nettest(int, char **);
00082 
00083 /* Routine for running a user-level program. */
00084 int runprogram(char *progname);
00085 
00086 /* Kernel menu system. */
00087 void menu(char *argstr);
00088 
00089 /* The main function, called from start.S. */
00090 void kmain(char *bootstring);
00091 
00092 
00093 #endif /* _TEST_H_ */
 All Data Structures