diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/Makefile | 69 | ||||
-rw-r--r-- | test/bitvectest.cc | 66 | ||||
-rw-r--r-- | test/circletest.cc | 72 | ||||
-rw-r--r-- | test/cprintftest.cc | 163 | ||||
-rw-r--r-- | test/foo.ini | 10 | ||||
-rwxr-xr-x | test/genini.py | 72 | ||||
-rw-r--r-- | test/initest.cc | 142 | ||||
-rw-r--r-- | test/initest.ini | 14 | ||||
-rw-r--r-- | test/lru_test.cc | 82 | ||||
-rw-r--r-- | test/nmtest.cc | 83 | ||||
-rw-r--r-- | test/offtest.cc | 70 | ||||
-rw-r--r-- | test/paramtest.cc | 105 | ||||
-rw-r--r-- | test/rangetest.cc | 74 | ||||
-rw-r--r-- | test/sized_test.cc | 67 | ||||
-rw-r--r-- | test/stattest.cc | 560 | ||||
-rw-r--r-- | test/strnumtest.cc | 76 | ||||
-rw-r--r-- | test/symtest.cc | 77 | ||||
-rw-r--r-- | test/tokentest.cc | 81 | ||||
-rw-r--r-- | test/tracetest.cc | 54 |
19 files changed, 0 insertions, 1937 deletions
diff --git a/test/Makefile b/test/Makefile deleted file mode 100644 index 6fe0e5f48..000000000 --- a/test/Makefile +++ /dev/null @@ -1,69 +0,0 @@ -CC?= gcc -CXX?= g++ -PYTHON?=/usr/bin/env python - -CURDIR?= $(shell /bin/pwd) -SRCDIR?= $(CURDIR)/.. - -CCFLAGS= -g -O0 -MMD -I. -I$(SRCDIR) -I- -DTRACING_ON=0 -MYSQL= -I/usr/include/mysql -L/usr/lib/mysql -lmysqlclient - -VPATH=$(SRCDIR):$(CURDIR) - -default: - @echo "You must specify a target" - -base/traceflags.cc base/traceflags.hh: $(SRCDIR)/base/traceflags.py - mkdir -p base; \ - cd base; \ - $(PYTHON) $< - -bitvectest: test/bitvectest.cc - $(CXX) $(CCFLAGS) -o $@ $^ - -circletest: test/circletest.cc base/circlebuf.cc - $(CXX) $(CCFLAGS) -o $@ $^ - -cprintftest: test/cprintftest.cc base/cprintf.cc - $(CXX) $(CCFLAGS) -o $@ $^ - -initest: test/initest.cc base/str.cc base/inifile.cc base/cprintf.cc - $(CXX) $(CCFLAGS) -o $@ $^ - -lrutest: test/lru_test.cc - $(CXX) $(CCFLAGS) -o $@ $^ - -nmtest: test/nmtest.cc base/output.cc base/hostinfo.cc base/cprintf.cc base/misc.cc base/loader/object_file.cc base/loader/symtab.cc base/misc.cc base/str.cc base/loader/aout_object.cc base/loader/ecoff_object.cc base/loader/elf_object.cc - $(CXX) $(CCFLAGS) -I/n/ziff/z/binkertn/build/work/ALPHA_FS -lelf -o $@ $^ - -offtest: test/offtest.cc - $(CXX) $(CCFLAGS) -o $@ $^ - -rangetest: test/rangetest.cc base/range.cc base/str.cc - $(CXX) $(CCFLAGS) -o $@ $^ - -STATTEST+= base/cprintf.cc base/hostinfo.cc base/misc.cc base/mysql.cc -STATTEST+= base/python.cc base/str.cc base/time.cc -STATTEST+= base/statistics.cc base/stats/mysql.cc base/stats/python.cc -STATTEST+= base/stats/statdb.cc base/stats/text.cc base/stats/visit.cc -STATTEST+= test/stattest.cc -stattest: $(STATTEST) - $(CXX) $(CCFLAGS) $(MYSQL) -o $@ $^ - -strnumtest: test/strnumtest.cc base/str.cc - $(CXX) $(CCFLAGS) -o $@ $^ - -symtest: test/symtest.cc base/misc.cc base/symtab.cc base/str.cc - $(CXX) $(CCFLAGS) -o $@ $^ - -tokentest: test/tokentest.cc base/str.cc - $(CXX) $(CCFLAGS) -o $@ $^ - -TRACE+=test/tracetest.cc base/trace.cc base/trace_flags.cc base/cprintf.cc -TRACE+=base/str.cc base/misc.cc -tracetest: $(TRACE) - $(CXX) $(CCFLAGS) -o $@ $^ - -clean: - @rm -rf *test *~ .#* *.core core base -.PHONY: clean diff --git a/test/bitvectest.cc b/test/bitvectest.cc deleted file mode 100644 index 1b8c332f5..000000000 --- a/test/bitvectest.cc +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Copyright (c) 2002-2005 The Regents of The University of Michigan - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer; - * redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution; - * neither the name of the copyright holders nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include <iostream.h> - -#include <vector> - -int -main() -{ - vector<bool> v1(100); - - v1[0] = true; - v1.resize(500); - v1[100] = true; - v1[499] = true; - v1.resize(10000); - v1[9999] = true; - - cout << "v1.size() = " << v1.size() << "\n"; - for (int i = 0; i < v1.size(); i++) - if (v1[i]) - cout << "v1[" << i << "] = " << v1[i] << "\n"; - - cout << "\n"; - - vector<bool> v2 = v1; - - for (int i = 0; i < v2.size(); i++) - if (v2[i]) - cout << "v2[" << i << "] = " << v2[i] << "\n"; - - cout << "v1 " << ((v1 == v2) ? "==" : "!=") << " v2" << "\n"; - v2[8583] = true; - cout << "v1 " << ((v1 == v2) ? "==" : "!=") << " v2" << "\n"; - v1[8583] = true; - cout << "v1 " << ((v1 == v2) ? "==" : "!=") << " v2" << "\n"; - v1.resize(100000); - cout << "v1 " << ((v1 == v2) ? "==" : "!=") << " v2" << "\n"; - cout << flush; -} diff --git a/test/circletest.cc b/test/circletest.cc deleted file mode 100644 index bb15f8c64..000000000 --- a/test/circletest.cc +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Copyright (c) 2002-2005 The Regents of The University of Michigan - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer; - * redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution; - * neither the name of the copyright holders nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include <fcntl.h> -#include <iostream.h> -#include <unistd.h> - -#include "base/circlebuf.hh" - -char *strings[] = -{ "This is the first test\n", - "he went with his woman to the store\n", - "the man with the bat hit the woman with the hat\n", - "that that is is that that was\n", - "sue sells sea shells by the sea shore\n", - "go to the store and buy me some milk and bread\n", - "the friendly flight attendants spoke soothingly to the frightened passengers in their native languages\n" -}; - -const int num_strings = sizeof(strings) / sizeof(char *); - -int -main() -{ - CircleBuf buf(1024); - - for (int count = 0; count < 100; count++) - buf.write(strings[count % num_strings]); - buf.read(STDOUT_FILENO); - write(STDOUT_FILENO, "<\n", 2); - - for (int count = 0; count < 100; count++) - buf.write(strings[count % num_strings]); - buf.read(STDOUT_FILENO, 100); - write(STDOUT_FILENO, "<\n", 2); - - buf.flush(); - buf.write("asdfa asdf asd fasdf asdf\n"); - buf.write(""); - buf.write(""); - buf.write(""); - buf.write(""); - buf.write(""); - buf.write(""); - buf.read(STDOUT_FILENO); - write(STDOUT_FILENO, "<\n", 2); -} diff --git a/test/cprintftest.cc b/test/cprintftest.cc deleted file mode 100644 index 361f84028..000000000 --- a/test/cprintftest.cc +++ /dev/null @@ -1,163 +0,0 @@ -/* - * Copyright (c) 2002-2005 The Regents of The University of Michigan - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer; - * redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution; - * neither the name of the copyright holders nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include <iostream> -#include <list> -#include <string> -#include <sstream> - -#include "base/cprintf.hh" - -using namespace std; - -int -main() -{ - char foo[9]; - cprintf("%s\n", foo); - - cprintf("%shits%%s + %smisses%%s\n", "test", "test"); - cprintf("%%s%-10s %c he went home \'\"%d %#o %#x %1.5f %1.2E\n", - "hello", 'A', 1, 0xff, 0xfffffffffffffULL, 3.141592653589, 1.1e10); - - cout << cformat("%s %#x %s\n") << "hello" << 0 << "foo 0\n"; - cerr << cformat("%s %#x\n") << "hello" << 1 << "foo 1\n"; - - cprintf("another test\n"); - - stringstream buffer; - ccprintf(buffer, "%-10s %c he home \'\"%d %#o %#x %1.5f %1.2E\n", - "hello", 'A', 1, 0xff, 0xfffffffffffffULL, 3.14159265, 1.1e10); - - double f = 314159.26535897932384; - - #define ctest(x, y) printf(x, y); cprintf(x, y); cprintf("\n"); - ctest("%1.8f\n", f); - ctest("%2.8f\n", f); - ctest("%3.8f\n", f); - ctest("%4.8f\n", f); - ctest("%5.8f\n", f); - ctest("%6.8f\n", f); - ctest("%12.8f\n", f); - ctest("%1000.8f\n", f); - ctest("%1.0f\n", f); - ctest("%1.1f\n", f); - ctest("%1.2f\n", f); - ctest("%1.3f\n", f); - ctest("%1.4f\n", f); - ctest("%1.5f\n", f); - ctest("%1.6f\n", f); - ctest("%1.7f\n", f); - ctest("%1.8f\n", f); - ctest("%1.9f\n", f); - ctest("%1.10f\n", f); - ctest("%1.11f\n", f); - ctest("%1.12f\n", f); - ctest("%1.13f\n", f); - ctest("%1.14f\n", f); - ctest("%1.15f\n", f); - ctest("%1.16f\n", f); - ctest("%1.17f\n", f); - ctest("%1.18f\n", f); - - cout << "foo\n"; - - f = 0.00000026535897932384; - ctest("%1.8f\n", f); - ctest("%2.8f\n", f); - ctest("%3.8f\n", f); - ctest("%4.8f\n", f); - ctest("%5.8f\n", f); - ctest("%6.8f\n", f); - ctest("%12.8f\n", f); - ctest("%1.0f\n", f); - ctest("%1.1f\n", f); - ctest("%1.2f\n", f); - ctest("%1.3f\n", f); - ctest("%1.4f\n", f); - ctest("%1.5f\n", f); - ctest("%1.6f\n", f); - ctest("%1.7f\n", f); - ctest("%1.8f\n", f); - ctest("%1.9f\n", f); - ctest("%1.10f\n", f); - ctest("%1.11f\n", f); - ctest("%1.12f\n", f); - ctest("%1.13f\n", f); - ctest("%1.14f\n", f); - ctest("%1.15f\n", f); - ctest("%1.16f\n", f); - ctest("%1.17f\n", f); - ctest("%1.18f\n", f); - - f = 0.00000026535897932384; - ctest("%1.8e\n", f); - ctest("%2.8e\n", f); - ctest("%3.8e\n", f); - ctest("%4.8e\n", f); - ctest("%5.8e\n", f); - ctest("%6.8e\n", f); - ctest("%12.8e\n", f); - ctest("%1.0e\n", f); - ctest("%1.1e\n", f); - ctest("%1.2e\n", f); - ctest("%1.3e\n", f); - ctest("%1.4e\n", f); - ctest("%1.5e\n", f); - ctest("%1.6e\n", f); - ctest("%1.7e\n", f); - ctest("%1.8e\n", f); - ctest("%1.9e\n", f); - ctest("%1.10e\n", f); - ctest("%1.11e\n", f); - ctest("%1.12e\n", f); - ctest("%1.13e\n", f); - ctest("%1.14e\n", f); - ctest("%1.15e\n", f); - ctest("%1.16e\n", f); - ctest("%1.17e\n", f); - ctest("%1.18e\n", f); - - cout << buffer.str(); - - cout.width(0); - cout.precision(1); - cout << f << "\n"; - - string foo1 = "string test"; - cprintf("%s\n", foo1); - - stringstream foo2; - foo2 << "stringstream test"; - cprintf("%s\n", foo2); - - cprintf("%c %c\n", 'c', 65); - - cout << '9'; - return 0; -} diff --git a/test/foo.ini b/test/foo.ini deleted file mode 100644 index 534a4e001..000000000 --- a/test/foo.ini +++ /dev/null @@ -1,10 +0,0 @@ -#define JUNK -[Foo] -Foo1=89 -Foo2=384 - -[General] -Test3=89 - -[Junk] -Test4+=mia diff --git a/test/genini.py b/test/genini.py deleted file mode 100755 index 2af81fe2b..000000000 --- a/test/genini.py +++ /dev/null @@ -1,72 +0,0 @@ -#!/usr/bin/env python -# Copyright (c) 2005 The Regents of The University of Michigan -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer; -# redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution; -# neither the name of the copyright holders nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -import getopt, os, os.path, sys -from os.path import join as joinpath, realpath - -mypath = sys.path[0] -sys.path.append(joinpath(mypath, '..')) -sys.path.append(joinpath(mypath, '../python')) -sys.path.append(joinpath(mypath, '../util/pbs')) - -pathlist = [ '.' ] - -m5_build_env = {} - -try: - opts, args = getopt.getopt(sys.argv[1:], '-E:I:') - for opt,arg in opts: - if opt == '-E': - offset = arg.find('=') - if offset == -1: - name = arg - value = 'True' - else: - name = arg[:offset] - value = arg[offset+1:] - os.environ[name] = value - m5_build_env[name] = value - if opt == '-I': - pathlist.append(arg) -except getopt.GetoptError: - sys.exit('Improper Usage') - -import __main__ -__main__.m5_build_env = m5_build_env - -from m5 import * - -for path in pathlist: - AddToPath(path) - -for arg in args: - m5execfile(arg, globals()) - -if globals().has_key('root') and isinstance(root, Root): - instantiate(root) -else: - print "Instantiation skipped: no root object found." diff --git a/test/initest.cc b/test/initest.cc deleted file mode 100644 index 0c5ac2343..000000000 --- a/test/initest.cc +++ /dev/null @@ -1,142 +0,0 @@ -/* - * Copyright (c) 2002-2005 The Regents of The University of Michigan - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer; - * redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution; - * neither the name of the copyright holders nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include <iostream> -#include <fstream> -#include <string> -#include <vector> - -#include "base/inifile.hh" -#include "base/cprintf.hh" - -using namespace std; - -char *progname; - -void -usage() -{ - cout << "Usage: " << progname << " <ini file>\n"; - exit(1); -} - -#if 0 -char *defines = getenv("CONFIG_DEFINES"); -if (defines) { - char *c = defines; - while ((c = strchr(c, ' ')) != NULL) { - *c++ = '\0'; - count++; - } - count++; -} - -#endif - -int -main(int argc, char *argv[]) -{ - IniFile simConfigDB; - - progname = argv[0]; - - vector<char *> cppArgs; - - vector<char *> cpp_options; - cpp_options.reserve(argc * 2); - - for (int i = 1; i < argc; ++i) { - char *arg_str = argv[i]; - - // if arg starts with '-', parse as option, - // else treat it as a configuration file name and load it - if (arg_str[0] == '-') { - - // switch on second char - switch (arg_str[1]) { - case 'D': - case 'U': - case 'I': - // cpp options: record & pass to cpp. Note that these - // cannot have spaces, i.e., '-Dname=val' is OK, but - // '-D name=val' is not. I don't consider this a - // problem, since even though gnu cpp accepts the - // latter, other cpp implementations do not (Tru64, - // for one). - cppArgs.push_back(arg_str); - break; - - case '-': - // command-line configuration parameter: - // '--<section>:<parameter>=<value>' - - if (!simConfigDB.add(arg_str + 2)) { - // parse error - ccprintf(cerr, - "Could not parse configuration argument '%s'\n" - "Expecting --<section>:<parameter>=<value>\n", - arg_str); - exit(0); - } - break; - - default: - usage(); - } - } - else { - // no '-', treat as config file name - - if (!simConfigDB.loadCPP(arg_str, cppArgs)) { - cprintf("Error processing file %s\n", arg_str); - exit(1); - } - } - } - - string value; - -#define FIND(C, E) \ - if (simConfigDB.find(C, E, value)) \ - cout << ">" << value << "<\n"; \ - else \ - cout << "Not Found!\n" - - FIND("General", "Test2"); - FIND("Junk", "Test3"); - FIND("Junk", "Test4"); - FIND("General", "Test1"); - FIND("Junk2", "test3"); - FIND("General", "Test3"); - - cout << "\n"; - - simConfigDB.dump(); - - return 0; -} diff --git a/test/initest.ini b/test/initest.ini deleted file mode 100644 index ebf2719d8..000000000 --- a/test/initest.ini +++ /dev/null @@ -1,14 +0,0 @@ -#define JUNK -// General stuff -#define FOO(X) BAR##X -[General] - Test1=FOO(asdf) - Test2=bar - -#ifdef JUNK -[Junk] // This is the junk -Test3=yo -Test4=mama -#endif - -#include "foo.ini" diff --git a/test/lru_test.cc b/test/lru_test.cc deleted file mode 100644 index 2829163de..000000000 --- a/test/lru_test.cc +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Copyright (c) 2003-2005 The Regents of The University of Michigan - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer; - * redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution; - * neither the name of the copyright holders nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include <iostream> -#include "bhgp.hh" - -int main(void) -{ - typedef AssociativeTable<unsigned int, unsigned int> tableType; - tableType table(10, 4); // 40 entry table - - std::cout << "Initial state:" << std::endl; - table.dump(); - - std::cout << "Inserting (2, 1)" << std::endl; - table[2] = 1; - table.dump(); - - std::cout << "Inserting (5, 2)" << std::endl; - table[5] = 2; - table.dump(); - - std::cout << "Inserting (10 + 2, 3)" << std::endl; - table[10 + 2] = 3; - table.dump(); - - tableType::const_iterator i = table.find(2); - assert(i != table.end()); - std::cout << "Accessed 2: " << *i << std::endl; - table.dump(); - - i = table.find(10 + 2); - assert(i != table.end()); - std::cout << "Accessed 10 + 2: " << *i << std::endl; - table.dump(); - - i = table.find(34); - assert(i == table.end()); - - std::cout << "Inserting (2 * 10 + 2, 4)" << std::endl; - table[2 * 10 + 2] = 4; - table.dump(); - - std::cout << "Replacing (10 + 2) with 5" << std::endl; - table[10 + 2] = 5; - table.dump(); - - std::cout << "Inserting (3 * 10 + 2, 6)" << std::endl; - table[3 * 10 + 2] = 6; - table.dump(); - - std::cout << "Inserting (4 * 10 + 2, 7)" << std::endl; - table[4 * 10 + 2] = 7; - table.dump(); - - return(0); -} diff --git a/test/nmtest.cc b/test/nmtest.cc deleted file mode 100644 index e9c20d19d..000000000 --- a/test/nmtest.cc +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Copyright (c) 2002-2005 The Regents of The University of Michigan - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer; - * redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution; - * neither the name of the copyright holders nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include <iostream> -#include <string> -#include <vector> - -#include "base/loader/object_file.hh" -#include "base/loader/symtab.hh" -#include "base/misc.hh" -#include "base/str.hh" - -using namespace std; -Tick curTick; - -ostream *outputStream = &cout; - -int -main(int argc, char *argv[]) -{ - if (argc != 2 && argc != 3) - panic("usage: %s <filename> <symbol>\n", argv[0]); - - ObjectFile *obj = createObjectFile(argv[1]); - if (!obj) - panic("file not found\n"); - - SymbolTable symtab; - obj->loadGlobalSymbols(&symtab); - obj->loadLocalSymbols(&symtab); - - if (argc == 2) { - SymbolTable::ATable::const_iterator i = symtab.getAddrTable().begin(); - SymbolTable::ATable::const_iterator end = symtab.getAddrTable().end(); - while (i != end) { - cprintf("%#x %s\n", i->first, i->second); - ++i; - } - } else { - string symbol = argv[2]; - Addr address; - - if (symbol[0] == '0' && symbol[1] == 'x') { - if (to_number(symbol, address) && - symtab.findSymbol(address, symbol)) - cprintf("address = %#x, symbol = %s\n", address, symbol); - else - cprintf("address = %#x was not found\n", address); - } else { - if (symtab.findAddress(symbol, address)) - cprintf("symbol = %s address = %#x\n", symbol, address); - else - cprintf("symbol = %s was not found\n", symbol); - } - } - - return 0; -} diff --git a/test/offtest.cc b/test/offtest.cc deleted file mode 100644 index d3f035b73..000000000 --- a/test/offtest.cc +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright (c) 2002-2005 The Regents of The University of Michigan - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer; - * redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution; - * neither the name of the copyright holders nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include <sys/types.h> -#include <stddef.h> -#include <stdio.h> -#include "dev/pcireg.h" - -int -main() -{ -#define POFFSET(x) \ - printf("offsetof(PCIConfig, hdr."#x") = %d\n", \ - offsetof(PCIConfig, hdr.x)) - - POFFSET(vendor); - POFFSET(device); - POFFSET(command); - POFFSET(status); - POFFSET(revision); - POFFSET(progIF); - POFFSET(subClassCode); - POFFSET(classCode); - POFFSET(cacheLineSize); - POFFSET(latencyTimer); - POFFSET(headerType); - POFFSET(bist); - POFFSET(pci0.baseAddr0); - POFFSET(pci0.baseAddr1); - POFFSET(pci0.baseAddr2); - POFFSET(pci0.baseAddr3); - POFFSET(pci0.baseAddr4); - POFFSET(pci0.baseAddr5); - POFFSET(pci0.cardbusCIS); - POFFSET(pci0.subsystemVendorID); - POFFSET(pci0.expansionROM); - POFFSET(pci0.reserved0); - POFFSET(pci0.reserved1); - POFFSET(pci0.interruptLine); - POFFSET(pci0.interruptPin); - POFFSET(pci0.minimumGrant); - POFFSET(pci0.minimumLatency); - - return 0; -} diff --git a/test/paramtest.cc b/test/paramtest.cc deleted file mode 100644 index cb31c49d5..000000000 --- a/test/paramtest.cc +++ /dev/null @@ -1,105 +0,0 @@ -/* - * Copyright (c) 2002-2005 The Regents of The University of Michigan - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer; - * redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution; - * neither the name of the copyright holders nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -// -// This file is not part of the regular simulator. It is solely for -// testing the parameter code. Edit the Makefile to add param_test.cc -// to the sources list, then use configs/test.ini as the configuration -// file. -// -#include "sim/sim_object.hh" -#include "mem/cache/cache.hh" - -class ParamTest : public SimObject -{ - public: - ParamTest(string name) - : SimObject(name) - { - } - - virtual ~ParamTest() {} -}; - -enum Enum1Type { Enum0 }; -enum Enum2Type { Enum10 }; - -BEGIN_DECLARE_SIM_OBJECT_PARAMS(ParamTest) - - Param<int> intparam; - VectorParam<int> vecint; - Param<string> stringparam; - VectorParam<string> vecstring; - Param<bool> boolparam; - VectorParam<bool> vecbool; - SimObjectParam<BaseMemory *> memobj; - SimObjectVectorParam<BaseMemory *> vecmemobj; - SimpleEnumParam<Enum1Type> enum1; - MappedEnumParam<Enum2Type> enum2; - SimpleEnumVectorParam<Enum1Type> vecenum1; - MappedEnumVectorParam<Enum2Type> vecenum2; - -END_DECLARE_SIM_OBJECT_PARAMS(ParamTest) - -const char *enum1_strings[] = -{ - "zero", "one", "two", "three" -}; - -const EnumParamMap enum2_map[] = -{ - { "ten", 10 }, - { "twenty", 20 }, - { "thirty", 30 }, - { "forty", 40 } -}; - -BEGIN_INIT_SIM_OBJECT_PARAMS(ParamTest) - - INIT_PARAM(intparam, "intparam"), - INIT_PARAM(vecint, "vecint"), - INIT_PARAM(stringparam, "stringparam"), - INIT_PARAM(vecstring, "vecstring"), - INIT_PARAM(boolparam, "boolparam"), - INIT_PARAM(vecbool, "vecbool"), - INIT_PARAM(memobj, "memobj"), - INIT_PARAM(vecmemobj, "vecmemobj"), - INIT_ENUM_PARAM(enum1, "enum1", enum1_strings), - INIT_ENUM_PARAM(enum2, "enum2", enum2_map), - INIT_ENUM_PARAM(vecenum1, "vecenum1", enum1_strings), - INIT_ENUM_PARAM(vecenum2, "vecenum2", enum2_map) - -END_INIT_SIM_OBJECT_PARAMS(ParamTest) - - -CREATE_SIM_OBJECT(ParamTest) -{ - return new ParamTest(getInstanceName()); -} - -REGISTER_SIM_OBJECT("ParamTest", ParamTest) diff --git a/test/rangetest.cc b/test/rangetest.cc deleted file mode 100644 index 41d438f48..000000000 --- a/test/rangetest.cc +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Copyright (c) 2002-2005 The Regents of The University of Michigan - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer; - * redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution; - * neither the name of the copyright holders nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include <iostream> -#include <string> - -#include "base/range.hh" - -using namespace std; - -int -main() -{ - Range<int> r1(make_pair(9, 28)); - Range<unsigned> r2("0x1000:+0x100"); - - cout << r1 << "\n" - << r2 << "\n"; - -#define RANGETEST(X, C, Y) \ - cout << X << " "#C" " << Y << " => " << ((X C Y) ? "true" : "false") << "\n" - -#define TESTEM(X, Y) do { \ - RANGETEST(X, < , Y); \ - RANGETEST(X, <=, Y); \ - RANGETEST(X, > , Y); \ - RANGETEST(X, >=, Y); \ - RANGETEST(X, ==, Y); \ - RANGETEST(X, !=, Y); \ - RANGETEST(Y, < , X); \ - RANGETEST(Y, <=, X); \ - RANGETEST(Y, > , X); \ - RANGETEST(Y, >=, X); \ - RANGETEST(Y, ==, X); \ - RANGETEST(Y, !=, X); \ -} while (0) - - TESTEM(8, r1); - TESTEM(9, r1); - TESTEM(27, r1); - TESTEM(28, r1); - - TESTEM(0x0fff, r2); - TESTEM(0x1000, r2); - TESTEM(0x10ff, r2); - TESTEM(0x1100, r2); - - return 0; -} diff --git a/test/sized_test.cc b/test/sized_test.cc deleted file mode 100644 index 86cd13e5b..000000000 --- a/test/sized_test.cc +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright (c) 2002-2005 The Regents of The University of Michigan - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer; - * redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution; - * neither the name of the copyright holders nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include <iostream> -#include <algorithm> - -#include "sized.hh" -#include <queue> -#include <typeinfo> - -template<typename C> -void print(C &cont) -{ - std::cout << std::endl; - std::cout << "Printing " << typeid(cont).name() << std::endl; - while (!cont.empty()) { - std::cout << cont.front() << " "; - cont.pop(); - } - std::cout << std::endl; -} - -int main(void) -{ - sized<std::queue<int>, sized_error_policy<std::queue<int> > > - error_queue(10); - sized<std::queue<int>, sized_drop_policy<std::queue<int> > > - drop_queue(5); - - for (int i = 0; i < 10; ++i) { - error_queue.push(i); - } - - for (int i = 0; i < 3; ++i) { - drop_queue.push(i); - } - - print(error_queue); - print(drop_queue); - - return(0); -} diff --git a/test/stattest.cc b/test/stattest.cc deleted file mode 100644 index b944eff45..000000000 --- a/test/stattest.cc +++ /dev/null @@ -1,560 +0,0 @@ -/* - * Copyright (c) 2003-2005 The Regents of The University of Michigan - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer; - * redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution; - * neither the name of the copyright holders nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include <iomanip> -#include <iostream> -#include <fstream> -#include <string> -#include <unistd.h> - -#include "base/cprintf.hh" -#include "base/misc.hh" -#include "base/statistics.hh" -#include "base/stats/text.hh" -#include "base/stats/mysql.hh" -#include "sim/host.hh" - -using namespace std; -using namespace Stats; - -Tick curTick = 0; -Tick ticksPerSecond = ULL(2000000000); - -Scalar<> s1; -Scalar<> s2; -Average<> s3; -Scalar<MainBin> s4; -Vector<MainBin> s5; -Distribution<MainBin> s6; -Vector<MainBin> s7; -AverageVector<> s8; -StandardDeviation<> s9; -AverageDeviation<> s10; -Scalar<> s11; -Distribution<> s12; -VectorDistribution<> s13; -VectorStandardDeviation<> s14; -VectorAverageDeviation<> s15; -Vector2d<> s16; - -Formula f1; -Formula f2; -Formula f3; -Value f4; -Value f5; -Formula f6; -Formula f7; - -MainBin bin1("bin1"); -MainBin bin2("bin2"); - -ostream *outputStream = &cout; - -double -testfunc() -{ - return 9.8; -} - -class TestClass { - public: - double operator()() { return 9.7; } -}; - -char *progname = ""; - -void -usage() -{ - panic("incorrect usage.\n" - "usage:\n" - "\t%s [-t [-c] [-d]]\n", progname); -} - -int -main(int argc, char *argv[]) -{ - bool descriptions = false; - bool compat = false; - bool text = false; - string mysql_name; - string mysql_host; - string mysql_user = "binkertn"; - string mysql_passwd; - - char c; - progname = argv[0]; - while ((c = getopt(argc, argv, "cdh:P:p:s:tu:")) != -1) { - switch (c) { - case 'c': - compat = true; - break; - case 'd': - descriptions = true; - break; - case 'h': - mysql_host = optarg; - break; - case 'P': - mysql_passwd = optarg; - break; - case 's': - mysql_name = optarg; - break; - case 't': - text = true; - break; - case 'u': - mysql_user = optarg; - break; - default: - usage(); - } - } - - if (!text && (compat || descriptions)) - usage(); - - s5.init(5); - s6.init(1, 100, 13); - s7.init(7); - s8.init(10); - s12.init(1, 100, 13); - s13.init(4, 0, 99, 10); - s14.init(9); - s15.init(10); - s16.init(2, 9); - - s1 - .name("Stat01") - .desc("this is statistic 1") - ; - - s2 - .name("Stat02") - .desc("this is statistic 2") - .prereq(s11) - ; - - s3 - .name("Stat03") - .desc("this is statistic 3") - .prereq(f7) - ; - - s4 - .name("Stat04") - .desc("this is statistic 4") - .prereq(s11) - ; - - s5 - .name("Stat05") - .desc("this is statistic 5") - .prereq(s11) - .subname(0, "foo1") - .subname(1, "foo2") - .subname(2, "foo3") - .subname(3, "foo4") - .subname(4, "foo5") - ; - - s6 - .name("Stat06") - .desc("this is statistic 6") - .prereq(s11) - ; - - s7 - .name("Stat07") - .desc("this is statistic 7") - .precision(1) - .flags(pdf | total) - .prereq(s11) - ; - - s8 - .name("Stat08") - .desc("this is statistic 8") - .precision(2) - .prereq(s11) - .subname(4, "blarg") - ; - - s9 - .name("Stat09") - .desc("this is statistic 9") - .precision(4) - .prereq(s11) - ; - - s10 - .name("Stat10") - .desc("this is statistic 10") - .prereq(s11) - ; - - s12 - .name("Stat12") - .desc("this is statistic 12") - ; - - s13 - .name("Stat13") - .desc("this is statistic 13") - ; - - s14 - .name("Stat14") - .desc("this is statistic 14") - ; - - s15 - .name("Stat15") - .desc("this is statistic 15") - ; - - s16 - .name("Stat16") - .desc("this is statistic 16") - .flags(total) - .subname(0, "sub0") - .subname(1, "sub1") - .ysubname(0, "y0") - .ysubname(1, "y1") - ; - - f1 - .name("Formula1") - .desc("this is formula 1") - .prereq(s11) - ; - - f2 - .name("Formula2") - .desc("this is formula 2") - .prereq(s11) - .precision(1) - ; - - f3 - .name("Formula3") - .desc("this is formula 3") - .prereq(s11) - .subname(0, "bar1") - .subname(1, "bar2") - .subname(2, "bar3") - .subname(3, "bar4") - .subname(4, "bar5") - ; - - f4 - .functor(testfunc) - .name("Formula4") - .desc("this is formula 4") - ; - - TestClass testclass; - f5 - .functor(testclass) - .name("Formula5") - .desc("this is formula 5") - ; - - f6 - .name("Formula6") - .desc("this is formula 6") - ; - - f1 = s1 + s2; - f2 = (-s1) / (-s2) * (-s3 + ULL(100) + s4); - f3 = sum(s5) * s7; - f6 += constant(10.0); - f6 += s5[3]; - f7 = constant(1); - - check(); - reset(); - - bin1.activate(); - - s16[1][0] = 1; - s16[0][1] = 3; - s16[0][0] = 2; - s16[1][1] = 9; - s16[1][1] += 9; - s16[1][8] += 8; - s16[1][7] += 7; - s16[1][6] += 6; - s16[1][5] += 5; - s16[1][4] += 4; - - s11 = 1; - s3 = 9; - s8[3] = 9; - s15[0].sample(1234); - s15[1].sample(1234); - s15[2].sample(1234); - s15[3].sample(1234); - s15[4].sample(1234); - s15[5].sample(1234); - s15[6].sample(1234); - s15[7].sample(1234); - s15[8].sample(1234); - s15[9].sample(1234); - - s10.sample(1000000000); - curTick += ULL(1000000); - s10.sample(100000); - s10.sample(100000); - s10.sample(100000); - s10.sample(100000); - s10.sample(100000); - s10.sample(100000); - s10.sample(100000); - s10.sample(100000); - s10.sample(100000); - s10.sample(100000); - s10.sample(100000); - s10.sample(100000); - s10.sample(100000); - s13[0].sample(12); - s13[1].sample(29); - s13[2].sample(12); - s13[3].sample(29); - s13[0].sample(42); - s13[1].sample(29); - s13[2].sample(42); - s13[3].sample(32); - s13[0].sample(52); - s13[1].sample(49); - s13[2].sample(42); - s13[3].sample(25); - s13[0].sample(32); - s13[1].sample(49); - s13[2].sample(22); - s13[3].sample(49); - s13[0].sample(62); - s13[1].sample(99); - s13[2].sample(72); - s13[3].sample(23); - s13[0].sample(52); - s13[1].sample(78); - s13[2].sample(69); - s13[3].sample(49); - - s14[0].sample(1234); - s14[1].sample(4134); - s14[4].sample(1213); - s14[3].sample(1124); - s14[2].sample(1243); - s14[7].sample(1244); - s14[4].sample(7234); - s14[2].sample(9234); - s14[3].sample(1764); - s14[7].sample(1564); - s14[3].sample(3234); - s14[1].sample(2234); - s14[5].sample(1234); - s14[2].sample(4334); - s14[2].sample(1234); - s14[4].sample(4334); - s14[6].sample(1234); - s14[8].sample(8734); - s14[1].sample(5234); - s14[3].sample(8234); - s14[7].sample(5234); - s14[4].sample(4434); - s14[3].sample(7234); - s14[2].sample(1934); - s14[1].sample(9234); - s14[5].sample(5634); - s14[3].sample(1264); - s14[7].sample(5223); - s14[0].sample(1234); - s14[0].sample(5434); - s14[3].sample(8634); - s14[1].sample(1234); - - - s15[0].sample(1234); - s15[1].sample(4134); - curTick += ULL(1000000); - s15[4].sample(1213); - curTick += ULL(1000000); - s15[3].sample(1124); - curTick += ULL(1000000); - s15[2].sample(1243); - curTick += ULL(1000000); - s15[7].sample(1244); - curTick += ULL(1000000); - s15[4].sample(7234); - s15[2].sample(9234); - s15[3].sample(1764); - s15[7].sample(1564); - s15[3].sample(3234); - s15[1].sample(2234); - curTick += ULL(1000000); - s15[5].sample(1234); - curTick += ULL(1000000); - s15[9].sample(4334); - curTick += ULL(1000000); - s15[2].sample(1234); - curTick += ULL(1000000); - s15[4].sample(4334); - s15[6].sample(1234); - curTick += ULL(1000000); - s15[8].sample(8734); - curTick += ULL(1000000); - s15[1].sample(5234); - curTick += ULL(1000000); - s15[3].sample(8234); - curTick += ULL(1000000); - s15[7].sample(5234); - s15[4].sample(4434); - s15[3].sample(7234); - s15[2].sample(1934); - s15[1].sample(9234); - curTick += ULL(1000000); - s15[5].sample(5634); - s15[3].sample(1264); - s15[7].sample(5223); - s15[0].sample(1234); - s15[0].sample(5434); - s15[3].sample(8634); - curTick += ULL(1000000); - s15[1].sample(1234); - - s4 = curTick; - - s8[3] = 99999; - - s3 = 12; - s3++; - curTick += 9; - - s1 = 9; - s1 += 9; - s1 -= 11; - s1++; - ++s1; - s1--; - --s1; - - s2 = 9; - - s5[0] += 1; - s5[1] += 2; - s5[2] += 3; - s5[3] += 4; - s5[4] += 5; - - s7[0] = 10; - s7[1] = 20; - s7[2] = 30; - s7[3] = 40; - s7[4] = 50; - s7[5] = 60; - s7[6] = 70; - - s6.sample(0); - s6.sample(1); - s6.sample(2); - s6.sample(3); - s6.sample(4); - s6.sample(5); - s6.sample(6); - s6.sample(7); - s6.sample(8); - s6.sample(9); - - bin2.activate(); - s6.sample(10); - s6.sample(10); - s6.sample(10); - s6.sample(10); - s6.sample(10); - s6.sample(10); - s6.sample(10); - s6.sample(10); - s6.sample(11); - s6.sample(19); - s6.sample(20); - s6.sample(20); - s6.sample(21); - s6.sample(21); - s6.sample(31); - s6.sample(98); - s6.sample(99); - s6.sample(99); - s6.sample(99); - - s7[0] = 700; - s7[1] = 600; - s7[2] = 500; - s7[3] = 400; - s7[4] = 300; - s7[5] = 200; - s7[6] = 100; - - s9.sample(100); - s9.sample(100); - s9.sample(100); - s9.sample(100); - s9.sample(10); - s9.sample(10); - s9.sample(10); - s9.sample(10); - s9.sample(10); - - curTick += 9; - s4 = curTick; - s6.sample(100); - s6.sample(100); - s6.sample(100); - s6.sample(101); - s6.sample(102); - - s12.sample(100); - - if (text) { - Text out(cout); - out.descriptions = descriptions; - out.compat = compat; - out(); - } - - if (!mysql_name.empty()) { - MySql out; - out.connect(mysql_host, mysql_user, mysql_passwd, "m5stats", - mysql_name, "test"); - out(); - } - - return 0; -} diff --git a/test/strnumtest.cc b/test/strnumtest.cc deleted file mode 100644 index a80dd7c36..000000000 --- a/test/strnumtest.cc +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Copyright (c) 2002-2005 The Regents of The University of Michigan - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer; - * redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution; - * neither the name of the copyright holders nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include <iostream.h> - -#include <string> -#include <vector> - -#include "base/str.hh" - -using namespace std; - -int -main(int argc, char *argv[]) -{ - if (argc != 2) { - cout << "Usage: " << argv[0] << " <number>\n"; - exit(1); - } - - string s = argv[1]; - -#define OUTVAL(valtype, type) do { \ - valtype value; \ - cout << "TYPE = " #valtype "\n"; \ - if (to_number(s, value)) { \ - cout << "Number(" << s << ") = " << dec \ - << (unsigned long long)(unsigned type)value << "\n" \ - << "Number(" << s << ") = " << dec \ - << (signed long long)(signed type)value << "\n" \ - << "Number(" << s << ") = 0x" << hex \ - << (unsigned long long)(unsigned type)value << "\n" \ - << "Number(" << s << ") = 0" << oct \ - << (unsigned long long)(unsigned type)value << "\n\n"; \ - } else \ - cout << "Number(" << s << ") is invalid\n\n"; \ - } while (0) - - OUTVAL(signed long long, long long); - OUTVAL(unsigned long long, long long); - OUTVAL(signed long, long); - OUTVAL(unsigned long, long); - OUTVAL(signed int, int); - OUTVAL(unsigned int, int); - OUTVAL(signed short, short); - OUTVAL(unsigned short, short); - OUTVAL(signed char, char); - OUTVAL(unsigned char, char); - - return 0; -} diff --git a/test/symtest.cc b/test/symtest.cc deleted file mode 100644 index 5fba71736..000000000 --- a/test/symtest.cc +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Copyright (c) 2002-2005 The Regents of The University of Michigan - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer; - * redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution; - * neither the name of the copyright holders nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include <iostream.h> - -#include "base/str.hh" -#include "base/loader/symtab.hh" - -Tick curTick = 0; - -void -usage(const char *progname) -{ - cout << "Usage: " << progname << " <symbol file> <symbol>" << endl; - - exit(1); -} - -int -main(int argc, char *argv[]) -{ - SymbolTable symtab; - - if (argc != 3) - usage(argv[0]); - - if (!symtab.load(argv[1])) { - cout << "could not load symbol file: " << argv[1] << endl; - exit(1); - } - - string symbol = argv[2]; - Addr address; - - if (!to_number(symbol, address)) { - if (!symtab.findAddress(symbol, address)) { - cout << "could not find symbol: " << symbol << endl; - exit(1); - } - - cout << symbol << " -> " << "0x" << hex << address << endl; - } else { - if (!symtab.findSymbol(address, symbol)) { - cout << "could not find address: " << address << endl; - exit(1); - } - - cout << "0x" << hex << address << " -> " << symbol<< endl; - } - - return 0; -} diff --git a/test/tokentest.cc b/test/tokentest.cc deleted file mode 100644 index 7f27d58fe..000000000 --- a/test/tokentest.cc +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Copyright (c) 2002-2005 The Regents of The University of Michigan - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer; - * redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution; - * neither the name of the copyright holders nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include <iostream> -#include <string> -#include <vector> - -#include "base/str.hh" - -int -main(int argc, char *argv[]) -{ - using namespace std; - - if (argc != 3) { - cout << "Usage: " << argv[0] << " <string> <token>\n"; - exit(1); - } - - int i; - string test = argv[1]; - vector<string> tokens1; - vector<string> tokens2; - char token = argv[2][0]; - - cout << "string = \"" << test << "\", token = \'" << token << "\'\n"; - cout << "testing without ignore\n"; - tokenize(tokens1, test, token, false); - - if (tokens1.size()) { - int size = tokens1.size(); - cout << "size = " << size << "\n"; - for (i = 0; i < size; i++) { - cout << "'" << tokens1[i] << "' (" << tokens1[i].size() - << ")" << ((i == size - 1) ? "\n" : ", "); - } - } else { - cout << "no tokens" << endl; - } - - cout << "testing with ignore\n"; - tokenize(tokens2, test, token, true); - - if (tokens2.size()) { - int size = tokens2.size(); - cout << "size = " << size << "\n"; - for (i = 0; i < size; i++) { - cout << "'" << tokens2[i] << "' (" << tokens2[i].size() - << ")" << ((i == size - 1) ? "\n" : ", "); - } - } else { - cout << "no tokens" << endl; - } - - return 0; -} diff --git a/test/tracetest.cc b/test/tracetest.cc deleted file mode 100644 index 866b67d9b..000000000 --- a/test/tracetest.cc +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright (c) 2003-2005 The Regents of The University of Michigan - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer; - * redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution; - * neither the name of the copyright holders nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include "sim/host.hh" -#include "base/trace.hh" - -using namespace std; - -Tick curTick = 0; - -struct foo -{ - foo() - { - char foo[9] = "testing"; - DPRINTF(Loader, "%s\n", foo); - } -}; - -int -main() -{ - Trace::flags[Trace::Loader] = true; - Trace::dprintf_stream = &cout; - - foo f; - - return 0; -} |