CalcExtRegExpTest Class Reference

Inheritance diagram for CalcExtRegExpTest:

TestBase TraceSource TraceTarget List of all members.

Public Member Functions

 CalcExtRegExpTest ()
virtual ~CalcExtRegExpTest ()
TestSuitereleaseTestSuite ()
void beforeTestCase (std::string testCaseName)
void afterTestCase (std::string testCaseName)
virtual void testCaseSetUp ()
 Equivalent to JUnit TestCase.setUp; this is called before each test case method is invoked.
virtual void testCaseTearDown ()
 Equivalent to JUnit TestCase.tearDown; this is called after each test case method is invoked.
virtual void notifyTrace (std::string source, TraceLevel level, std::string message)
 Receives notification when a trace event occurs.
virtual TraceLevel getSourceTraceLevel (std::string source)
 Gets the level at which a particular source should be traced.
virtual void initTraceSource (SharedTraceTarget pTraceTarget, std::string name)
 For use when initialization has to be deferred until after construction.
void trace (TraceLevel level, std::string message) const
 Records a trace message.
bool isTracing () const
 
Returns:
true iff tracing is enabled for this source

bool isTracingLevel (TraceLevel level) const
 Determines whether a particular level is being traced.
TraceTargetgetTraceTarget () const
 
Returns:
the TraceTarget for this source

SharedTraceTarget getSharedTraceTarget () const
 
Returns:
the SharedTraceTarget for this source

std::string getTraceSourceName () const
 Gets the name of this source.
void setTraceSourceName (std::string const &n)
 Sets the name of this source.
TraceLevel getMinimumTraceLevel () const
void disableTracing ()

Static Public Member Functions

static void readParams (int argc, char **argv)
 Parses the command line.

Static Public Attributes

static ParamName paramTestSuiteName
static ParamName paramTraceFileName
static ParamName paramDictionaryFileName
static ParamName paramTraceLevel
static ParamName paramStatsFileName
static ParamName paramTraceStdout
static ParamName paramDegreeOfParallelism
static ConfigMap configMap
 Configuration parameters.

Protected Member Functions

void snooze (uint nSeconds)

Protected Attributes

TestSuitepTestSuite
 Boost test suite.
boost::shared_ptr< TestBasepTestObj
std::ofstream traceStream
 Output file stream for tracing.
StrictMutex traceMutex
 Protects traceStream.
std::string testName
 Name of test.
TraceLevel traceLevel
 Level at which to trace test execution.
FileStatsTarget statsTarget
 Output for stats.
StatsTimer statsTimer
 Timer for stats collection.
bool traceStdout
 Copy trace output to stdout.
bool traceFile
 Copy trace output to file.
TestCaseGroup defaultTests
TestCaseGroup extraTests

Static Protected Attributes

static bool runAll
 Run all test cases, including the extra tests.
static std::string runSingle
 Run only the test case of this name.

Private Member Functions

void testCalcExtRegExpLikeAVarChar ()
void testCalcExtRegExpLikeAChar ()
void testCalcExtRegExpSimilarAVarChar ()
void testCalcExtRegExpSimilarAChar ()
void likeHelper (TupleDataWithBuffer const &outTuple, bool const *exp, int validoutputs, int nulloutputs, deque< CalcMessage > dq)
void similarHelper (TupleDataWithBuffer const &outTuple, bool const *exp, int validoutputs, int nulloutputs, deque< CalcMessage > dq)
int cmpTupStr (TupleDatum const &tup, char const *const str)
int cmpTupInt (TupleDatum const &tup, int val)
int cmpTupBool (TupleDatum const &tup, bool val)
int cmpTupNull (TupleDatum const &tup)
void printOutput (TupleData const &tup, Calculator const &calc)
void refLocalOutput (ostringstream &pg, int count)

Static Private Attributes

static const char * truncErr
static const char * substrErr

Detailed Description

Definition at line 43 of file CalcExtRegExpTest.cpp.


Constructor & Destructor Documentation

CalcExtRegExpTest::CalcExtRegExpTest (  )  [inline, explicit]

Definition at line 90 of file CalcExtRegExpTest.cpp.

References CalcInit::instance(), testCalcExtRegExpLikeAChar(), testCalcExtRegExpLikeAVarChar(), testCalcExtRegExpSimilarAChar(), and testCalcExtRegExpSimilarAVarChar().

00091         : TraceSource(shared_from_this(), "CalcExtRegExpTest")
00092     {
00093         srand(time(NULL));
00094         CalcInit::instance();
00095         FENNEL_UNIT_TEST_CASE(CalcExtRegExpTest, testCalcExtRegExpLikeAVarChar);
00096         FENNEL_UNIT_TEST_CASE(CalcExtRegExpTest, testCalcExtRegExpLikeAChar);
00097         FENNEL_UNIT_TEST_CASE(
00098             CalcExtRegExpTest, testCalcExtRegExpSimilarAVarChar);
00099         FENNEL_UNIT_TEST_CASE(CalcExtRegExpTest, testCalcExtRegExpSimilarAChar);
00100     }

virtual CalcExtRegExpTest::~CalcExtRegExpTest (  )  [inline, virtual]

Definition at line 102 of file CalcExtRegExpTest.cpp.

00103     {
00104     }


Member Function Documentation

void CalcExtRegExpTest::testCalcExtRegExpLikeAVarChar (  )  [private]

Definition at line 226 of file CalcExtRegExpTest.cpp.

References Calculator::assemble(), Calculator::bind(), Calculator::exec(), Calculator::getInputRegisterDescriptor(), FennelExcn::getMessage(), Calculator::getOutputRegisterDescriptor(), likeHelper(), Calculator::mWarnings, printOutput(), refLocalOutput(), and stringToHex().

Referenced by CalcExtRegExpTest().

00227 {
00228     ostringstream pg(""), outloc(""), constants("");
00229     int i;
00230     int outputs = 23;
00231 
00232     bool exp[40];
00233     BOOST_REQUIRE((sizeof(exp) / sizeof(bool)) >= outputs);
00234 
00235     for (i = 0; i < outputs - 1; i++) {
00236         outloc << "bo, ";
00237     }
00238     outloc << "bo;" << endl;
00239     // strings in [0-9], null in [10]
00240 
00241     for (i = 0; i <= 9; i++) {
00242         constants << "vc,5, ";
00243     }
00244     constants << "vc,5;" << endl;
00245 
00246     pg << "O " << outloc.str();
00247     pg << "L " << outloc.str();
00248     pg << "C " << constants.str();
00249     pg << "V 0x" << stringToHex("_");  // 0
00250     pg << ", 0x" << stringToHex("%");  // 1
00251     pg << ", 0x" << stringToHex("=");  // 2
00252     pg << ", 0x" << stringToHex("=_"); // 3
00253     pg << ", 0x" << stringToHex("=%"); // 4
00254     pg << ", 0x" << stringToHex("ab"); // 5
00255     pg << ", 0x" << stringToHex("ba"); // 6
00256     pg << ", 0x" << stringToHex("a%"); // 7
00257     pg << ", 0x" << stringToHex("a_"); // 8
00258     pg << ", 0x" << stringToHex("");   // 9
00259     pg << ",;" << endl;                // 10
00260     pg << "T;" << endl;
00261 
00262     // try to intersperse true and false returns to
00263     // catch off-by-one errors in checking results.
00264 
00265     // (result, matchValue, pattern, escape)
00266     // no escape
00267     pg << "CALL 'strLikeA3(L0, C5, C1);" << endl; exp[0] = true;
00268     pg << "CALL 'strLikeA3(L1, C5, C0);" << endl; exp[1] = false;
00269     pg << "CALL 'strLikeA3(L2, C5, C7);" << endl; exp[2] = true;
00270     pg << "CALL 'strLikeA3(L3, C6, C7);" << endl; exp[3] = false;
00271     pg << "CALL 'strLikeA3(L4, C5, C8);" << endl; exp[4] = true;
00272     pg << "CALL 'strLikeA3(L5, C6, C8);" << endl; exp[5] = false;
00273     pg << "CALL 'strLikeA3(L6, C0, C0);" << endl; exp[6] = true;
00274     pg << "CALL 'strLikeA3(L7, C0, C1);" << endl; exp[7] = true;
00275 
00276     // escape
00277     pg << "CALL 'strLikeA4(L8, C5, C0, C2);" << endl; exp[8] = false;
00278     pg << "CALL 'strLikeA4(L9, C5, C1, C2);" << endl; exp[9] = true;
00279     pg << "CALL 'strLikeA4(L10, C5, C3, C2);" << endl; exp[10] = false;
00280     pg << "CALL 'strLikeA4(L11, C0, C3, C2);" << endl; exp[11] = true;
00281     pg << "CALL 'strLikeA4(L12, C5, C4, C2);" << endl; exp[12] = false;
00282     pg << "CALL 'strLikeA4(L13, C0, C4, C2);" << endl; exp[13] = false;
00283     pg << "CALL 'strLikeA4(L14, C1, C4, C2);" << endl; exp[14] = true;
00284     int validoutputs = 15;
00285 
00286     // null cases no escape
00287     pg << "CALL 'strLikeA3(L15, C10, C1);" << endl;
00288     pg << "CALL 'strLikeA3(L16, C5, C10);" << endl;
00289 
00290     // null cases escape
00291     pg << "CALL 'strLikeA4(L17, C10, C1, C2);" << endl;
00292     pg << "CALL 'strLikeA4(L18, C5, C10, C2);" << endl;
00293     pg << "CALL 'strLikeA4(L19, C5, C1, C10);" << endl;
00294     int nulloutputs = 20;
00295 
00296     // exception cases
00297     // 22019 -- invalid escape character, >1 char in escape
00298     pg << "CALL 'strLikeA4(L20, C5, C1, C4);" << endl;
00299     // 22019 -- invalid escape character, 0 char in escape
00300     pg << "CALL 'strLikeA4(L21, C5, C1, C9);" << endl;
00301     // 22025 -- invalid escape sequence, end pattern w/escape
00302     pg << "CALL 'strLikeA4(L22, C5, C2, C2);" << endl;
00303 
00304 
00305     refLocalOutput(pg, outputs);
00306 
00307     Calculator calc(0);
00308 
00309     try {
00310         calc.assemble(pg.str().c_str());
00311     } catch (FennelExcn& ex) {
00312         BOOST_MESSAGE("Assemble exception " << ex.getMessage());
00313         BOOST_MESSAGE(pg.str());
00314         BOOST_FAIL("assembler error");
00315     }
00316 
00317     TupleDataWithBuffer outTuple(calc.getOutputRegisterDescriptor());
00318     TupleDataWithBuffer inTuple(calc.getInputRegisterDescriptor());
00319 
00320     calc.bind(&inTuple, &outTuple);
00321     calc.exec();
00322     printOutput(outTuple, calc);
00323 
00324     likeHelper(
00325         outTuple, exp, validoutputs, nulloutputs,
00326         calc.mWarnings);
00327 
00328 
00329     // run twice to check that cached regex is, at least at first
00330     // glance, working correctly.
00331     calc.exec();
00332     likeHelper(
00333         outTuple, exp, validoutputs, nulloutputs,
00334         calc.mWarnings);
00335 }

void CalcExtRegExpTest::testCalcExtRegExpLikeAChar (  )  [private]

Definition at line 338 of file CalcExtRegExpTest.cpp.

References Calculator::assemble(), Calculator::bind(), cmpTupBool(), Calculator::exec(), Calculator::getInputRegisterDescriptor(), FennelExcn::getMessage(), Calculator::getOutputRegisterDescriptor(), Calculator::mWarnings, printOutput(), refLocalOutput(), and stringToHex().

Referenced by CalcExtRegExpTest().

00339 {
00340     ostringstream pg("");
00341 
00342     pg << "O bo, bo, bo, bo, bo, bo, bo, bo;" << endl;
00343     pg << "L bo, bo, bo, bo, bo, bo, bo, bo;" << endl;
00344     pg << "C c,1, c,2, c,1, vc,1, vc,2, vc,1;" << endl;
00345     pg << "V 0x" << stringToHex("%");  // 0
00346     pg << ", 0x" << stringToHex("ab"); // 1
00347     pg << ", 0x" << stringToHex("=");  // 2
00348     pg << ", 0x" << stringToHex("%");  // 3
00349     pg << ", 0x" << stringToHex("ab"); // 4
00350     pg << ", 0x" << stringToHex("=");  // 5
00351     pg << ";" << endl;
00352     pg << "T;" << endl;
00353 
00354     // all char case: (result, matchValue, pattern, escape)
00355     pg << "CALL 'strLikeA4(L0, C1, C0, C2);" << endl;  // true
00356     pg << "CALL 'strLikeA4(L1, C0, C1, C2);" << endl;  // false
00357 
00358     // all char case: (result, matchValue, pattern)
00359     pg << "CALL 'strLikeA3(L2, C1, C0);" << endl;  // true
00360     pg << "CALL 'strLikeA3(L3, C0, C1);" << endl;  // false
00361 
00362     // mixed char/var cases: (result, matchValue, pattern, escape)
00363     pg << "CALL 'strLikeA4(L4, C1, C3, C2);" << endl;  // true
00364     pg << "CALL 'strLikeA4(L5, C4, C0, C2);" << endl;  // true
00365 
00366     // all char case: (result, matchValue, pattern)
00367     pg << "CALL 'strLikeA3(L6, C1, C3);" << endl;  // true
00368     pg << "CALL 'strLikeA3(L7, C4, C0);" << endl;  // true
00369 
00370     refLocalOutput(pg, 8);
00371 
00372     Calculator calc(0);
00373 
00374     try {
00375         calc.assemble(pg.str().c_str());
00376     } catch (FennelExcn& ex) {
00377         BOOST_MESSAGE("Assemble exception " << ex.getMessage());
00378         BOOST_MESSAGE(pg.str());
00379         BOOST_FAIL("assembler error");
00380     }
00381 
00382     TupleDataWithBuffer outTuple(calc.getOutputRegisterDescriptor());
00383     TupleDataWithBuffer inTuple(calc.getInputRegisterDescriptor());
00384 
00385     calc.bind(&inTuple, &outTuple);
00386     calc.exec();
00387     printOutput(outTuple, calc);
00388 
00389     int i;
00390     BOOST_CHECK(calc.mWarnings.begin() == calc.mWarnings.end());
00391     for (i = 0; i < 8; i++) {
00392         if (i == 1 || i == 3) {
00393             BOOST_CHECK_EQUAL(0, cmpTupBool(outTuple[i], false));
00394         } else {
00395             BOOST_CHECK_EQUAL(0, cmpTupBool(outTuple[i], true));
00396         }
00397     }
00398 
00399     // run twice to check that cached regex is, at least at first
00400     // glance, working correctly.
00401     calc.exec();
00402     BOOST_CHECK(calc.mWarnings.begin() == calc.mWarnings.end());
00403     for (i = 0; i < 8; i++) {
00404         if (i == 1 || i == 3) {
00405             BOOST_CHECK_EQUAL(0, cmpTupBool(outTuple[i], false));
00406         } else {
00407             BOOST_CHECK_EQUAL(0, cmpTupBool(outTuple[i], true));
00408         }
00409     }
00410 }

void CalcExtRegExpTest::testCalcExtRegExpSimilarAVarChar (  )  [private]

Definition at line 472 of file CalcExtRegExpTest.cpp.

References Calculator::assemble(), Calculator::bind(), Calculator::exec(), Calculator::getInputRegisterDescriptor(), FennelExcn::getMessage(), Calculator::getOutputRegisterDescriptor(), Calculator::mWarnings, printOutput(), refLocalOutput(), similarHelper(), and stringToHex().

Referenced by CalcExtRegExpTest().

00473 {
00474     ostringstream pg(""), outloc(""), constants("");
00475     int i;
00476     int outputs = 26;
00477 
00478     bool exp[40];
00479     BOOST_REQUIRE((sizeof(exp) / sizeof(bool)) >= outputs);
00480 
00481     for (i = 0; i < outputs - 1; i++) {
00482         outloc << "bo, ";
00483     }
00484     outloc << "bo;" << endl;
00485     // strings in [0-9], null in [10]
00486 
00487     for (i = 0; i <= 14; i++) {
00488         constants << "vc,20, ";
00489     }
00490     constants << "vc,20;" << endl;
00491 
00492     pg << "O " << outloc.str();
00493     pg << "L " << outloc.str();
00494     pg << "C " << constants.str();
00495     pg << "V 0x" << stringToHex("_");  // 0
00496     pg << ", 0x" << stringToHex("%");  // 1
00497     pg << ", 0x" << stringToHex("=");  // 2
00498     pg << ", 0x" << stringToHex("=_"); // 3
00499     pg << ", 0x" << stringToHex("=%"); // 4
00500     pg << ", 0x" << stringToHex("ab"); // 5
00501     pg << ", 0x" << stringToHex("ba"); // 6
00502     pg << ", 0x" << stringToHex("a%"); // 7
00503     pg << ", 0x" << stringToHex("a_"); // 8
00504     pg << ", 0x" << stringToHex("");   // 9
00505     pg << ", 0x" << stringToHex(":");  // 10
00506     pg << ", 0x" << stringToHex("[[:ALPHA:]]");   // 11
00507     pg << ", 0x" << stringToHex("=a"); // 12
00508     pg << ", 0x" << stringToHex("%a"); // 13
00509     pg << ", 0x" << stringToHex("{}"); // 14
00510     pg << ",;" << endl;                // 15
00511     pg << "T;" << endl;
00512 
00513     // try to intersperse true and false returns to
00514     // catch off-by-one errors in checking results.
00515 
00516     // (result, matchValue, pattern, escape)
00517     // no escape
00518     pg << "CALL 'strSimilarA3(L0, C5, C1);" << endl; exp[0] = true;
00519     pg << "CALL 'strSimilarA3(L1, C5, C0);" << endl; exp[1] = false;
00520     pg << "CALL 'strSimilarA3(L2, C5, C7);" << endl; exp[2] = true;
00521     pg << "CALL 'strSimilarA3(L3, C6, C7);" << endl; exp[3] = false;
00522     pg << "CALL 'strSimilarA3(L4, C5, C8);" << endl; exp[4] = true;
00523     pg << "CALL 'strSimilarA3(L5, C6, C8);" << endl; exp[5] = false;
00524     pg << "CALL 'strSimilarA3(L6, C0, C0);" << endl; exp[6] = true;
00525     pg << "CALL 'strSimilarA3(L7, C0, C1);" << endl; exp[7] = true;
00526 
00527     // escape
00528     pg << "CALL 'strSimilarA4(L8, C5, C0, C2);" << endl; exp[8] = false;
00529     pg << "CALL 'strSimilarA4(L9, C5, C1, C2);" << endl; exp[9] = true;
00530     pg << "CALL 'strSimilarA4(L10, C5, C3, C2);" << endl; exp[10] = false;
00531     pg << "CALL 'strSimilarA4(L11, C0, C3, C2);" << endl; exp[11] = true;
00532     pg << "CALL 'strSimilarA4(L12, C5, C4, C2);" << endl; exp[12] = false;
00533     pg << "CALL 'strSimilarA4(L13, C0, C4, C2);" << endl; exp[13] = false;
00534     pg << "CALL 'strSimilarA4(L14, C1, C4, C2);" << endl; exp[14] = true;
00535     int validoutputs = 15;
00536 
00537     // null cases
00538     pg << "CALL 'strSimilarA3(L15, C15, C1);" << endl;
00539     pg << "CALL 'strSimilarA3(L16, C5, C15);" << endl;
00540 
00541     pg << "CALL 'strSimilarA4(L17, C15, C1, C9);" << endl;
00542     pg << "CALL 'strSimilarA4(L18, C5, C15, C9);" << endl;
00543     pg << "CALL 'strSimilarA4(L19, C5, C1, C15);" << endl;
00544     int nulloutputs = 20;
00545 
00546     // exception cases
00547     // 2200B -- escape character conflict (: as escape)
00548     pg << "CALL 'strSimilarA4(L20, C5, C11, C10);" << endl;
00549     // 22019 -- invalid escape character, >1 char in escape
00550     pg << "CALL 'strSimilarA4(L21, C5, C1, C4);" << endl;
00551     // 22019 -- invalid escape character, 0 char in escape
00552     pg << "CALL 'strSimilarA4(L22, C5, C1, C9);" << endl;
00553     // 2201B -- invalid regular expression, end pattern w/escape
00554     pg << "CALL 'strSimilarA4(L23, C5, C2, C2);" << endl;
00555     // 2201C -- invalid use of escape character, special char is escape & used
00556     pg << "CALL 'strSimilarA4(L24, C5, C13, C1);" << endl;
00557     // 2201B -- invalid regular expression, caught by regex, not SqlSimilarPrep
00558     pg << "CALL 'strSimilarA4(L25, C5, C14, C1);" << endl;
00559 
00560 
00561     refLocalOutput(pg, outputs);
00562 
00563     Calculator calc(0);
00564 
00565     try {
00566         calc.assemble(pg.str().c_str());
00567     } catch (FennelExcn& ex) {
00568         BOOST_MESSAGE("Assemble exception " << ex.getMessage());
00569         BOOST_MESSAGE(pg.str());
00570         BOOST_FAIL("assembler error");
00571     }
00572 
00573     TupleDataWithBuffer outTuple(calc.getOutputRegisterDescriptor());
00574     TupleDataWithBuffer inTuple(calc.getInputRegisterDescriptor());
00575 
00576     calc.bind(&inTuple, &outTuple);
00577     calc.exec();
00578     printOutput(outTuple, calc);
00579 
00580     similarHelper(
00581         outTuple, exp, validoutputs, nulloutputs,
00582         calc.mWarnings);
00583 
00584 
00585     // run twice to check that cached regex is, at least at first
00586     // glance, working correctly.
00587     calc.exec();
00588     similarHelper(
00589         outTuple, exp, validoutputs, nulloutputs,
00590         calc.mWarnings);
00591 }

void CalcExtRegExpTest::testCalcExtRegExpSimilarAChar (  )  [private]

Definition at line 594 of file CalcExtRegExpTest.cpp.

References Calculator::assemble(), Calculator::bind(), cmpTupBool(), Calculator::exec(), Calculator::getInputRegisterDescriptor(), FennelExcn::getMessage(), Calculator::getOutputRegisterDescriptor(), Calculator::mWarnings, printOutput(), refLocalOutput(), and stringToHex().

Referenced by CalcExtRegExpTest().

00595 {
00596     ostringstream pg("");
00597 
00598     pg << "O bo, bo, bo, bo, bo, bo, bo, bo;" << endl;
00599     pg << "L bo, bo, bo, bo, bo, bo, bo, bo;" << endl;
00600     pg << "C c,1, c,2, c,1, vc,1, vc,2, vc,1 ;" << endl;
00601     pg << "V 0x" << stringToHex("%");  // 0
00602     pg << ", 0x" << stringToHex("ab"); // 1
00603     pg << ", 0x" << stringToHex("=");  // 2
00604     pg << ", 0x" << stringToHex("%");  // 3
00605     pg << ", 0x" << stringToHex("ab"); // 4
00606     pg << ", 0x" << stringToHex("=");  // 5
00607     pg << ";" << endl;
00608     pg << "T;" << endl;
00609 
00610     // all char case: (result, matchValue, pattern, escape)
00611     pg << "CALL 'strSimilarA4(L0, C1, C0, C2);" << endl;
00612     pg << "CALL 'strSimilarA4(L1, C0, C1, C2);" << endl;
00613 
00614     // all char case: (result, matchValue, pattern)
00615     pg << "CALL 'strSimilarA3(L2, C1, C0);" << endl;
00616     pg << "CALL 'strSimilarA3(L3, C0, C1);" << endl;
00617 
00618     // mixed char/var cases: (result, matchValue, pattern, escape)
00619     pg << "CALL 'strSimilarA4(L4, C1, C3, C2);" << endl;  // true
00620     pg << "CALL 'strSimilarA4(L5, C4, C0, C2);" << endl;  // true
00621 
00622     // all char case: (result, matchValue, pattern)
00623     pg << "CALL 'strSimilarA3(L6, C1, C3);" << endl;  // true
00624     pg << "CALL 'strSimilarA3(L7, C4, C0);" << endl;  // true
00625 
00626     refLocalOutput(pg, 8);
00627 
00628     Calculator calc(0);
00629 
00630     try {
00631         calc.assemble(pg.str().c_str());
00632     } catch (FennelExcn& ex) {
00633         BOOST_MESSAGE("Assemble exception " << ex.getMessage());
00634         BOOST_MESSAGE(pg.str());
00635         BOOST_FAIL("assembler error");
00636     }
00637 
00638     TupleDataWithBuffer outTuple(calc.getOutputRegisterDescriptor());
00639     TupleDataWithBuffer inTuple(calc.getInputRegisterDescriptor());
00640 
00641     calc.bind(&inTuple, &outTuple);
00642     calc.exec();
00643     printOutput(outTuple, calc);
00644 
00645     int i;
00646     BOOST_CHECK(calc.mWarnings.begin() == calc.mWarnings.end());
00647     for (i = 0; i < 8; i++) {
00648         if (i == 1 || i == 3) {
00649             BOOST_CHECK_EQUAL(0, cmpTupBool(outTuple[i], false));
00650         } else {
00651             BOOST_CHECK_EQUAL(0, cmpTupBool(outTuple[i], true));
00652         }
00653     }
00654 
00655     // run twice to check that cached regex is, at least at first
00656     // glance, working correctly.
00657     calc.exec();
00658     BOOST_CHECK(calc.mWarnings.begin() == calc.mWarnings.end());
00659     for (i = 0; i < 8; i++) {
00660         if (i == 1 || i == 3) {
00661             BOOST_CHECK_EQUAL(0, cmpTupBool(outTuple[i], false));
00662         } else {
00663             BOOST_CHECK_EQUAL(0, cmpTupBool(outTuple[i], true));
00664         }
00665     }
00666 }

void CalcExtRegExpTest::likeHelper ( TupleDataWithBuffer const &  outTuple,
bool const *  exp,
int  validoutputs,
int  nulloutputs,
deque< CalcMessage dq 
) [private]

Definition at line 180 of file CalcExtRegExpTest.cpp.

References cmpTupBool(), and cmpTupNull().

Referenced by testCalcExtRegExpLikeAVarChar().

00186 {
00187     int i;
00188     deque<CalcMessage>::iterator iter = dq.begin();
00189     deque<CalcMessage>::iterator end = dq.end();
00190 
00191     for (i = 0; i < validoutputs; i++) {
00192         if (cmpTupBool(outTuple[i], exp[i])) {
00193             BOOST_MESSAGE("error on valid output [" << i << "]");
00194         }
00195         BOOST_CHECK_EQUAL(0, cmpTupBool(outTuple[i], exp[i]));
00196     }
00197 
00198     for (i = validoutputs; i < nulloutputs; i++) {
00199         if (!cmpTupNull(outTuple[i])) {
00200             BOOST_MESSAGE("error on null output [" << i << "]");
00201         }
00202         BOOST_CHECK_EQUAL(1, cmpTupNull(outTuple[i]));
00203     }
00204     BOOST_CHECK(iter != end);
00205     BOOST_CHECK_EQUAL(iter->pc, nulloutputs);
00206     BOOST_CHECK_EQUAL(0, strcmp(iter->str, "22019"));
00207     iter++;
00208     BOOST_CHECK(iter != end);
00209 
00210     BOOST_CHECK(iter != end);
00211     BOOST_CHECK_EQUAL(iter->pc, nulloutputs + 1);
00212     BOOST_CHECK_EQUAL(0, strcmp(iter->str, "22019"));
00213     iter++;
00214     BOOST_CHECK(iter != end);
00215 
00216     BOOST_CHECK_EQUAL(iter->pc, nulloutputs + 2);
00217     BOOST_CHECK_EQUAL(0, strcmp(iter->str, "22025"));
00218     iter++;
00219     BOOST_CHECK(iter == end);
00220 
00221 }

void CalcExtRegExpTest::similarHelper ( TupleDataWithBuffer const &  outTuple,
bool const *  exp,
int  validoutputs,
int  nulloutputs,
deque< CalcMessage dq 
) [private]

Definition at line 413 of file CalcExtRegExpTest.cpp.

References cmpTupBool(), and cmpTupNull().

Referenced by testCalcExtRegExpSimilarAVarChar().

00419 {
00420     int i;
00421     deque<CalcMessage>::iterator iter = dq.begin();
00422     deque<CalcMessage>::iterator end = dq.end();
00423 
00424     for (i = 0; i < validoutputs; i++) {
00425         if (cmpTupBool(outTuple[i], exp[i])) {
00426             BOOST_MESSAGE("error on valid output [" << i << "]");
00427         }
00428         BOOST_CHECK_EQUAL(0, cmpTupBool(outTuple[i], exp[i]));
00429     }
00430 
00431     for (i = validoutputs; i < nulloutputs; i++) {
00432         if (!cmpTupNull(outTuple[i])) {
00433             BOOST_MESSAGE("error on null output [" << i << "]");
00434         }
00435         BOOST_CHECK_EQUAL(1, cmpTupNull(outTuple[i]));
00436     }
00437     int exceptionPc = nulloutputs;
00438 
00439     BOOST_CHECK(iter != end);
00440     BOOST_CHECK_EQUAL(iter->pc, exceptionPc++);
00441     BOOST_CHECK_EQUAL(0, strcmp(iter->str, "2200B"));
00442     iter++;
00443     BOOST_CHECK(iter != end);
00444 
00445     BOOST_CHECK_EQUAL(iter->pc, exceptionPc++);
00446     BOOST_CHECK_EQUAL(0, strcmp(iter->str, "22019"));
00447     iter++;
00448     BOOST_CHECK(iter != end);
00449 
00450     BOOST_CHECK_EQUAL(iter->pc, exceptionPc++);
00451     BOOST_CHECK_EQUAL(0, strcmp(iter->str, "22019"));
00452     iter++;
00453     BOOST_CHECK(iter != end);
00454 
00455     BOOST_CHECK_EQUAL(iter->pc, exceptionPc++);
00456     BOOST_CHECK_EQUAL(0, strcmp(iter->str, "2201B"));
00457     iter++;
00458     BOOST_CHECK(iter != end);
00459 
00460     BOOST_CHECK_EQUAL(iter->pc, exceptionPc++);
00461     BOOST_CHECK_EQUAL(0, strcmp(iter->str, "2200C"));
00462     iter++;
00463 
00464     BOOST_CHECK_EQUAL(iter->pc, exceptionPc++);
00465     BOOST_CHECK_EQUAL(0, strcmp(iter->str, "2201B"));
00466     iter++;
00467     BOOST_CHECK(iter == end);
00468 }

int CalcExtRegExpTest::cmpTupStr ( TupleDatum const &  tup,
char const *const  str 
) [private]

Definition at line 114 of file CalcExtRegExpTest.cpp.

References TupleDatum::cbData, and TupleDatum::pData.

00117 {
00118     int len = strlen(str);
00119     BOOST_CHECK_EQUAL(len, tup.cbData);
00120     return strncmp(
00121         reinterpret_cast<char *>(const_cast<PBuffer>(tup.pData)),
00122         str,
00123         len);
00124 }

int CalcExtRegExpTest::cmpTupInt ( TupleDatum const &  tup,
int  val 
) [private]

Definition at line 127 of file CalcExtRegExpTest.cpp.

References TupleDatum::pData.

00130 {
00131     return *(reinterpret_cast<int*>
00132              (const_cast<PBuffer>(tup.pData))) - val;
00133 }

int CalcExtRegExpTest::cmpTupBool ( TupleDatum const &  tup,
bool  val 
) [private]

Definition at line 136 of file CalcExtRegExpTest.cpp.

References TupleDatum::pData.

Referenced by likeHelper(), similarHelper(), testCalcExtRegExpLikeAChar(), and testCalcExtRegExpSimilarAChar().

00139 {
00140     return *(reinterpret_cast<bool*>
00141              (const_cast<PBuffer>(tup.pData))) != val;
00142 }

int CalcExtRegExpTest::cmpTupNull ( TupleDatum const &  tup  )  [private]

Definition at line 145 of file CalcExtRegExpTest.cpp.

References TupleDatum::pData.

Referenced by likeHelper(), and similarHelper().

00146 {
00147     if ((const_cast<PBuffer>(tup.pData)) == NULL) {
00148         return 1;
00149     }
00150     return 0;
00151 }

void CalcExtRegExpTest::printOutput ( TupleData const &  tup,
Calculator const &  calc 
) [private]

Definition at line 155 of file CalcExtRegExpTest.cpp.

References Calculator::getOutputRegisterDescriptor(), and TuplePrinter::print().

Referenced by testCalcExtRegExpLikeAChar(), testCalcExtRegExpLikeAVarChar(), testCalcExtRegExpSimilarAChar(), and testCalcExtRegExpSimilarAVarChar().

00158 {
00159 #if 0
00160     TuplePrinter tuplePrinter;
00161     tuplePrinter.print(cout, calc.getOutputRegisterDescriptor(), tup);
00162     cout << endl;
00163 #endif
00164 }

void CalcExtRegExpTest::refLocalOutput ( ostringstream &  pg,
int  count 
) [private]

Definition at line 168 of file CalcExtRegExpTest.cpp.

Referenced by testCalcExtRegExpLikeAChar(), testCalcExtRegExpLikeAVarChar(), testCalcExtRegExpSimilarAChar(), and testCalcExtRegExpSimilarAVarChar().

00171 {
00172     int i;
00173 
00174     for (i = 0; i < count; i++) {
00175         pg << "REF O" << i << ", L" << i << ";" << endl;
00176     }
00177 }

void TestBase::snooze ( uint  nSeconds  )  [protected, inherited]

Definition at line 263 of file TestBase.cpp.

Referenced by DatabaseTest::executeForceTxn(), ThreadedTestBase::runThreadedTestCase(), PagingTestBase::testCacheResize(), BTreeTxnTest::testCheckpoint(), PagingTestBase::testCheckpointGuarded(), PagingTestBase::testPrefetch(), and PagingTestBase::testPrefetchBatch().

00264 {
00265 #ifdef __MSVC__
00266     ::_sleep(nSeconds*1000);
00267 #else
00268     ::sleep(nSeconds);
00269 #endif
00270 }

void TestBase::readParams ( int  argc,
char **  argv 
) [static, inherited]

Parses the command line.

format: [-v] [-t TEST | -all] {param=val}* [CONFIGFILE | -] Normally, the test program runs the default test cases. With the option "-all", runs the extra test cases as well. With the option "-t TEST", runs only the single test case named TEST. CONFIGFILE is read to load configuration parameters. Configuration parameters can also be set ad hoc, from the command line, as pairs name=val. These take precedence.

Definition at line 108 of file TestBase.cpp.

References TestBase::configMap, ConfigMap::dumpParams(), ConfigMap::isParamSet(), ConfigMap::mergeFrom(), TestBase::paramDictionaryFileName, ConfigMap::readParams(), TestBase::runAll, TestBase::runSingle, ConfigMap::setStringParam(), and verbose.

00109 {
00110     bool verbose = false;
00111     ConfigMap adhocMap;
00112 
00113     for (int i = 1; i < argc; ++i) {
00114         std::string arg = argv[i];
00115         if (argv[i][0] == '-') {
00116             if (arg == "-v") {
00117                 verbose = true;
00118             } else if (arg == "-") {
00119                 configMap.readParams(std::cin);
00120             } else if (arg == "-all") {
00121                 runAll = true;
00122             } else if (arg == "-t") {   // -t TEST
00123                 permAssert(i + 1 < argc);
00124                 runSingle = argv[++i];
00125             } else if (arg[1] == 't') { // allow -tTEST
00126                 runSingle = arg.substr(2);
00127             }
00128         } else {
00129             int i = arg.find("=");
00130             if ((0 < i) && (i < arg.size())) {
00131                 // an ad hoc parameter
00132                 std::string key = arg.substr(0,i);
00133                 std::string val = arg.substr(i + 1);
00134                 adhocMap.setStringParam(key,val);
00135             } else {
00136                 // a config file name
00137                 std::ifstream configFile(arg.c_str());
00138                 assert(configFile.good());
00139                 configMap.readParams(configFile);
00140             }
00141         }
00142     }
00143     configMap.mergeFrom(adhocMap);
00144 
00145     // set a default dictionary file location for use by tests that need a
00146     // small non-random sorted data set
00147     if (!configMap.isParamSet(paramDictionaryFileName)) {
00148         std::string dictFileName = "dictWords";
00149         configMap.setStringParam(paramDictionaryFileName,dictFileName);
00150     }
00151 
00152     if (verbose) {
00153         configMap.dumpParams(std::cout);
00154     }
00155 }

TestSuite * TestBase::releaseTestSuite (  )  [inherited]

Definition at line 157 of file TestBase.cpp.

References TestBase::TestCaseGroup::addAllToTestSuite(), TestBase::defaultTests, TestBase::extraTests, TestBase::TestCaseGroup::findTest(), TestBase::pTestObj, TestBase::pTestSuite, TestBase::runAll, TestBase::runSingle, and TestBase::testName.

00158 {
00159     assert(pTestObj);
00160     assert(pTestObj.use_count() > 1);
00161 
00162     // release self-reference now that all test cases have been registered
00163     pTestObj.reset();
00164 
00165     TestSuite* pTestSuite = BOOST_TEST_SUITE(testName.c_str());
00166 
00167     if (runSingle.size()) {
00168         test_unit *p =  defaultTests.findTest(runSingle);
00169         if (!p) {
00170             p = extraTests.findTest(runSingle);
00171         }
00172         if (!p) {
00173             std::cerr << "test " << runSingle << " not found\n";
00174             exit(2);
00175         }
00176         pTestSuite->add(p);
00177     } else {
00178         defaultTests.addAllToTestSuite(pTestSuite);
00179         if (runAll) {
00180             extraTests.addAllToTestSuite(pTestSuite);
00181         }
00182     }
00183     return pTestSuite;
00184 }

void TestBase::beforeTestCase ( std::string  testCaseName  )  [inherited]

Definition at line 214 of file TestBase.cpp.

References TestBase::configMap, TraceSource::initTraceSource(), AutoBacktrace::install(), TestBase::notifyTrace(), AutoBacktrace::setOutputStream(), AutoBacktrace::setTraceTarget(), TestBase::testName, and TRACE_INFO.

00215 {
00216     notifyTrace(testName,TRACE_INFO,"ENTER:  " + testCaseName);
00217 
00218     // Install the AutoBacktrace signal handler now, after
00219     // boost::execution_monitor::catch_signals() has installed its own, so that
00220     // on SIGABRT AutoBacktrace goes first, prints the backtrace, then chains
00221     // to boost, which handles the error.
00222     AutoBacktrace::setOutputStream();
00223     AutoBacktrace::setTraceTarget(shared_from_this());
00224     AutoBacktrace::install();
00225     configMap.initTraceSource(shared_from_this(), "testConfig");
00226 }

void TestBase::afterTestCase ( std::string  testCaseName  )  [inherited]

Definition at line 228 of file TestBase.cpp.

References TestBase::configMap, TraceSource::disableTracing(), TestBase::notifyTrace(), AutoBacktrace::setTraceTarget(), TestBase::testName, and TRACE_INFO.

00229 {
00230     AutoBacktrace::setTraceTarget();
00231     configMap.disableTracing();
00232     notifyTrace(testName,TRACE_INFO,"LEAVE:  " + testCaseName);
00233 }

void TestBase::testCaseSetUp (  )  [virtual, inherited]

Equivalent to JUnit TestCase.setUp; this is called before each test case method is invoked.

Default is no-op.

Reimplemented in LbmEntryTest, LbmExecStreamTestBase, LbmLoadBitmapTest, LbmSearchTest, LbmSplicerExecStreamTest, LcsClusterAppendExecStreamTest, LcsClusterReplaceExecStreamTest, LcsMultiClusterAppendTest, LcsRowScanExecStreamTest, BTreeReadersTest, BTreeTest, BTreeTxnTest, ExecStreamGovernorTest, ExecStreamTestBase, ExecStreamUnitTestBase, ExternalSortExecStreamTest, LhxHashTableTest, LogicalTxnTest, and SnapshotSegmentTestBase.

Definition at line 235 of file TestBase.cpp.

Referenced by ExecStreamTestBase::testCaseSetUp().

00236 {
00237 }

void TestBase::testCaseTearDown (  )  [virtual, inherited]

Equivalent to JUnit TestCase.tearDown; this is called after each test case method is invoked.

Default is no-op.

Reimplemented in LbmEntryTest, LbmLoadBitmapTest, LbmSearchTest, LcsClusterAppendExecStreamTest, LcsClusterReplaceExecStreamTest, LcsMultiClusterAppendTest, LcsRowScanExecStreamTest, BTreeReadersTest, BTreeTest, BTreeTxnTest, CacheTestBase, DatabaseTest, ExecStreamTestBase, LhxHashTableTest, RandomAccessFileDeviceTest, and SparseBitmapTest.

Definition at line 239 of file TestBase.cpp.

Referenced by SparseBitmapTest::testCaseTearDown().

00240 {
00241 }

void TestBase::notifyTrace ( std::string  source,
TraceLevel  level,
std::string  message 
) [virtual, inherited]

Receives notification when a trace event occurs.

Parameters:
source the facility from which the message originated
level the trace event severity level
message the text of the message

Implements TraceTarget.

Definition at line 243 of file TestBase.cpp.

References TestBase::traceFile, TestBase::traceMutex, TestBase::traceStdout, and TestBase::traceStream.

Referenced by TestBase::afterTestCase(), and TestBase::beforeTestCase().

00244 {
00245     if (traceFile || traceStdout) {
00246         StrictMutexGuard traceMutexGuard(traceMutex);
00247         if (traceFile) {
00248             traceStream << "[" << source << "] " << message << std::endl;
00249             traceStream.flush();
00250         }
00251         if (traceStdout) {
00252             std::cout << "[" << source << "] " << message << std::endl;
00253             std::cout.flush();
00254         }
00255     }
00256 }

TraceLevel TestBase::getSourceTraceLevel ( std::string  source  )  [virtual, inherited]

Gets the level at which a particular source should be traced.

Parameters:
source name of source to be traced
Returns:
minimum severity level which should be traced

Implements TraceTarget.

Definition at line 258 of file TestBase.cpp.

References TestBase::traceLevel.

Referenced by LbmExecStreamTestBase::generateBitmaps().

00259 {
00260     return traceLevel;
00261 }

void TraceSource::initTraceSource ( SharedTraceTarget  pTraceTarget,
std::string  name 
) [virtual, inherited]

For use when initialization has to be deferred until after construction.

Parameters:
pTraceTarget the TraceTarget to which messages will be sent
name the name of this source

Definition at line 46 of file TraceSource.cpp.

References TraceSource::isTracing(), TraceSource::minimumLevel, TraceSource::name, TraceSource::pTraceTarget, and TRACE_OFF.

Referenced by TestBase::beforeTestCase(), TestBase::TestBase(), and TraceSource::TraceSource().

00049 {
00050     assert(!pTraceTarget.get());
00051 
00052     pTraceTarget = pTraceTargetInit;
00053     name = nameInit;
00054     if (isTracing()) {
00055         minimumLevel = pTraceTarget->getSourceTraceLevel(name);
00056     } else {
00057         minimumLevel = TRACE_OFF;
00058     }
00059 }

void TraceSource::trace ( TraceLevel  level,
std::string  message 
) const [inherited]

Records a trace message.

Normally only called via FENNEL_TRACE.

Parameters:
level severity level of event being trace
message the text of the message

Definition at line 61 of file TraceSource.cpp.

References TraceSource::getTraceTarget(), TraceSource::isTracing(), TraceSource::name, and TraceTarget::notifyTrace().

Referenced by Calculator::exec(), and ExecStreamScheduler::traceStreamBufferContents().

00062 {
00063     if (isTracing()) {
00064         getTraceTarget().notifyTrace(name,level,message);
00065     }
00066 }

bool TraceSource::isTracing (  )  const [inline, inherited]

Returns:
true iff tracing is enabled for this source

Definition at line 88 of file TraceSource.h.

Referenced by TraceSource::initTraceSource(), CalcExecStream::prepare(), and TraceSource::trace().

00089     {
00090         return pTraceTarget.get() ? true : false;
00091     }

bool TraceSource::isTracingLevel ( TraceLevel  level  )  const [inline, inherited]

Determines whether a particular level is being traced.

Parameters:
level trace level to test
Returns:
true iff tracing is enabled for the given level

Definition at line 100 of file TraceSource.h.

Referenced by ExecStreamScheduler::addGraph(), SimpleExecStreamGovernor::assignCachePages(), SimpleExecStreamGovernor::distributeCachePages(), Calculator::exec(), ExecStreamScheduler::ExecStreamScheduler(), LcsClusterNodeWriter::getLastClusterPageForWrite(), LcsClusterNodeWriter::moveFromTempToIndex(), JavaSinkExecStream::stuffByteBuffer(), and ExecStreamScheduler::traceStreamBuffers().

00101     {
00102         return level >= minimumLevel;
00103     }

TraceTarget& TraceSource::getTraceTarget (  )  const [inline, inherited]

Returns:
the TraceTarget for this source

Definition at line 108 of file TraceSource.h.

Referenced by TraceSource::trace().

00109     {
00110         assert(isTracing());
00111         return *(pTraceTarget.get());
00112     }

SharedTraceTarget TraceSource::getSharedTraceTarget (  )  const [inline, inherited]

Returns:
the SharedTraceTarget for this source

Definition at line 117 of file TraceSource.h.

Referenced by Database::init(), LcsClusterAppendExecStream::initLoad(), and CalcExecStream::prepare().

00118     {
00119         return pTraceTarget;
00120     }

std::string TraceSource::getTraceSourceName (  )  const [inline, inherited]

Gets the name of this source.

Useful to construct nested names for subcomponents that are also TraceSources.

Returns:
the name

Definition at line 127 of file TraceSource.h.

Referenced by LcsClusterAppendExecStream::initLoad().

00128     {
00129         return name;
00130     }

void TraceSource::setTraceSourceName ( std::string const &  n  )  [inline, inherited]

Sets the name of this source.

Useful to construct dynamic names for fine-grained filtering.

Definition at line 136 of file TraceSource.h.

00137     {
00138         name = n;
00139     }

TraceLevel TraceSource::getMinimumTraceLevel (  )  const [inline, inherited]

Definition at line 141 of file TraceSource.h.

00142     {
00143         return minimumLevel;
00144     }

void TraceSource::disableTracing (  )  [inherited]

Definition at line 68 of file TraceSource.cpp.

References TraceSource::minimumLevel, TraceSource::pTraceTarget, and TRACE_OFF.

Referenced by TestBase::afterTestCase().

00069 {
00070     pTraceTarget.reset();
00071     minimumLevel = TRACE_OFF;
00072 }


Member Data Documentation

const char * CalcExtRegExpTest::truncErr [static, private]

Definition at line 86 of file CalcExtRegExpTest.cpp.

const char * CalcExtRegExpTest::substrErr [static, private]

Definition at line 87 of file CalcExtRegExpTest.cpp.

TestSuite* TestBase::pTestSuite [protected, inherited]

Boost test suite.

Definition at line 59 of file TestBase.h.

Referenced by TestBase::releaseTestSuite().

boost::shared_ptr<TestBase> TestBase::pTestObj [protected, inherited]

Definition at line 61 of file TestBase.h.

Referenced by TestBase::releaseTestSuite(), and TestBase::TestBase().

std::ofstream TestBase::traceStream [protected, inherited]

Output file stream for tracing.

Definition at line 66 of file TestBase.h.

Referenced by TestBase::notifyTrace(), TestBase::TestBase(), and TestBase::~TestBase().

StrictMutex TestBase::traceMutex [protected, inherited]

Protects traceStream.

Definition at line 71 of file TestBase.h.

Referenced by TestBase::notifyTrace().

std::string TestBase::testName [protected, inherited]

Name of test.

Definition at line 76 of file TestBase.h.

Referenced by TestBase::afterTestCase(), TestBase::beforeTestCase(), TestBase::releaseTestSuite(), TestBase::TestBase(), LhxHashTableTest::testInsert1Ka(), and LhxHashTableTest::testInsert1Kb().

TraceLevel TestBase::traceLevel [protected, inherited]

Level at which to trace test execution.

Definition at line 81 of file TestBase.h.

Referenced by TestBase::getSourceTraceLevel(), and TestBase::TestBase().

FileStatsTarget TestBase::statsTarget [protected, inherited]

Output for stats.

Definition at line 86 of file TestBase.h.

StatsTimer TestBase::statsTimer [protected, inherited]

Timer for stats collection.

Definition at line 91 of file TestBase.h.

Referenced by CacheTestBase::closeStorage(), CacheTestBase::openStorage(), BTreeTxnTest::testCaseSetUp(), BTreeTxnTest::testCaseTearDown(), and BTreeTxnTest::testTxns().

bool TestBase::traceStdout [protected, inherited]

Copy trace output to stdout.

Definition at line 99 of file TestBase.h.

Referenced by TestBase::notifyTrace(), and TestBase::TestBase().

bool TestBase::traceFile [protected, inherited]

Copy trace output to file.

Definition at line 104 of file TestBase.h.

Referenced by TestBase::notifyTrace(), and TestBase::TestBase().

bool TestBase::runAll [static, protected, inherited]

Run all test cases, including the extra tests.

(static, since set by readParams())

Definition at line 110 of file TestBase.h.

Referenced by TestBase::readParams(), and TestBase::releaseTestSuite().

std::string TestBase::runSingle [static, protected, inherited]

Run only the test case of this name.

(static, since set by readParams())

Definition at line 116 of file TestBase.h.

Referenced by TestBase::readParams(), and TestBase::releaseTestSuite().

TestCaseGroup TestBase::defaultTests [protected, inherited]

Definition at line 139 of file TestBase.h.

Referenced by TestBase::releaseTestSuite().

TestCaseGroup TestBase::extraTests [protected, inherited]

Definition at line 140 of file TestBase.h.

Referenced by TestBase::releaseTestSuite().

ParamName TestBase::paramTestSuiteName [static, inherited]

Definition at line 143 of file TestBase.h.

Referenced by TestBase::TestBase().

ParamName TestBase::paramTraceFileName [static, inherited]

Definition at line 144 of file TestBase.h.

Referenced by TestBase::TestBase().

ParamName TestBase::paramDictionaryFileName [static, inherited]

Definition at line 145 of file TestBase.h.

Referenced by TestBase::readParams(), SegStreamTest::testRead(), and SegStreamTest::testWrite().

ParamName TestBase::paramTraceLevel [static, inherited]

Definition at line 146 of file TestBase.h.

Referenced by TestBase::TestBase().

ParamName TestBase::paramStatsFileName [static, inherited]

Definition at line 147 of file TestBase.h.

ParamName TestBase::paramTraceStdout [static, inherited]

Definition at line 148 of file TestBase.h.

Referenced by TestBase::TestBase().

ParamName TestBase::paramDegreeOfParallelism [static, inherited]

Definition at line 149 of file TestBase.h.

Referenced by ParallelExecStreamSchedulerTest::ParallelExecStreamSchedulerTest().

ConfigMap TestBase::configMap [static, inherited]

Configuration parameters.

The reason this is static is so that no constructor parameters (which burden virtual bases) are needed.

Definition at line 155 of file TestBase.h.

Referenced by TestBase::afterTestCase(), TestBase::beforeTestCase(), BTreeTxnTest::BTreeTxnTest(), CacheTestBase::CacheTestBase(), BackupRestoreTest::createSnapshotData(), DatabaseTest::DatabaseTest(), TestOptionsTest::extra(), DatabaseTest::loadDatabase(), SparseBitmapTest::openStorage(), PagingTestBase::PagingTestBase(), ParallelExecStreamSchedulerTest::ParallelExecStreamSchedulerTest(), RandomAccessFileDeviceTest::RandomAccessFileDeviceTest(), TestBase::readParams(), SegStorageTestBase::SegStorageTestBase(), TestOptionsTest::test1(), TestOptionsTest::test2(), BackupRestoreTest::testBackupCleanup(), TestBase::TestBase(), BTreeTxnTest::testCaseSetUp(), BTreeTxnTest::testCheckpoint(), DatabaseTest::testCreateEmpty(), DatabaseTest::testForceTxns(), BackupRestoreTest::testHeaderBackupRestore(), SegPageEntryIterTest::testIter(), SegStreamTest::testRead(), BTreeTxnTest::testTxns(), SegStreamTest::testWrite(), ThreadedTestBase::ThreadedTestBase(), and TestBase::~TestBase().


The documentation for this class was generated from the following file:
Generated on Mon Jun 22 04:00:28 2009 for Fennel by  doxygen 1.5.1