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