Fennel: CalcExtDateTimeTest Class Reference (original) (raw)
Inheritance diagram for CalcExtDateTimeTest:

| Public Member Functions | |
|---|---|
| CalcExtDateTimeTest () | |
| virtual | ~CalcExtDateTimeTest () |
| bool | equals (TupleDatum buf, const char *expected) |
| TestSuite * | releaseTestSuite () |
| 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. | |
| TraceTarget & | getTraceTarget () 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 | |
| TestSuite * | pTestSuite |
| Boost test suite. | |
| boost::shared_ptr< TestBase > | pTestObj |
| 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 | testCalcExtConvertDateToString () |
| void | testCalcExtLocalTime () |
| void | testCalcExtLocalTimestamp () |
| void | checkWarnings (Calculator &calc, string expected) |
| void | printOutput (TupleData const &tup, Calculator const &calc) |
Detailed Description
Definition at line 41 of file CalcExtDateTimeTest.cpp.
Constructor & Destructor Documentation
| CalcExtDateTimeTest::CalcExtDateTimeTest | ( | | ) | [inline, explicit] | | ---------------------------------------- | - | | - | -------------------- |
| virtual CalcExtDateTimeTest::~CalcExtDateTimeTest | ( | | ) | [inline, virtual] | | -------------------------------------------------- | - | | - | ------------------- |
Member Function Documentation
| void CalcExtDateTimeTest::testCalcExtConvertDateToString | ( | | ) | [private] | | -------------------------------------------------------- | - | | - | ----------- |
Definition at line 91 of file CalcExtDateTimeTest.cpp.
References Calculator::assemble(), Calculator::bind(), equals(), Calculator::exec(), Calculator::getInputRegisterDescriptor(), FennelExcn::getMessage(), and Calculator::getOutputRegisterDescriptor().
Referenced by CalcExtDateTimeTest().
00092 {
00093 ostringstream pg("");
00094
00095 pg << "O vc,10;" << endl;
00096 pg << "L vc,10;" << endl;
00097 pg << "C s8;" << endl;
00098 pg << "V 115200000;" << endl;
00099 pg << "T;" << endl;
00100 pg << "CALL 'CastDateToStrA(L0, C0);" << endl;
00101 pg << "REF O0, L0;" << endl;
00102
00103 Calculator calc(0);
00104
00105 try {
00106 calc.assemble(pg.str().c_str());
00107 } catch (FennelExcn& ex) {
00108 BOOST_FAIL("Assemble exception " << ex.getMessage()<< pg.str());
00109 }
00110
00111 TupleDataWithBuffer outTuple(calc.getOutputRegisterDescriptor());
00112 TupleDataWithBuffer inTuple(calc.getInputRegisterDescriptor());
00113
00114 calc.bind(&inTuple, &outTuple);
00115 calc.exec();
00116
00117
00118 BOOST_CHECK(equals(outTuple[0], "1970-01-02"));
00119 }
| void CalcExtDateTimeTest::testCalcExtLocalTime | ( | | ) | [private] | | ---------------------------------------------- | - | | - | ----------- |
Definition at line 122 of file CalcExtDateTimeTest.cpp.
References Calculator::assemble(), Calculator::bind(), Calculator::exec(), Calculator::getInputRegisterDescriptor(), FennelExcn::getMessage(), Calculator::getOutputRegisterDescriptor(), and printOutput().
Referenced by CalcExtDateTimeTest().
00123 {
00124 ostringstream pg("");
00125
00126 pg << "O s8;" << endl;
00127 pg << "I s4;" << endl;
00128 pg << "L s8;" << endl;
00129 pg << "C bo, bo, c,23;" << endl;
00130 pg << "V 1, 0, 0x5053542D385044542C4D332E322E302C4D31312E312E30"
00131 " /* PST-8PDT,M3.2.0,M11.1.0 /;" << endl;
00132 pg << "T;" << endl;
00133 pg << "CALL 'LocalTime2(L0, C2) / 0: LOCALTIME($t1) /;" << endl;
00134 pg << "REF O0, L0 / 1: */;" << endl;
00135
00136
00137 Calculator calc(0);
00138
00139 try {
00140 calc.assemble(pg.str().c_str());
00141 } catch (FennelExcn& ex) {
00142 BOOST_FAIL("Assemble exception " << ex.getMessage()<< pg.str());
00143 }
00144
00145 TupleDataWithBuffer outTuple(calc.getOutputRegisterDescriptor());
00146 TupleDataWithBuffer inTuple(calc.getInputRegisterDescriptor());
00147
00148 calc.bind(&inTuple, &outTuple);
00149 calc.exec();
00150 printOutput(outTuple, calc);
00151
00152 }
| void CalcExtDateTimeTest::testCalcExtLocalTimestamp | ( | | ) | [private] | | --------------------------------------------------- | - | | - | ----------- |
Definition at line 155 of file CalcExtDateTimeTest.cpp.
References Calculator::assemble(), Calculator::bind(), Calculator::exec(), Calculator::getInputRegisterDescriptor(), FennelExcn::getMessage(), Calculator::getOutputRegisterDescriptor(), and printOutput().
Referenced by CalcExtDateTimeTest().
00156 {
00157 ostringstream pg("");
00158
00159 pg << "O s8;" << endl;
00160 pg << "I s4;" << endl;
00161 pg << "L s8;" << endl;
00162 pg << "C bo, bo, c,23;" << endl;
00163 pg << "V 1, 0, 0x5053542D385044542C4D332E322E302C4D31312E312E30"
00164 " /* PST-8PDT,M3.2.0,M11.1.0 /;" << endl;
00165 pg << "T;" << endl;
00166 pg << "CALL 'LocalTimestamp2(L0, C2) / 0: LOCALTIMESTAMP($t1) /;" << endl;
00167 pg << "REF O0, L0 / 1: */;" << endl;
00168
00169
00170 Calculator calc(0);
00171
00172 try {
00173 calc.assemble(pg.str().c_str());
00174 } catch (FennelExcn& ex) {
00175 BOOST_FAIL("Assemble exception " << ex.getMessage()<< pg.str());
00176 }
00177
00178 TupleDataWithBuffer outTuple(calc.getOutputRegisterDescriptor());
00179 TupleDataWithBuffer inTuple(calc.getInputRegisterDescriptor());
00180
00181 calc.bind(&inTuple, &outTuple);
00182 calc.exec();
00183 printOutput(outTuple, calc);
00184
00185 }
| void CalcExtDateTimeTest::checkWarnings | ( | Calculator & | calc, |
|---|---|---|---|
| string | expected | ||
| ) | [private] |
| void CalcExtDateTimeTest::printOutput | ( | TupleData const & | tup, |
|---|---|---|---|
| Calculator const & | calc | ||
| ) | [private] |
| bool CalcExtDateTimeTest::equals | ( | TupleDatum | buf, |
|---|---|---|---|
| const char * | expected | ||
| ) | [inline] |
| void TestBase::snooze | ( | uint | nSeconds | ) | [protected, inherited] |
|---|
| 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") {
00123 permAssert(i + 1 < argc);
00124 runSingle = argv[++i];
00125 } else if (arg[1] == 't') {
00126 runSingle = arg.substr(2);
00127 }
00128 } else {
00129 int i = arg.find("=");
00130 if ((0 < i) && (i < arg.size())) {
00131
00132 std::string key = arg.substr(0,i);
00133 std::string val = arg.substr(i + 1);
00134 adhocMap.setStringParam(key,val);
00135 } else {
00136
00137 std::ifstream configFile(arg.c_str());
00138 assert(configFile.good());
00139 configMap.readParams(configFile);
00140 }
00141 }
00142 }
00143 configMap.mergeFrom(adhocMap);
00144
00145
00146
00147 if (.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] | | ---------------------------------------------------------------------------------------------- | - | | - | ------------- |
| void TestBase::beforeTestCase | ( | std::string | testCaseName | ) | [inherited] |
|---|
| void TestBase::afterTestCase | ( | std::string | testCaseName | ) | [inherited] |
|---|
| 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().
| 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().
| void TestBase::notifyTrace | ( | std::string | source, |
|---|---|---|---|
| TraceLevel | level, | ||
| std::string | message | ||
| ) | [virtual, inherited] |
| TraceLevel TestBase::getSourceTraceLevel | ( | std::string | source | ) | [virtual, inherited] |
|---|
| void TraceSource::initTraceSource | ( | SharedTraceTarget | pTraceTarget, |
|---|---|---|---|
| std::string | name | ||
| ) | [virtual, inherited] |
| void TraceSource::trace | ( | TraceLevel | level, |
|---|---|---|---|
| std::string | message | ||
| ) | const [inherited] |
| bool TraceSource::isTracing | ( | | ) | const [inline, inherited] | | --------------------------- | - | | - | --------------------------- |
| bool TraceSource::isTracingLevel | ( | TraceLevel | level | ) | const [inline, inherited] |
|---|
| TraceTarget& TraceSource::getTraceTarget | ( | | ) | const [inline, inherited] | | ----------------------------------------------------------------- | - | | - | --------------------------- |
| std::string TraceSource::getTraceSourceName | ( | | ) | const [inline, inherited] | | ------------------------------------------- | - | | - | --------------------------- |
| 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] | | ------------------------------------------------------------------------------------------------------ | - | | - | --------------------------- |
| void TraceSource::disableTracing | ( | | ) | [inherited] | | -------------------------------- | - | | - | ------------- |
Member Data Documentation
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:
- /home/pub/open/dev/fennel/calctest/CalcExtDateTimeTest.cpp
