Update copyright to LGPL on all files
[dyninst.git] / testsuite / src / help.h
1 /*
2  * Copyright (c) 1996-2009 Barton P. Miller
3  * 
4  * We provide the Paradyn Parallel Performance Tools (below
5  * described as "Paradyn") on an AS IS basis, and do not warrant its
6  * validity or performance.  We reserve the right to update, modify,
7  * or discontinue this software at any time.  We shall have no
8  * obligation to supply such updates or modifications or any other
9  * form of support to you.
10  * 
11  * By your use of Paradyn, you understand and agree that we (or any
12  * other person or entity with proprietary rights in Paradyn) are
13  * under no obligation to provide either maintenance services,
14  * update services, notices of latent defects, or correction of
15  * defects for Paradyn.
16  * 
17  * This library is free software; you can redistribute it and/or
18  * modify it under the terms of the GNU Lesser General Public
19  * License as published by the Free Software Foundation; either
20  * version 2.1 of the License, or (at your option) any later version.
21  * 
22  * This library is distributed in the hope that it will be useful,
23  * but WITHOUT ANY WARRANTY; without even the implied warranty of
24  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
25  * Lesser General Public License for more details.
26  * 
27  * You should have received a copy of the GNU Lesser General Public
28  * License along with this library; if not, write to the Free Software
29  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
30  */
31 static void print_help()
32 {
33    fprintf(stderr, "General Information:\n");
34    fprintf(stderr, "-------------------------\n");
35    fprintf(stderr, "Usage: runTests [OPTION]...\n");
36    fprintf(stderr, "\n");
37    fprintf(stderr, "runTests is a wrapper program for running test_driver.  It monitors test_driver\n");
38    fprintf(stderr, "for crashes, and if one happens it reports the crash point and restarts\n");
39    fprintf(stderr, "test_driver.  It should be used when running multiple tests and looking for\n");
40    fprintf(stderr, "failures.\n");
41    fprintf(stderr, "\n");
42    fprintf(stderr, "Usage: test_driver [OPTION]...\n");
43    fprintf(stderr, "\n");
44    fprintf(stderr, "test_driver is the executable that loads mutators runs Dyninst/Symtab/etc.\n");
45    fprintf(stderr, "It should be used when debugging.  For example if you want to debug a single\n");
46    fprintf(stderr, "test run in gdb you should use test_driver.\n");
47    fprintf(stderr, "\n");
48    fprintf(stderr, "test_driver and runTests take the same arguments.\n");
49    fprintf(stderr, "\n");
50    fprintf(stderr, "\n");
51    fprintf(stderr, "Specifying tests to run:\n");
52    fprintf(stderr, "-------------------------\n");
53    fprintf(stderr, "\n");
54    fprintf(stderr, "You can use the following options to specify which tests should be run.  If\n");
55    fprintf(stderr, "multiple options are specified on the same command line, then options that\n");
56    fprintf(stderr, "specified the same class of thing are 'OR'd together.  Options from seperate\n");
57    fprintf(stderr, "classes are 'AND'd together when determining what tests to run.\n");
58    fprintf(stderr, "\n");
59    fprintf(stderr, "For example, the command: 'runTests -dyninst -create -low -none -gcc -g++'\n");
60    fprintf(stderr, "runs all 'Dyninst' tests in 'create' mode with optimization level 'low' or\n");
61    fprintf(stderr, "'none' and compiler 'gcc' or 'g++'.\n");
62    fprintf(stderr, "\n");
63    fprintf(stderr, "Tests\n");
64    fprintf(stderr, "  -test <test>,<test>,...           specifies test mutators to run.\n");
65    fprintf(stderr, "                                    Wildcards are valid in the test name.\n");
66    fprintf(stderr, "  -mutatee <mutatee>,<mutatee>,...  specifies test mutatees to run\n");
67    fprintf(stderr, "                                    Wildcards are valid in the mutatee name.\n");
68    fprintf(stderr, "\n");
69    fprintf(stderr, "Create/Attach modes\n");
70    fprintf(stderr, "  -create                           Run tests using create mode\n");
71    fprintf(stderr, "  -attach                           Run tests using attach mode\n");
72    fprintf(stderr, "  -rewriter                         Run tests in binary rewriter tests\n");
73    fprintf(stderr, "  -noclean                          Do no clean rewriter produced binaries\n");
74    fprintf(stderr, "  -allmode                          Run all create modes\n");
75    fprintf(stderr, "\n");
76    fprintf(stderr, "Components\n");
77    fprintf(stderr, "  -dyninst                          Run DyninstAPI tests\n");
78    fprintf(stderr, "  -symtab                           Run SymtabAPI tests\n");
79    fprintf(stderr, "  -allcomp                          Run all components\n");
80    fprintf(stderr, "\n");
81    fprintf(stderr, "Mutatee Optimization Levels\n");
82    fprintf(stderr, "  -max                              Run mutatees with max optimization\n");
83    fprintf(stderr, "  -high                             Run mutatees with high optimization\n");
84    fprintf(stderr, "  -low                              Run mutatees with low optimization\n");
85    fprintf(stderr, "  -none                             Run mutatees with no optimization\n");
86    fprintf(stderr, "  -allopt                           Run all optimization levels\n");
87    fprintf(stderr, "\n");
88    fprintf(stderr, "Mutatee Compilers\n");
89    fprintf(stderr, "  -<compiler name>                  Run mutatees compiled with <compiler name>\n");
90    fprintf(stderr, "                                    Valid choices for <compiler name> are:\n");
91    fprintf(stderr, "                                    gcc, g++, g77, icc, icpc, pgcc, pgCC, \n");
92    fprintf(stderr, "                                    cc, CC, cxx, VC, VC++, sun_cc, xlc, xlC,\n");
93    fprintf(stderr, "                                    ibm_as, masm, nasm, nocompiler\n");
94    fprintf(stderr, "  -allcompilers                     Run all compilers\n");
95    fprintf(stderr, "\n");
96    fprintf(stderr, "ABIs\n");
97    fprintf(stderr, "  -32                               Run mutatees that use a 32 bit ABI\n");
98    fprintf(stderr, "  -64                               Run mutatees that use a 64 bit ABI\n");
99    fprintf(stderr, "\n");
100    fprintf(stderr, "Other\n");
101    fprintf(stderr, "  -all                              The same as '-allmode', '-allcomp', and \n");
102    fprintf(stderr, "                                    '-allcompilers'.\n");
103    fprintf(stderr, "  -full                             Same as '-all', but adds '-allopt'.\n");
104    fprintf(stderr, "\n");
105    fprintf(stderr, "\n");
106    fprintf(stderr, "Test Output Levels\n");
107    fprintf(stderr, "------------------\n");
108    fprintf(stderr, "  -log [logfile]                    Outputs test logging information to \n");
109    fprintf(stderr, "                                    'logfile'.  This contains debug \n");
110    fprintf(stderr, "                                    information that may be relevant to why \n");
111    fprintf(stderr, "                                    tests pass or fail.  If logfile is not\n");
112    fprintf(stderr, "                                    present then output is sent to stderr\n");
113    fprintf(stderr, "  -v+\n");
114    fprintf(stderr, "  -v++\n");
115    fprintf(stderr, "  -verbose                          These options control output levels of\n");
116    fprintf(stderr, "                                    debug information from test_driver.  These\n");
117    fprintf(stderr, "                                    are useful for debugging problems in the\n");
118    fprintf(stderr, "                                    testing infrastructure.\n");
119    fprintf(stderr, "\n");
120    fprintf(stderr, "  -dboutput [file]                  Instead of printing human readable output, \n");
121    fprintf(stderr, "                                    test_driver should print a SQL file that\n");
122    fprintf(stderr, "                                    is suitable for submission to a database.\n");
123    fprintf(stderr, "\n");
124 }