00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 #include "fennel/common/CommonPreamble.h"
00024 #include "fennel/exec/ParallelExecStreamScheduler.h"
00025 #include "fennel/test/ExecStreamTestSuite.h"
00026 #include "fennel/synch/ThreadTracker.h"
00027 
00032 class ParallelExecStreamSchedulerTest : public ExecStreamTestSuite
00033 {
00034     ThreadTracker threadTracker;
00035 
00036     uint degreeOfParallelism;
00037 
00038     
00039     virtual ExecStreamScheduler *newScheduler()
00040     {
00041         return new ParallelExecStreamScheduler(
00042             shared_from_this(),
00043             "ParallelExecStreamScheduler",
00044             threadTracker,
00045             degreeOfParallelism);
00046     }
00047 
00048     uint getDegreeOfParallelism()
00049     {
00050         return degreeOfParallelism;
00051     }
00052 
00053 public:
00054 
00055     
00056     
00057     explicit ParallelExecStreamSchedulerTest()
00058         : ExecStreamTestSuite(false)
00059     {
00060         degreeOfParallelism =
00061             configMap.getIntParam(paramDegreeOfParallelism, 4);
00062 
00063         FENNEL_UNIT_TEST_CASE(ExecStreamTestSuite,testScratchBufferExecStream);
00064         FENNEL_UNIT_TEST_CASE(ExecStreamTestSuite,testDoubleBufferExecStream);
00065         FENNEL_UNIT_TEST_CASE(ExecStreamTestSuite,testCopyExecStream);
00066         FENNEL_UNIT_TEST_CASE(ExecStreamTestSuite,testMergeExecStream);
00067         FENNEL_UNIT_TEST_CASE(ExecStreamTestSuite,testSegBufferExecStream);
00068         FENNEL_UNIT_TEST_CASE(
00069             ExecStreamTestSuite,testCartesianJoinExecStreamOuter);
00070         FENNEL_UNIT_TEST_CASE(
00071             ExecStreamTestSuite,testCartesianJoinExecStreamInner);
00072         FENNEL_UNIT_TEST_CASE(ExecStreamTestSuite,testCountAggExecStream);
00073         FENNEL_UNIT_TEST_CASE(ExecStreamTestSuite,testSumAggExecStream);
00074         FENNEL_UNIT_TEST_CASE(ExecStreamTestSuite,testGroupAggExecStream1);
00075         FENNEL_UNIT_TEST_CASE(ExecStreamTestSuite,testGroupAggExecStream2);
00076         FENNEL_UNIT_TEST_CASE(ExecStreamTestSuite,testGroupAggExecStream3);
00077         FENNEL_UNIT_TEST_CASE(ExecStreamTestSuite,testGroupAggExecStream4);
00078         FENNEL_UNIT_TEST_CASE(
00079             ExecStreamTestSuite,testReshapeExecStreamCastFilter);
00080         FENNEL_UNIT_TEST_CASE(
00081             ExecStreamTestSuite,testReshapeExecStreamNoCastFilter);
00082         FENNEL_UNIT_TEST_CASE(
00083             ExecStreamTestSuite,testReshapeExecStreamDynamicParams);
00084         FENNEL_UNIT_TEST_CASE(
00085             ExecStreamTestSuite,
00086             testSingleValueAggExecStream);
00087         FENNEL_UNIT_TEST_CASE(
00088             ExecStreamTestSuite,
00089             testMergeImplicitPullInputs);
00090         FENNEL_UNIT_TEST_CASE(
00091             ExecStreamTestSuite,
00092             testBTreeInsertExecStreamStaticBTree);
00093         FENNEL_UNIT_TEST_CASE(
00094             ExecStreamTestSuite,
00095             testBTreeInsertExecStreamDynamicBTree);
00096 
00097         
00098         
00099         FENNEL_EXTRA_UNIT_TEST_CASE(
00100             ExecStreamTestSuite,
00101             testNestedLoopJoinExecStream1);
00102         FENNEL_EXTRA_UNIT_TEST_CASE(
00103             ExecStreamTestSuite,
00104             testNestedLoopJoinExecStream2);
00105 
00106         FENNEL_UNIT_TEST_CASE(
00107             ExecStreamTestSuite,
00108             testSplitterPlusBarrier);
00109 
00110         FENNEL_UNIT_TEST_CASE(
00111             ExecStreamTestSuite,
00112             testSegBufferReaderWriterExecStream1);
00113         FENNEL_UNIT_TEST_CASE(
00114             ExecStreamTestSuite,
00115             testSegBufferReaderWriterExecStream2);
00116         FENNEL_UNIT_TEST_CASE(
00117             ExecStreamTestSuite,
00118             testSegBufferReaderWriterExecStream3);
00119         FENNEL_UNIT_TEST_CASE(
00120             ExecStreamTestSuite,
00121             testSegBufferReaderWriterExecStream4);
00122     }
00123 };
00124 
00125 using namespace fennel;
00126 
00127 
00128 FENNEL_UNIT_TEST_SUITE(ParallelExecStreamSchedulerTest);
00129 
00130