diff options
author | Kenneth Graunke <kenneth@whitecape.org> | 2012-11-14 22:04:59 -0800 |
---|---|---|
committer | Kenneth Graunke <kenneth@whitecape.org> | 2013-01-03 13:40:41 -0800 |
commit | 9a4bc09db00dde770a648a9fccfc249e465bc262 (patch) | |
tree | 0a39e9ab4324a00e794c818a9d681d789306a722 | |
parent | e3db225ce9cc573921d9f7dbd4376204948c290d (diff) |
glean: Remove support for writing results databases.
At this point, Glean wasn't writing anything interesting anyway;
it was just clutter.
Since there's no need to specify a results directory on the command line
any longer, this patch also removes the -r option, making "run tests"
the default action.
This also allows us to simplify the Piglit runner framework a little:
it no longer has to pass around the results directory just to pass to
Glean.
-rw-r--r-- | framework/core.py | 3 | ||||
-rw-r--r-- | framework/gleantest.py | 11 | ||||
-rwxr-xr-x | piglit-run.py | 2 | ||||
-rw-r--r-- | tests/all.tests | 86 | ||||
-rw-r--r-- | tests/glean/environ.cpp | 65 | ||||
-rw-r--r-- | tests/glean/environ.h | 9 | ||||
-rw-r--r-- | tests/glean/main.cpp | 28 | ||||
-rw-r--r-- | tests/glean/options.cpp | 1 | ||||
-rw-r--r-- | tests/glean/options.h | 4 | ||||
-rw-r--r-- | tests/glean/tbase.h | 3 | ||||
-rw-r--r-- | tests/glean/test.cpp | 35 | ||||
-rw-r--r-- | tests/glean/test.h | 26 | ||||
-rw-r--r-- | tests/sanity.tests | 4 |
13 files changed, 51 insertions, 226 deletions
diff --git a/framework/core.py b/framework/core.py index 5a97dba6..73a238d0 100644 --- a/framework/core.py +++ b/framework/core.py @@ -573,10 +573,9 @@ class TestProfile: ##### Loaders ############################################################################# -def loadTestProfile(filename, resdir): +def loadTestProfile(filename): ns = { '__file__': filename, - 'res_dir': resdir } try: execfile(filename, ns) diff --git a/framework/gleantest.py b/framework/gleantest.py index f61f2327..1143ebfe 100644 --- a/framework/gleantest.py +++ b/framework/gleantest.py @@ -32,22 +32,15 @@ from exectest import ExecTest def gleanExecutable(): return testBinDir + 'glean' -def gleanResultDir(r_dir): - return os.path.join(r_dir, 'glean') - class GleanTest(ExecTest): globalParams = [] - def __init__(self, name, resdir): + def __init__(self, name): ExecTest.__init__(self, \ - [gleanExecutable(), "-r", os.path.join(gleanResultDir(resdir), name), + [gleanExecutable(), "-o", "-v", "-v", "-v", "-t", "+"+name]) - - if resdir[0] not in '$%': - checkDir(os.path.join(gleanResultDir(resdir), name), False) - self.name = name def run(self, valgrind): diff --git a/piglit-run.py b/piglit-run.py index ced81606..9713277b 100755 --- a/piglit-run.py +++ b/piglit-run.py @@ -185,7 +185,7 @@ def main(): for (key, value) in env.collectData().items(): json_writer.write_dict_item(key, value) - profile = core.loadTestProfile(profileFilename, resultsDir) + profile = core.loadTestProfile(profileFilename) json_writer.write_dict_key('tests') json_writer.open_dict() diff --git a/tests/all.tests b/tests/all.tests index e72e164b..8ef4e6d9 100644 --- a/tests/all.tests +++ b/tests/all.tests @@ -86,64 +86,64 @@ def add_fbo_depthstencil_tests(group, format): group[prefix + 'depthstencil-' + format + '-blit'] = PlainExecTest(['fbo-depthstencil', '-auto', 'blit', format]) glean = Group() -glean['basic'] = GleanTest('basic', res_dir) -glean['api2'] = GleanTest('api2', res_dir) -glean['makeCurrent'] = GleanTest('makeCurrent', res_dir) -glean['blendFunc'] = GleanTest('blendFunc', res_dir) -glean['bufferObject'] = GleanTest('bufferObject', res_dir) -glean['clipFlat'] = GleanTest('clipFlat', res_dir) -glean['depthStencil'] = GleanTest('depthStencil', res_dir) -glean['fbo'] = GleanTest('fbo', res_dir) -glean['fpexceptions'] = GleanTest('fpexceptions', res_dir) -glean['getString'] = GleanTest('getString', res_dir) -glean['logicOp'] = GleanTest('logicOp', res_dir) -glean['maskedClear'] = GleanTest('maskedClear', res_dir) -glean['occluquery'] = GleanTest('occluQry', res_dir) -glean['orthoPosRandTris'] = GleanTest('orthoPosRandTris', res_dir) -glean['orthoPosRandRects'] = GleanTest('orthoPosRandRects', res_dir) -glean['orthoPosTinyQuads'] = GleanTest('orthoPosTinyQuads', res_dir) -glean['orthoPosHLines'] = GleanTest('orthoPosHLines', res_dir) -glean['orthoPosVLines'] = GleanTest('orthoPosVLines', res_dir) -glean['orthoPosPoints'] = GleanTest('orthoPosPoints', res_dir) -glean['paths'] = GleanTest('paths', res_dir) -glean['pbo'] = GleanTest('pbo', res_dir) -glean['polygonOffset'] = GleanTest('polygonOffset', res_dir) -glean['pixelFormats'] = GleanTest('pixelFormats', res_dir) -glean['pointAtten'] = GleanTest('pointAtten', res_dir) -glean['pointSprite'] = GleanTest('pointSprite', res_dir) +glean['basic'] = GleanTest('basic') +glean['api2'] = GleanTest('api2') +glean['makeCurrent'] = GleanTest('makeCurrent') +glean['blendFunc'] = GleanTest('blendFunc') +glean['bufferObject'] = GleanTest('bufferObject') +glean['clipFlat'] = GleanTest('clipFlat') +glean['depthStencil'] = GleanTest('depthStencil') +glean['fbo'] = GleanTest('fbo') +glean['fpexceptions'] = GleanTest('fpexceptions') +glean['getString'] = GleanTest('getString') +glean['logicOp'] = GleanTest('logicOp') +glean['maskedClear'] = GleanTest('maskedClear') +glean['occluquery'] = GleanTest('occluQry') +glean['orthoPosRandTris'] = GleanTest('orthoPosRandTris') +glean['orthoPosRandRects'] = GleanTest('orthoPosRandRects') +glean['orthoPosTinyQuads'] = GleanTest('orthoPosTinyQuads') +glean['orthoPosHLines'] = GleanTest('orthoPosHLines') +glean['orthoPosVLines'] = GleanTest('orthoPosVLines') +glean['orthoPosPoints'] = GleanTest('orthoPosPoints') +glean['paths'] = GleanTest('paths') +glean['pbo'] = GleanTest('pbo') +glean['polygonOffset'] = GleanTest('polygonOffset') +glean['pixelFormats'] = GleanTest('pixelFormats') +glean['pointAtten'] = GleanTest('pointAtten') +glean['pointSprite'] = GleanTest('pointSprite') # exactRGBA is not included intentionally, because it's too strict and # the equivalent functionality is covered by other tests -glean['readPixSanity'] = GleanTest('readPixSanity', res_dir) -glean['scissor'] = GleanTest('scissor', res_dir) -glean['shaderAPI'] = GleanTest('shaderAPI', res_dir) -glean['stencil2'] = GleanTest('stencil2', res_dir) -glean['texCombine'] = GleanTest('texCombine', res_dir) -glean['texCube'] = GleanTest('texCube', res_dir) -glean['texEnv'] = GleanTest('texEnv', res_dir) -glean['texgen'] = GleanTest('texgen', res_dir) -glean['texRect'] = GleanTest('texRect', res_dir) -glean['texCombine4'] = GleanTest('texCombine4', res_dir) -glean['texSwizzle'] = GleanTest('texSwizzle', res_dir) -glean['texture_srgb'] = GleanTest('texture_srgb', res_dir) -glean['texUnits'] = GleanTest('texUnits', res_dir) -glean['vertArrayBGRA'] = GleanTest('vertArrayBGRA', res_dir) -glean['vertattrib'] = GleanTest('vertattrib', res_dir) +glean['readPixSanity'] = GleanTest('readPixSanity') +glean['scissor'] = GleanTest('scissor') +glean['shaderAPI'] = GleanTest('shaderAPI') +glean['stencil2'] = GleanTest('stencil2') +glean['texCombine'] = GleanTest('texCombine') +glean['texCube'] = GleanTest('texCube') +glean['texEnv'] = GleanTest('texEnv') +glean['texgen'] = GleanTest('texgen') +glean['texRect'] = GleanTest('texRect') +glean['texCombine4'] = GleanTest('texCombine4') +glean['texSwizzle'] = GleanTest('texSwizzle') +glean['texture_srgb'] = GleanTest('texture_srgb') +glean['texUnits'] = GleanTest('texUnits') +glean['vertArrayBGRA'] = GleanTest('vertArrayBGRA') +glean['vertattrib'] = GleanTest('vertattrib') def add_glsl1(name): testname = 'glsl1-' + name - glean[testname] = GleanTest('glsl1', res_dir) + glean[testname] = GleanTest('glsl1') glean[testname].env['PIGLIT_TEST'] = name execfile(testsDir + '/glean-glsl1.tests') def add_fp1(name): testname = 'fp1-' + name - glean[testname] = GleanTest('fragProg1', res_dir) + glean[testname] = GleanTest('fragProg1') glean[testname].env['PIGLIT_TEST'] = name execfile(testsDir + '/glean-fragProg1.tests') def add_vp1(name): testname = 'vp1-' + name - glean[testname] = GleanTest('vertProg1', res_dir) + glean[testname] = GleanTest('vertProg1') glean[testname].env['PIGLIT_TEST'] = name execfile(testsDir + '/glean-vertProg1.tests') diff --git a/tests/glean/environ.cpp b/tests/glean/environ.cpp index c6906772..824d24f9 100644 --- a/tests/glean/environ.cpp +++ b/tests/glean/environ.cpp @@ -59,71 +59,6 @@ Environment::Environment(Options& opt): log(cout), winSys(opt) { -# if defined(__UNIX__) - - // If running tests, first create the results directory. - // Refuse to overwrite one that already exists. - if (opt.mode == Options::run) { - if (opt.overwrite) { - // remove existing db dir - // XXX using system() probably isn't ideal - char cmd[1000]; - snprintf(cmd, 999, "rm -rf %s", opt.db1Name.c_str()); - system(cmd); - } - if (mkdir(opt.db1Name.c_str(), 0755)) { - if (errno == EEXIST) - throw DBExists(); - else - throw DBCantOpen(opt.db1Name); - } - } - -# elif defined(__MS__) - // If running tests, first create the results directory. - // Refuse to overwrite one that already exists. - if (opt.mode == Options::run) { - if (opt.overwrite) { - char cmd[1000]; -#if defined(_MSC_VER) - _snprintf(cmd, 999, "rd /s /q %s", opt.db1Name.c_str()); -#else - snprintf(cmd, 999, "rd /s /q %s", opt.db1Name.c_str()); -#endif - system(cmd); - } - if (!CreateDirectory(opt.db1Name.c_str(),0)) { - if (GetLastError() == ERROR_ALREADY_EXISTS) - throw DBExists(); - else - throw DBCantOpen(opt.db1Name); - } - } - -# endif } // Environment::Environment() -/////////////////////////////////////////////////////////////////////////////// -// Results-file access utilities -/////////////////////////////////////////////////////////////////////////////// -string -Environment::resultFileName(string& dbName, string& testName) { -# if defined(__UNIX__) - string dirName(dbName + '/' + testName); - if (mkdir(dirName.c_str(), 0755)) { - if (errno != EEXIST) - throw DBCantOpen(dirName); - } - string fileName(dirName + "/results"); -# elif defined(__MS__) - string dirName(dbName + '/' + testName); - if (!CreateDirectory(dirName.c_str(),0)) { - if (GetLastError() != ERROR_ALREADY_EXISTS) - throw DBCantOpen(dirName); - } - string fileName(dirName + "/results"); -# endif - return fileName; -} // Environment::resultFileName - } // namespace GLEAN diff --git a/tests/glean/environ.h b/tests/glean/environ.h index b8e4a50b..2970c7f5 100644 --- a/tests/glean/environ.h +++ b/tests/glean/environ.h @@ -69,15 +69,6 @@ class Environment { WindowSystem winSys; // The window system providing the OpenGL // implementation under test. - - string resultFileName(string& dbName, string& testName); - // Return name of results file for given - // test. Suitable for opening a stream. - // XXX Creates results directory as a side - // effect. Should separate this. - inline string resultFileName(string& testName) { - return resultFileName(options.db1Name, testName); - } }; // class Environment } // namespace GLEAN diff --git a/tests/glean/main.cpp b/tests/glean/main.cpp index 5b8ce1ae..91d14190 100644 --- a/tests/glean/main.cpp +++ b/tests/glean/main.cpp @@ -68,6 +68,7 @@ main(int argc, char* argv[]) { allTestNames.push_back(t->name); sort(allTestNames.begin(), allTestNames.end()); o.selectedTests = allTestNames; + o.mode = Options::run; for (int i = 1; i < argc; ++i) { if (!strcmp(argv[i], "--help")) { @@ -75,11 +76,6 @@ main(int argc, char* argv[]) { } else if (!strcmp(argv[i], "-v") || !strcmp(argv[i], "--verbose")) { ++o.verbosity; - } else if (!strcmp(argv[i], "-r") - || !strcmp(argv[i], "--run")) { - o.mode = Options::run; - ++i; - o.db1Name = mandatoryArg(argc, argv, i); } else if (!strcmp(argv[i], "-o") || !strcmp(argv[i], "--overwrite")) { o.overwrite = true; @@ -106,9 +102,6 @@ main(int argc, char* argv[]) { } } - if (o.mode == Options::notSet) - usage(argv[0]); - if (o.mode == Options::listtests) { listTests(Test::testList, o.verbosity); exit(0); @@ -157,20 +150,6 @@ main(int argc, char* argv[]) { cerr << "^ " << e.err << '\n'; exit(1); } - catch (Environment::DBExists) { - cerr << "Won't overwrite existing database " << o.db1Name - << "\n"; - exit(1); - } - catch (Environment::DBCantOpen e) { - cerr << "Can't open database directory " << *e.db << "\n"; - exit(1); - } - catch (Test::CantOpenResultsFile e) { - cerr << "Can't open results file for test " << e.testName - << " in database " << e.dbName << '\n'; - exit(1); - } catch (...) { cerr << "caught an unexpected error in main()\n"; exit(1); @@ -290,10 +269,7 @@ listTests(const Test *tests, bool verbose) { void usage(char* command) { cerr << GLEAN::versionString << '\n'; - cerr << "Usage: " << command << " mode [options]\n" -"\n" -"mode:\n" -" (-r|--run) results-directory\n" + cerr << "Usage: " << command << " [options]\n" "\n" "options:\n" " (-v|--verbose) # each occurrence increases\n" diff --git a/tests/glean/options.cpp b/tests/glean/options.cpp index a221a91a..9c393889 100644 --- a/tests/glean/options.cpp +++ b/tests/glean/options.cpp @@ -43,7 +43,6 @@ namespace GLEAN { Options::Options() { mode = notSet; verbosity = 0; - db1Name = "results"; visFilter = "1"; maxVisuals = ~0U; selectedTests.resize(0); diff --git a/tests/glean/options.h b/tests/glean/options.h index c68dc715..43321771 100644 --- a/tests/glean/options.h +++ b/tests/glean/options.h @@ -64,10 +64,6 @@ class Options { int verbosity; // Verbosity level. 0 == concise; larger // values imply more verbose output. - string db1Name; // Name of output database. - // Typically the pathname of a directory, - // provided on the command line. - string visFilter; // Filter constraining the set of visuals // (FBConfigs, pixel formats) that will be // available for test. See diff --git a/tests/glean/tbase.h b/tests/glean/tbase.h index d4f283fd..5e2feff2 100644 --- a/tests/glean/tbase.h +++ b/tests/glean/tbase.h @@ -286,8 +286,6 @@ public: WindowSystem& ws = env->winSys; try { - OutputStream os(*this); // open results file - // Select the drawing configurations for testing DrawingSurfaceFilter f(filter); vector<DrawingSurfaceConfig*> @@ -335,7 +333,6 @@ public: // Save the result results.push_back(r); - r->put(os); // if testOne, skip remaining surface configs if (testOne) diff --git a/tests/glean/test.cpp b/tests/glean/test.cpp index f94680ff..e67b33f8 100644 --- a/tests/glean/test.cpp +++ b/tests/glean/test.cpp @@ -80,39 +80,4 @@ Test::Test(const char* testName, const char *descrip, Test** thePrereqs): Test::~Test() { } // Test::~Test -/////////////////////////////////////////////////////////////////////////////// -// Stream opening utilities for results databases -/////////////////////////////////////////////////////////////////////////////// - -Test::OutputStream::OutputStream(Test& t) { - s = new ofstream(t.env->resultFileName(t.name).c_str()); - if (!*s) - throw Test::CantOpenResultsFile(t.name, t.env->options.db1Name); -} // Test::OutputStream::OutputStream - -Test::OutputStream::~OutputStream() { - s->close(); - delete s; -} // Test::OutputStream::~OutputStream - -Test::OutputStream::operator ofstream& () { - return *s; -} // Test::OutputStream::operator ::ofstream& - -Test::Input1Stream::Input1Stream(Test& t) { - s = new ifstream(t.env->resultFileName( - t.env->options.db1Name, t.name).c_str()); - if (!*s) - throw Test::CantOpenResultsFile(t.name, t.env->options.db1Name); -} // Test::Input1Stream::Input1Stream - -Test::Input1Stream::~Input1Stream() { - s->close(); - delete s; -} // Test::Input1Stream::~Input1Stream - -Test::Input1Stream::operator ifstream& () { - return *s; -} // Test::Input1Stream::operator ::ifstream& - } // namespace GLEAN diff --git a/tests/glean/test.h b/tests/glean/test.h index d0f500b7..540faacd 100644 --- a/tests/glean/test.h +++ b/tests/glean/test.h @@ -100,32 +100,6 @@ class Test { // Exceptions: struct Error { }; // Base class for all exceptions. - struct CantOpenResultsFile: public Error { - const string& testName; - const string& dbName; - CantOpenResultsFile(const string& test, const string& db): - testName(test), dbName(db) { } - }; - - - // OutputStream and Input*Stream objects provide convenient access - // to the results database, and close the file streams automatically - // when their destructors are executed. - class OutputStream { // Open an output stream for storing results. - public: - ofstream* s; - OutputStream(Test& t); - ~OutputStream(); - operator ofstream& (); - }; - class Input1Stream { // Open db #1 input stream for reading results. - public: - ifstream* s; - Input1Stream(Test& t); - ~Input1Stream(); - operator ifstream& (); - }; - static Test* testList; // List of all test objects. Built by // constructor Test::Test(...). diff --git a/tests/sanity.tests b/tests/sanity.tests index 035cfb9f..baff0db6 100644 --- a/tests/sanity.tests +++ b/tests/sanity.tests @@ -6,8 +6,8 @@ from framework.core import * from framework.gleantest import * glean = Group() -glean['basic'] = GleanTest('basic', res_dir) -glean['readPixSanity'] = GleanTest('readPixSanity', res_dir) +glean['basic'] = GleanTest('basic') +glean['readPixSanity'] = GleanTest('readPixSanity') profile = TestProfile() profile.tests['glean'] = glean |