Skip to content

Commit

Permalink
organize tests (#512)
Browse files Browse the repository at this point in the history
  • Loading branch information
vilterp authored Dec 31, 2024
1 parent ece0b0a commit 47f814b
Show file tree
Hide file tree
Showing 6 changed files with 71 additions and 38 deletions.
46 changes: 9 additions & 37 deletions allTests.ts
Original file line number Diff line number Diff line change
@@ -1,48 +1,20 @@
import { runSuites, Suite } from "./util/testBench/testing";
import { unifyTests } from "./core/unifyTests";
import {
coreTestsSimple,
coreTestsIncremental,
coreTestsCommon,
parserTests,
joinOrderTests,
} from "./core/ddTests";
import { prettyPrintTests } from "./core/prettyTest";
import { treeTests } from "./util/treeTest";
import { parserlibTests } from "./languageWorkbench/parserlib/ddTests";
import { incrTests } from "./core/incremental/ddTests";
import { sourcePositionsTests } from "./languageWorkbench/sourcePositionsTest";
import { executionVisualizerTests } from "./apps/executionVisualizer/ddTests";
import { kvSyncTests } from "./apps/actors/systems/kvSync/ddTests";
import { nativeTests } from "./languageWorkbench/languages/dl/nativeTests";
import { lwbTests } from "./languageWorkbench/ddTests";
import { optTests } from "./core/opt/optTests";
import { dl2Tests } from "./languageWorkbench/languages/dl2/compiler/ddTests";
import { coreTests } from "./core/tests";
import { lwbTests } from "./languageWorkbench/tests";
import { appsTests } from "./apps/tests";
import { utilTests } from "./util/tests";

// TODO: use a real arg parser
const flags = new Set(process.argv.slice(2));
const writeResults = flags.has("--write-results");
const stayAlive = flags.has("--stay-alive");

// TODO: nested suites
const suites: { [name: string]: Suite } = {
unifyTests,
parserTests: parserTests(writeResults),
// TODO: it does seem kind of bad to have two test suites that use the same set of dd files
coreTestsSimple: coreTestsSimple(writeResults),
coreTestsIncremental: coreTestsIncremental(writeResults),
coreTestsCommon: coreTestsCommon(writeResults),
joinOrderTests: joinOrderTests(writeResults),
incrTests: incrTests(writeResults),
prettyPrintTests,
treeTests,
parserlibTests: parserlibTests(writeResults),
sourcePositionsTests,
kvSync: kvSyncTests(writeResults),
executionVisualizer: executionVisualizerTests(writeResults),
dl2Tests: dl2Tests(writeResults),
lwbTests: lwbTests(writeResults),
lwbNativeDatalogTests: nativeTests,
optTests: optTests(writeResults),
...coreTests(writeResults),
...lwbTests(writeResults),
...appsTests(writeResults),
...utilTests(writeResults),
};

try {
Expand Down
10 changes: 10 additions & 0 deletions apps/tests.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import { Suite } from "../util/testBench/testing";
import { kvSyncTests } from "./actors/systems/kvSync/ddTests";
import { executionVisualizerTests } from "./executionVisualizer/ddTests";

export function appsTests(writeResults: boolean): { [name: string]: Suite } {
return {
kvSync: kvSyncTests(writeResults),
executionVisualizer: executionVisualizerTests(writeResults),
};
}
27 changes: 27 additions & 0 deletions core/tests.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
import { Suite } from "../util/testBench/testing";
import {
coreTestsCommon,
coreTestsIncremental,
coreTestsSimple,
joinOrderTests,
parserTests,
} from "./ddTests";
import { incrTests } from "./incremental/ddTests";
import { optTests } from "./opt/optTests";
import { prettyPrintTests } from "./prettyTest";
import { unifyTests } from "./unifyTests";

export function coreTests(writeResults: boolean): { [name: string]: Suite } {
return {
unifyTests,
parserTests: parserTests(writeResults),
// TODO: it does seem kind of bad to have two test suites that use the same set of dd files
coreTestsSimple: coreTestsSimple(writeResults),
coreTestsIncremental: coreTestsIncremental(writeResults),
coreTestsCommon: coreTestsCommon(writeResults),
joinOrderTests: joinOrderTests(writeResults),
incrTests: incrTests(writeResults),
prettyPrintTests,
optTests: optTests(writeResults),
};
}
2 changes: 1 addition & 1 deletion languageWorkbench/ddTests.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ const INCR_CACHE = new InterpCache(
() => new IncrementalInterpreter(BASE_PATH, fsLoader)
);

export function lwbTests(writeResults: boolean): Suite {
export function languageTests(writeResults: boolean): Suite {
return [
"fp",
"sql",
Expand Down
16 changes: 16 additions & 0 deletions languageWorkbench/tests.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import { Suite } from "../util/testBench/testing";
import { languageTests } from "./ddTests";
import { nativeTests } from "./languages/dl/nativeTests";
import { dl2Tests } from "./languages/dl2/compiler/ddTests";
import { parserlibTests } from "./parserlib/ddTests";
import { sourcePositionsTests } from "./sourcePositionsTest";

export function lwbTests(writeResults: boolean): { [name: string]: Suite } {
return {
parserlibTests: parserlibTests(writeResults),
languageTests: languageTests(writeResults),
lwbNativeDatalogTests: nativeTests,
dl2Tests: dl2Tests(writeResults),
sourcePositionsTests,
};
}
8 changes: 8 additions & 0 deletions util/tests.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
import { Suite } from "./testBench/testing";
import { treeTests } from "./treeTest";

export function utilTests(writeResults: boolean): { [name: string]: Suite } {
return {
treeTests,
};
}

0 comments on commit 47f814b

Please sign in to comment.