@creative-introvert/tons-of-tests 2.0.0 → 3.0.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +263 -134
- package/dist/cjs/Classify.js +6 -2
- package/dist/cjs/Classify.js.map +1 -1
- package/dist/cjs/RepositoryError.js +24 -33
- package/dist/cjs/RepositoryError.js.map +1 -1
- package/dist/cjs/Show.js +18 -0
- package/dist/cjs/Show.js.map +1 -1
- package/dist/cjs/Test.js +41 -2
- package/dist/cjs/Test.js.map +1 -1
- package/dist/cjs/Test.repository.js +8 -17
- package/dist/cjs/Test.repository.js.map +1 -1
- package/dist/cjs/TestRun.js +20 -0
- package/dist/cjs/TestRun.js.map +1 -0
- package/dist/cjs/TestValueError.js +23 -0
- package/dist/cjs/TestValueError.js.map +1 -0
- package/dist/cjs/index.js +0 -7
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/internal/Classify.js +1 -9
- package/dist/cjs/internal/Classify.js.map +1 -1
- package/dist/cjs/internal/Test.js +305 -109
- package/dist/cjs/internal/Test.js.map +1 -1
- package/dist/cjs/internal/Test.repository.sqlite.js +266 -304
- package/dist/cjs/internal/Test.repository.sqlite.js.map +1 -1
- package/dist/cjs/internal/Test.serialization.js +128 -0
- package/dist/cjs/internal/Test.serialization.js.map +1 -0
- package/dist/cjs/internal/common.js.map +1 -1
- package/dist/cjs/internal/stats.js +37 -3
- package/dist/cjs/internal/stats.js.map +1 -1
- package/dist/cjs/internal/summarize.js +155 -36
- package/dist/cjs/internal/summarize.js.map +1 -1
- package/dist/cjs/internal/test-repository-fixtures.js +31 -0
- package/dist/cjs/internal/test-repository-fixtures.js.map +1 -0
- package/dist/cjs/internal/test-repository-migrations.js +68 -0
- package/dist/cjs/internal/test-repository-migrations.js.map +1 -0
- package/dist/cjs/internal/test-result-stats.js +89 -0
- package/dist/cjs/internal/test-result-stats.js.map +1 -0
- package/dist/dts/Classify.d.ts +4 -1
- package/dist/dts/Classify.d.ts.map +1 -1
- package/dist/dts/RepositoryError.d.ts +19 -20
- package/dist/dts/RepositoryError.d.ts.map +1 -1
- package/dist/dts/Show.d.ts +8 -8
- package/dist/dts/Show.d.ts.map +1 -1
- package/dist/dts/Test.d.ts +155 -11
- package/dist/dts/Test.d.ts.map +1 -1
- package/dist/dts/Test.repository.d.ts +94 -8
- package/dist/dts/Test.repository.d.ts.map +1 -1
- package/dist/dts/TestRun.d.ts +18 -0
- package/dist/dts/TestRun.d.ts.map +1 -0
- package/dist/dts/TestValueError.d.ts +17 -0
- package/dist/dts/TestValueError.d.ts.map +1 -0
- package/dist/dts/index.d.ts +0 -1
- package/dist/dts/index.d.ts.map +1 -1
- package/dist/dts/internal/Classify.d.ts +0 -1
- package/dist/dts/internal/Classify.d.ts.map +1 -1
- package/dist/dts/internal/Test.d.ts +58 -31
- package/dist/dts/internal/Test.d.ts.map +1 -1
- package/dist/dts/internal/Test.repository.sqlite.d.ts +66 -11
- package/dist/dts/internal/Test.repository.sqlite.d.ts.map +1 -1
- package/dist/dts/internal/Test.serialization.d.ts +34 -0
- package/dist/dts/internal/Test.serialization.d.ts.map +1 -0
- package/dist/dts/internal/common.d.ts +1 -1
- package/dist/dts/internal/common.d.ts.map +1 -1
- package/dist/dts/internal/stats.d.ts +15 -1
- package/dist/dts/internal/stats.d.ts.map +1 -1
- package/dist/dts/internal/summarize.d.ts +39 -7
- package/dist/dts/internal/summarize.d.ts.map +1 -1
- package/dist/dts/internal/test-repository-fixtures.d.ts +22 -0
- package/dist/dts/internal/test-repository-fixtures.d.ts.map +1 -0
- package/dist/dts/internal/test-repository-migrations.d.ts +11 -0
- package/dist/dts/internal/test-repository-migrations.d.ts.map +1 -0
- package/dist/dts/internal/test-result-stats.d.ts +7 -0
- package/dist/dts/internal/test-result-stats.d.ts.map +1 -0
- package/dist/esm/Classify.js +5 -1
- package/dist/esm/Classify.js.map +1 -1
- package/dist/esm/RepositoryError.js +14 -29
- package/dist/esm/RepositoryError.js.map +1 -1
- package/dist/esm/Show.js +2 -2
- package/dist/esm/Show.js.map +1 -1
- package/dist/esm/Test.js +38 -1
- package/dist/esm/Test.js.map +1 -1
- package/dist/esm/Test.repository.js +7 -16
- package/dist/esm/Test.repository.js.map +1 -1
- package/dist/esm/TestRun.js +13 -0
- package/dist/esm/TestRun.js.map +1 -0
- package/dist/esm/TestValueError.js +16 -0
- package/dist/esm/TestValueError.js.map +1 -0
- package/dist/esm/index.js +0 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/internal/Classify.js +0 -7
- package/dist/esm/internal/Classify.js.map +1 -1
- package/dist/esm/internal/Test.js +299 -108
- package/dist/esm/internal/Test.js.map +1 -1
- package/dist/esm/internal/Test.repository.sqlite.js +265 -301
- package/dist/esm/internal/Test.repository.sqlite.js.map +1 -1
- package/dist/esm/internal/Test.serialization.js +119 -0
- package/dist/esm/internal/Test.serialization.js.map +1 -0
- package/dist/esm/internal/common.js.map +1 -1
- package/dist/esm/internal/stats.js +35 -2
- package/dist/esm/internal/stats.js.map +1 -1
- package/dist/esm/internal/summarize.js +155 -35
- package/dist/esm/internal/summarize.js.map +1 -1
- package/dist/esm/internal/test-repository-fixtures.js +25 -0
- package/dist/esm/internal/test-repository-fixtures.js.map +1 -0
- package/dist/esm/internal/test-repository-migrations.js +62 -0
- package/dist/esm/internal/test-repository-migrations.js.map +1 -0
- package/dist/esm/internal/test-result-stats.js +83 -0
- package/dist/esm/internal/test-result-stats.js.map +1 -0
- package/package.json +1 -1
- package/dist/cjs/Test.repository.types.js +0 -14
- package/dist/cjs/Test.repository.types.js.map +0 -1
- package/dist/cjs/internal/lib/Schema.js +0 -14
- package/dist/cjs/internal/lib/Schema.js.map +0 -1
- package/dist/dts/Test.repository.types.d.ts +0 -56
- package/dist/dts/Test.repository.types.d.ts.map +0 -1
- package/dist/dts/internal/lib/Schema.d.ts +0 -4
- package/dist/dts/internal/lib/Schema.d.ts.map +0 -1
- package/dist/esm/Test.repository.types.js +0 -7
- package/dist/esm/Test.repository.types.js.map +0 -1
- package/dist/esm/internal/lib/Schema.js +0 -7
- package/dist/esm/internal/lib/Schema.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"summarize.js","names":["_ansiColors","_interopRequireDefault","require","_effect","_common","_DisplayConfig","_formatDiff","_index","e","__esModule","default","columns","name","label","make","i","hashes","colors","dim","length","previousTestResult","color","Option","isNone","green","white","hash","slice","testResult","timeMillis","toFixed","tags","JSON","stringify","input","split","expected","hasPrevious","isSome","blue","red","yellow","result","formatDiff","diff","match","onNone","onSome","_","pipe","map","getOrElse","showSummary","testRun","displayConfig","previousTestRun","none","selectColumns","cfg","makeDefault","testCaseHashes","_columns","filter","c","includes","startsWith","columnWidths","m","rows","testResultsByTestCaseHash","flatMap","Record","get","row","w","Math","max","s","unstyle","maxHeight","reduce","n","_key","values","forEach","_i","push","A","makeBy","header","showHeader","showTitle","bold","showBorder","height","showRow","exports"],"sources":["../../../src/internal/summarize.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"summarize.js","names":["_ansiColors","_interopRequireDefault","require","_effect","_TestSerialization","_common","_DisplayConfig","_formatDiff","_index","e","__esModule","default","columns","name","label","make","i","resultCount","colors","dim","testResult","previousTestResult","color","Option","isNone","green","white","hash","hashTestCase","slice","key","timeMillis","toFixed","tags","JSON","stringify","input","split","expected","hasPrevious","isSome","blue","red","yellow","result","formatDiff","diff","match","onNone","onSome","_","pipe","map","getOrElse","defaultColumns","makeRow","selected","context","row","height","reduce","values","Math","max","length","push","A","makeBy","measureRow","widths","width","index","value","unstyle","showSummary","exports","Effect","fnUntraced","testRun","schemas","displayConfig","previousTestRun","none","selectColumns","codec","makeResultCodec","cfg","makeDefault","resultKeys","testResultKeys","_columns","filter","c","includes","startsWith","columnWidths","m","rows","encode","testResultsByKey","previous","flatMap","Record","get","some","header","showHeader","s","showTitle","bold","showBorder","showRow","decodeRow","Schema","decodeUnknownEffect","fromJsonString","Array","Tuple","String","prepareSummary","results","suite","column","Stream","zipWithIndex","mapEffect","prepareTable","title","indexColumn","findIndex","prepareComparison","comparisons","from","to","fromCodec","run","toCodec","labels","comparison","before","_tag","undefined","getOrThrow","after","fields","changed","identity","variant","id","table","chunks","concat","formattedRows","fs","FileSystem","path","makeTempFileScoped","prefix","suffix","count","padded","encodeText","sink","start","end","stream","decodeText","splitLines","line","numbered"],"sources":["../../../src/internal/summarize.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getAllTestRuns = exports.getAllTestRunResults = exports.getAllTestResults = void 0;
|
|
7
|
+
var _effect = /*#__PURE__*/require("effect");
|
|
8
|
+
var _sql = /*#__PURE__*/require("effect/sql");
|
|
9
|
+
var _TestRun = /*#__PURE__*/require("../TestRun.js");
|
|
10
|
+
var _TestRepositorySqlite = /*#__PURE__*/require("./Test.repository.sqlite.js");
|
|
11
|
+
// Tests inspect storage directly; these operations are not part of TestRepository.
|
|
12
|
+
const getAllTestRuns = exports.getAllTestRuns = /*#__PURE__*/_effect.Effect.gen(function* () {
|
|
13
|
+
const sql = yield* _sql.SqlClient.SqlClient;
|
|
14
|
+
return yield* _effect.Schema.decodeUnknownEffect(_effect.Schema.Array(_TestRun.TestRun))(yield* sql`SELECT * FROM ${sql(_TestRepositorySqlite.tables.testRuns)};`);
|
|
15
|
+
});
|
|
16
|
+
const getAllTestResults = exports.getAllTestResults = /*#__PURE__*/_effect.Effect.gen(function* () {
|
|
17
|
+
const sql = yield* _sql.SqlClient.SqlClient;
|
|
18
|
+
return yield* _effect.Schema.decodeUnknownEffect(_effect.Schema.Array(_TestRepositorySqlite.TestResultStorage))(yield* sql`SELECT * FROM ${sql(_TestRepositorySqlite.tables.testResults)};`);
|
|
19
|
+
});
|
|
20
|
+
const getAllTestRunResults = exports.getAllTestRunResults = /*#__PURE__*/_effect.Effect.gen(function* () {
|
|
21
|
+
const sql = yield* _sql.SqlClient.SqlClient;
|
|
22
|
+
return yield* _effect.Schema.decodeUnknownEffect(_effect.Schema.Array(_effect.Schema.Struct({
|
|
23
|
+
testRun: _effect.Schema.Int,
|
|
24
|
+
testResult: _effect.Schema.String,
|
|
25
|
+
ordering: _effect.Schema.Int,
|
|
26
|
+
resultOrdering: _effect.Schema.Int,
|
|
27
|
+
timeMillis: _effect.Schema.Finite,
|
|
28
|
+
tags: _effect.Schema.fromJsonString(_effect.Schema.Array(_effect.Schema.String))
|
|
29
|
+
})))(yield* sql`SELECT * FROM ${sql(_TestRepositorySqlite.tables.testRunResults)};`);
|
|
30
|
+
});
|
|
31
|
+
//# sourceMappingURL=test-repository-fixtures.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-repository-fixtures.js","names":["_effect","require","_sql","_TestRun","_TestRepositorySqlite","getAllTestRuns","exports","Effect","gen","sql","SqlClient","Schema","decodeUnknownEffect","Array","TestRun","tables","testRuns","getAllTestResults","TestResultStorage","testResults","getAllTestRunResults","Struct","testRun","Int","testResult","String","ordering","resultOrdering","timeMillis","Finite","tags","fromJsonString","testRunResults"],"sources":["../../../src/internal/test-repository-fixtures.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,OAAA,gBAAAC,OAAA;AACA,IAAAC,IAAA,gBAAAD,OAAA;AAEA,IAAAE,QAAA,gBAAAF,OAAA;AACA,IAAAG,qBAAA,gBAAAH,OAAA;AAEA;AACO,MAAMI,cAAc,GAAAC,OAAA,CAAAD,cAAA,gBAAGE,cAAM,CAACC,GAAG,CAAC,aAAS;EAC9C,MAAMC,GAAG,GAAG,OAAOC,cAAS,CAACA,SAAS;EACtC,OAAO,OAAOC,cAAM,CAACC,mBAAmB,CAACD,cAAM,CAACE,KAAK,CAACC,gBAAO,CAAC,CAAC,CAC3D,OAAOL,GAAG,iBAAiBA,GAAG,CAACM,4BAAM,CAACC,QAAQ,CAAC,GAAG,CACrD;AACL,CAAC,CAAC;AAEK,MAAMC,iBAAiB,GAAAX,OAAA,CAAAW,iBAAA,gBAAGV,cAAM,CAACC,GAAG,CAAC,aAAS;EACjD,MAAMC,GAAG,GAAG,OAAOC,cAAS,CAACA,SAAS;EACtC,OAAO,OAAOC,cAAM,CAACC,mBAAmB,CAACD,cAAM,CAACE,KAAK,CAACK,uCAAiB,CAAC,CAAC,CACrE,OAAOT,GAAG,iBAAiBA,GAAG,CAACM,4BAAM,CAACI,WAAW,CAAC,GAAG,CACxD;AACL,CAAC,CAAC;AAEK,MAAMC,oBAAoB,GAAAd,OAAA,CAAAc,oBAAA,gBAAGb,cAAM,CAACC,GAAG,CAAC,aAAS;EACpD,MAAMC,GAAG,GAAG,OAAOC,cAAS,CAACA,SAAS;EACtC,OAAO,OAAOC,cAAM,CAACC,mBAAmB,CACpCD,cAAM,CAACE,KAAK,CACRF,cAAM,CAACU,MAAM,CAAC;IACVC,OAAO,EAAEX,cAAM,CAACY,GAAG;IACnBC,UAAU,EAAEb,cAAM,CAACc,MAAM;IACzBC,QAAQ,EAAEf,cAAM,CAACY,GAAG;IACpBI,cAAc,EAAEhB,cAAM,CAACY,GAAG;IAC1BK,UAAU,EAAEjB,cAAM,CAACkB,MAAM;IACzBC,IAAI,EAAEnB,cAAM,CAACoB,cAAc,CAACpB,cAAM,CAACE,KAAK,CAACF,cAAM,CAACc,MAAM,CAAC;GAC1D,CAAC,CACL,CACJ,CAAC,OAAOhB,GAAG,iBAAiBA,GAAG,CAACM,4BAAM,CAACiB,cAAc,CAAC,GAAG,CAAC;AAC/D,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.tables = exports.migrate = void 0;
|
|
7
|
+
var _sqlSqliteNode = /*#__PURE__*/require("@effect/sql-sqlite-node");
|
|
8
|
+
var _effect = /*#__PURE__*/require("effect");
|
|
9
|
+
var _sql = /*#__PURE__*/require("effect/sql");
|
|
10
|
+
const tables = exports.tables = {
|
|
11
|
+
testResults: 'test-results',
|
|
12
|
+
testRuns: 'test-runs',
|
|
13
|
+
testBaselines: 'test-baselines',
|
|
14
|
+
testRunResults: 'test-run-results'
|
|
15
|
+
};
|
|
16
|
+
const migrate = exports.migrate = /*#__PURE__*/_sqlSqliteNode.SqliteMigrator.run({
|
|
17
|
+
table: 'tons_of_tests_migrations',
|
|
18
|
+
loader: /*#__PURE__*/_sqlSqliteNode.SqliteMigrator.fromRecord({
|
|
19
|
+
'001_create_tables': /*#__PURE__*/_effect.Effect.gen(function* () {
|
|
20
|
+
const sql = yield* _sql.SqlClient.SqlClient;
|
|
21
|
+
yield* sql`
|
|
22
|
+
CREATE TABLE ${sql(tables.testRuns)}(
|
|
23
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
24
|
+
name TEXT NOT NULL,
|
|
25
|
+
variant TEXT NOT NULL,
|
|
26
|
+
state TEXT NOT NULL CHECK (state IN ('Running', 'Complete', 'Failed'))
|
|
27
|
+
);
|
|
28
|
+
`;
|
|
29
|
+
yield* sql`CREATE INDEX idx_run_name_variant_id ON ${sql(tables.testRuns)}(name, variant, id);`;
|
|
30
|
+
yield* sql`
|
|
31
|
+
CREATE TABLE ${sql(tables.testBaselines)}(
|
|
32
|
+
name TEXT NOT NULL,
|
|
33
|
+
variant TEXT NOT NULL,
|
|
34
|
+
testRun INTEGER NOT NULL REFERENCES ${sql(tables.testRuns)}(id),
|
|
35
|
+
PRIMARY KEY (name, variant)
|
|
36
|
+
);
|
|
37
|
+
`;
|
|
38
|
+
yield* sql`
|
|
39
|
+
CREATE TABLE ${sql(tables.testResults)}(
|
|
40
|
+
id TEXT PRIMARY KEY,
|
|
41
|
+
hashTestCase TEXT NOT NULL,
|
|
42
|
+
key TEXT NOT NULL,
|
|
43
|
+
input TEXT,
|
|
44
|
+
result TEXT,
|
|
45
|
+
expected TEXT,
|
|
46
|
+
label TEXT NOT NULL
|
|
47
|
+
);
|
|
48
|
+
`;
|
|
49
|
+
yield* sql`CREATE INDEX idx_tr_case_key ON ${sql(tables.testResults)}(hashTestCase, key);`;
|
|
50
|
+
yield* sql`
|
|
51
|
+
CREATE TABLE ${sql(tables.testRunResults)}(
|
|
52
|
+
testRun INTEGER NOT NULL,
|
|
53
|
+
testResult TEXT NOT NULL,
|
|
54
|
+
ordering INTEGER NOT NULL,
|
|
55
|
+
resultOrdering INTEGER NOT NULL,
|
|
56
|
+
timeMillis REAL NOT NULL,
|
|
57
|
+
tags TEXT NOT NULL,
|
|
58
|
+
FOREIGN KEY (testRun) REFERENCES ${sql(tables.testRuns)}(id),
|
|
59
|
+
FOREIGN KEY (testResult) REFERENCES ${sql(tables.testResults)}(id),
|
|
60
|
+
UNIQUE (testRun, testResult)
|
|
61
|
+
);
|
|
62
|
+
`;
|
|
63
|
+
yield* sql`CREATE INDEX idx_trr_testresult ON ${sql(tables.testRunResults)}(testResult);`;
|
|
64
|
+
yield* sql`CREATE INDEX idx_trr_run_order ON ${sql(tables.testRunResults)}(testRun, ordering, resultOrdering, testResult);`;
|
|
65
|
+
})
|
|
66
|
+
})
|
|
67
|
+
});
|
|
68
|
+
//# sourceMappingURL=test-repository-migrations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-repository-migrations.js","names":["_sqlSqliteNode","require","_effect","_sql","tables","exports","testResults","testRuns","testBaselines","testRunResults","migrate","SqliteMigrator","run","table","loader","fromRecord","Effect","gen","sql","SqlClient"],"sources":["../../../src/internal/test-repository-migrations.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,cAAA,gBAAAC,OAAA;AACA,IAAAC,OAAA,gBAAAD,OAAA;AACA,IAAAE,IAAA,gBAAAF,OAAA;AAEO,MAAMG,MAAM,GAAAC,OAAA,CAAAD,MAAA,GAAG;EAClBE,WAAW,EAAE,cAAc;EAC3BC,QAAQ,EAAE,WAAW;EACrBC,aAAa,EAAE,gBAAgB;EAC/BC,cAAc,EAAE;CACV;AAEH,MAAMC,OAAO,GAAAL,OAAA,CAAAK,OAAA,gBAAGC,6BAAc,CAACC,GAAG,CAAC;EACtCC,KAAK,EAAE,0BAA0B;EACjCC,MAAM,eAAEH,6BAAc,CAACI,UAAU,CAAC;IAC9B,mBAAmB,eAAEC,cAAM,CAACC,GAAG,CAAC,aAAS;MACrC,MAAMC,GAAG,GAAG,OAAOC,cAAS,CAACA,SAAS;MACtC,OAAOD,GAAG;+BACSA,GAAG,CAACd,MAAM,CAACG,QAAQ,CAAC;;;;;;aAMtC;MACD,OAAOW,GAAG,2CAA2CA,GAAG,CAACd,MAAM,CAACG,QAAQ,CAAC,sBAAsB;MAC/F,OAAOW,GAAG;+BACSA,GAAG,CAACd,MAAM,CAACI,aAAa,CAAC;;;0DAGEU,GAAG,CAACd,MAAM,CAACG,QAAQ,CAAC;;;aAGjE;MAED,OAAOW,GAAG;+BACSA,GAAG,CAACd,MAAM,CAACE,WAAW,CAAC;;;;;;;;;aASzC;MACD,OAAOY,GAAG,mCAAmCA,GAAG,CAACd,MAAM,CAACE,WAAW,CAAC,sBAAsB;MAE1F,OAAOY,GAAG;+BACSA,GAAG,CAACd,MAAM,CAACK,cAAc,CAAC;;;;;;;uDAOFS,GAAG,CAACd,MAAM,CAACG,QAAQ,CAAC;0DACjBW,GAAG,CAACd,MAAM,CAACE,WAAW,CAAC;;;aAGpE;MACD,OAAOY,GAAG,sCAAsCA,GAAG,CAACd,MAAM,CAACK,cAAc,CAAC,eAAe;MACzF,OAAOS,GAAG,qCAAqCA,GAAG,CAACd,MAAM,CAACK,cAAc,CAAC,kDAAkD;IAC/H,CAAC;GACJ;CACJ,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.withStats = void 0;
|
|
7
|
+
var _effect = /*#__PURE__*/require("effect");
|
|
8
|
+
var _sql = /*#__PURE__*/require("effect/sql");
|
|
9
|
+
var _Classify = /*#__PURE__*/require("../Classify.js");
|
|
10
|
+
var _Classify2 = /*#__PURE__*/require("./Classify.js");
|
|
11
|
+
const decodeName = /*#__PURE__*/_effect.Schema.decodeUnknownEffect(/*#__PURE__*/_effect.Schema.Tuple([/*#__PURE__*/_effect.Schema.Struct({
|
|
12
|
+
name: _effect.Schema.String
|
|
13
|
+
})]));
|
|
14
|
+
const decodeTimes = /*#__PURE__*/_effect.Schema.decodeUnknownEffect(/*#__PURE__*/_effect.Schema.Tuple([/*#__PURE__*/_effect.Schema.Struct({
|
|
15
|
+
count: _effect.Schema.Int,
|
|
16
|
+
mean: /*#__PURE__*/_effect.Schema.NullOr(_effect.Schema.Finite),
|
|
17
|
+
min: /*#__PURE__*/_effect.Schema.NullOr(_effect.Schema.Finite),
|
|
18
|
+
max: /*#__PURE__*/_effect.Schema.NullOr(_effect.Schema.Finite)
|
|
19
|
+
})]));
|
|
20
|
+
const decodeMedian = /*#__PURE__*/_effect.Schema.decodeUnknownEffect(/*#__PURE__*/_effect.Schema.Array(/*#__PURE__*/_effect.Schema.Struct({
|
|
21
|
+
timeMillis: _effect.Schema.Finite
|
|
22
|
+
})));
|
|
23
|
+
const withStats = exports.withStats = /*#__PURE__*/_effect.Effect.fnUntraced(function* (use) {
|
|
24
|
+
const sql = yield* _sql.SqlClient.SqlClient;
|
|
25
|
+
const [{
|
|
26
|
+
name
|
|
27
|
+
}] = yield* decodeName(yield* sql`SELECT 'tots_stats_' || lower(hex(randomblob(16))) AS name;`);
|
|
28
|
+
return yield* _effect.Effect.acquireUseRelease(sql`CREATE TEMP TABLE ${sql(name)} (hashTestCase TEXT PRIMARY KEY, timeMillis REAL NOT NULL);`, () => _effect.Effect.gen(function* () {
|
|
29
|
+
yield* sql`CREATE INDEX ${sql(`${name}_time`)} ON ${sql(name)} (timeMillis);`;
|
|
30
|
+
const counts = yield* _effect.Ref.make({
|
|
31
|
+
TP: 0,
|
|
32
|
+
TN: 0,
|
|
33
|
+
FP: 0,
|
|
34
|
+
FN: 0,
|
|
35
|
+
total: 0
|
|
36
|
+
});
|
|
37
|
+
const add = _effect.Effect.fnUntraced(function* (results) {
|
|
38
|
+
for (let offset = 0; offset < results.length; offset += 50) {
|
|
39
|
+
const batch = results.slice(offset, offset + 50);
|
|
40
|
+
yield* sql`
|
|
41
|
+
INSERT INTO ${sql(name)} ${sql.insert(batch.map(({
|
|
42
|
+
hashTestCase,
|
|
43
|
+
timeMillis
|
|
44
|
+
}) => ({
|
|
45
|
+
hashTestCase,
|
|
46
|
+
timeMillis
|
|
47
|
+
})))}
|
|
48
|
+
ON CONFLICT(hashTestCase) DO NOTHING;
|
|
49
|
+
`;
|
|
50
|
+
yield* _effect.Ref.update(counts, previous => {
|
|
51
|
+
const next = {
|
|
52
|
+
...previous
|
|
53
|
+
};
|
|
54
|
+
for (const result of batch) {
|
|
55
|
+
next[result.label]++;
|
|
56
|
+
next.total++;
|
|
57
|
+
}
|
|
58
|
+
return next;
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
const stats = _effect.Effect.gen(function* () {
|
|
63
|
+
const totals = yield* _effect.Ref.get(counts);
|
|
64
|
+
const [times] = yield* decodeTimes(yield* sql`
|
|
65
|
+
SELECT COUNT(*) AS count, AVG(timeMillis) AS mean,
|
|
66
|
+
MIN(timeMillis) AS min, MAX(timeMillis) AS max FROM ${sql(name)};
|
|
67
|
+
`);
|
|
68
|
+
const middle = times.count === 0 ? [] : yield* decodeMedian(yield* sql`
|
|
69
|
+
SELECT timeMillis FROM ${sql(name)} ORDER BY timeMillis
|
|
70
|
+
LIMIT ${2 - times.count % 2} OFFSET ${Math.floor((times.count - 1) / 2)};
|
|
71
|
+
`);
|
|
72
|
+
return new _Classify.Stats({
|
|
73
|
+
...totals,
|
|
74
|
+
testCases: times.count,
|
|
75
|
+
precision: (0, _Classify2.precision)(totals),
|
|
76
|
+
recall: (0, _Classify2.recall)(totals),
|
|
77
|
+
timeMin: _effect.Option.fromNullishOr(times.min),
|
|
78
|
+
timeMax: _effect.Option.fromNullishOr(times.max),
|
|
79
|
+
timeMean: _effect.Option.fromNullishOr(times.mean),
|
|
80
|
+
timeMedian: middle.length === 0 ? _effect.Option.none() : _effect.Option.some(middle.reduce((sum, row) => sum + row.timeMillis, 0) / middle.length)
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
return yield* use({
|
|
84
|
+
add,
|
|
85
|
+
stats
|
|
86
|
+
});
|
|
87
|
+
}), () => sql`DROP TABLE ${sql(name)};`.pipe(_effect.Effect.asVoid));
|
|
88
|
+
});
|
|
89
|
+
//# sourceMappingURL=test-result-stats.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-result-stats.js","names":["_effect","require","_sql","_Classify","_Classify2","decodeName","Schema","decodeUnknownEffect","Tuple","Struct","name","String","decodeTimes","count","Int","mean","NullOr","Finite","min","max","decodeMedian","Array","timeMillis","withStats","exports","Effect","fnUntraced","use","sql","SqlClient","acquireUseRelease","gen","counts","Ref","make","TP","TN","FP","FN","total","add","results","offset","length","batch","slice","insert","map","hashTestCase","update","previous","next","result","label","stats","totals","get","times","middle","Math","floor","Stats","testCases","precision","recall","timeMin","Option","fromNullishOr","timeMax","timeMean","timeMedian","none","some","reduce","sum","row","pipe","asVoid"],"sources":["../../../src/internal/test-result-stats.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/dts/Classify.d.ts
CHANGED
|
@@ -8,7 +8,6 @@ export declare const values: {
|
|
|
8
8
|
readonly FP: 'FP';
|
|
9
9
|
readonly FN: 'FN';
|
|
10
10
|
};
|
|
11
|
-
export declare const defaultIsEqual: typeof internal.defaultIsEqual;
|
|
12
11
|
export declare const defaultIsNil: typeof internal.defaultIsNil;
|
|
13
12
|
export declare const makeClassify: typeof internal.makeClassify;
|
|
14
13
|
export type Classify<O, T> = (output: O, expected: T) => Label;
|
|
@@ -17,7 +16,10 @@ declare const Stats_base: Schema.Class<Stats, Schema.Struct<{
|
|
|
17
16
|
readonly TN: Schema.Finite;
|
|
18
17
|
readonly FP: Schema.Finite;
|
|
19
18
|
readonly FN: Schema.Finite;
|
|
19
|
+
/** Number of evaluation results. */
|
|
20
20
|
readonly total: Schema.Finite;
|
|
21
|
+
/** Number of distinct original test cases represented by those results. */
|
|
22
|
+
readonly testCases: Schema.Int;
|
|
21
23
|
readonly precision: Schema.Finite;
|
|
22
24
|
readonly recall: Schema.Finite;
|
|
23
25
|
readonly timeMin: Schema.Option<Schema.Finite>;
|
|
@@ -25,6 +27,7 @@ declare const Stats_base: Schema.Class<Stats, Schema.Struct<{
|
|
|
25
27
|
readonly timeMedian: Schema.Option<Schema.Finite>;
|
|
26
28
|
readonly timeMean: Schema.Option<Schema.Finite>;
|
|
27
29
|
}>, {}>;
|
|
30
|
+
/** Counts selected results; timing statistics count each selected case once. */
|
|
28
31
|
export declare class Stats extends Stats_base {
|
|
29
32
|
static empty(): Stats;
|
|
30
33
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Classify.d.ts","sourceRoot":"","sources":["../../src/Classify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,MAAM,EAAC,MAAM,QAAQ,CAAC;AAEtC,OAAO,KAAK,QAAQ,MAAM,wBAAwB,CAAC;AAEnD,eAAO,MAAM,WAAW,oDAAuB,CAAC;AAChD,MAAM,MAAM,KAAK,GAAG,OAAO,WAAW,CAAC,IAAI,CAAC;AAE5C,eAAO,MAAM,MAAM;;;;;CAAkB,CAAC;AACtC,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"Classify.d.ts","sourceRoot":"","sources":["../../src/Classify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,MAAM,EAAC,MAAM,QAAQ,CAAC;AAEtC,OAAO,KAAK,QAAQ,MAAM,wBAAwB,CAAC;AAEnD,eAAO,MAAM,WAAW,oDAAuB,CAAC;AAChD,MAAM,MAAM,KAAK,GAAG,OAAO,WAAW,CAAC,IAAI,CAAC;AAE5C,eAAO,MAAM,MAAM;;;;;CAAkB,CAAC;AACtC,eAAO,MAAM,YAAY,8BAAwB,CAAC;AAClD,eAAO,MAAM,YAAY,8BAAwB,CAAC;AAElD,MAAM,MAAM,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,KAAK,CAAC;;;;;;IAQ3D,oCAAoC;;IAEpC,2EAA2E;;;;;;;;;AAR/E,gFAAgF;AAChF,qBAAa,KAAM,SAAQ,UAezB;IACE,MAAM,CAAC,KAAK,IAAI,KAAK,CAepB;CACJ"}
|
|
@@ -1,39 +1,38 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { SqlError } from 'effect/sql/SqlError';
|
|
2
2
|
import { Schema } from 'effect';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
import type { TestValueError } from './TestValueError.js';
|
|
4
|
+
export { TestValueError } from './TestValueError.js';
|
|
5
|
+
declare const TestRunNotCreated_base: Schema.Class<TestRunNotCreated, Schema.TaggedStruct<"TestRunNotCreated", {
|
|
6
|
+
readonly testSuiteName: Schema.String;
|
|
6
7
|
}>, import("effect/Cause").YieldableError & {
|
|
7
8
|
readonly brand: unique symbol;
|
|
8
9
|
}>;
|
|
9
|
-
export declare class
|
|
10
|
-
static fromSql: (operation: string) => (cause: SqlError) => RepositoryQueryError;
|
|
10
|
+
export declare class TestRunNotCreated extends TestRunNotCreated_base {
|
|
11
11
|
}
|
|
12
|
-
declare const
|
|
13
|
-
readonly
|
|
14
|
-
readonly
|
|
12
|
+
declare const TestRunIncomplete_base: Schema.Class<TestRunIncomplete, Schema.TaggedStruct<"TestRunIncomplete", {
|
|
13
|
+
readonly testSuiteName: Schema.String;
|
|
14
|
+
readonly testRunId: Schema.Int;
|
|
15
|
+
readonly variant: Schema.String;
|
|
15
16
|
}>, import("effect/Cause").YieldableError & {
|
|
16
17
|
readonly brand: unique symbol;
|
|
17
18
|
}>;
|
|
18
|
-
|
|
19
|
-
|
|
19
|
+
/** A complete saved run is required for this operation. */
|
|
20
|
+
export declare class TestRunIncomplete extends TestRunIncomplete_base {
|
|
20
21
|
}
|
|
21
|
-
declare const
|
|
22
|
-
readonly
|
|
23
|
-
readonly cause: Schema.instanceOf<Schema.SchemaError, unknown>;
|
|
22
|
+
declare const TestRunNotFound_base: Schema.Class<TestRunNotFound, Schema.TaggedStruct<"TestRunNotFound", {
|
|
23
|
+
readonly testRunId: Schema.Int;
|
|
24
24
|
}>, import("effect/Cause").YieldableError & {
|
|
25
25
|
readonly brand: unique symbol;
|
|
26
26
|
}>;
|
|
27
|
-
export declare class
|
|
28
|
-
static from: (operation: string) => (cause: Schema.SchemaError) => RepositoryDecodeError;
|
|
27
|
+
export declare class TestRunNotFound extends TestRunNotFound_base {
|
|
29
28
|
}
|
|
30
|
-
declare const
|
|
29
|
+
declare const TestBaselineNotFound_base: Schema.Class<TestBaselineNotFound, Schema.TaggedStruct<"TestBaselineNotFound", {
|
|
31
30
|
readonly testSuiteName: Schema.String;
|
|
31
|
+
readonly variant: Schema.String;
|
|
32
32
|
}>, import("effect/Cause").YieldableError & {
|
|
33
33
|
readonly brand: unique symbol;
|
|
34
34
|
}>;
|
|
35
|
-
export declare class
|
|
35
|
+
export declare class TestBaselineNotFound extends TestBaselineNotFound_base {
|
|
36
36
|
}
|
|
37
|
-
export type RepositoryError =
|
|
38
|
-
export {};
|
|
37
|
+
export type RepositoryError = SqlError | Schema.SchemaError | TestValueError | TestRunNotCreated | TestRunIncomplete | TestRunNotFound | TestBaselineNotFound;
|
|
39
38
|
//# sourceMappingURL=RepositoryError.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RepositoryError.d.ts","sourceRoot":"","sources":["../../src/RepositoryError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"RepositoryError.d.ts","sourceRoot":"","sources":["../../src/RepositoryError.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAC,MAAM,EAAC,MAAM,QAAQ,CAAC;AAC9B,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;;;;oBAI9B,OAAO,MAAM;;AAFlC,qBAAa,iBAAkB,SAAQ,sBAGiB;CAAG;;;;;;oBAKtC,OAAO,MAAM;;AAHlC,2DAA2D;AAC3D,qBAAa,iBAAkB,SAAQ,sBAOrC;CAAG;;;;oBAIgB,OAAO,MAAM;;AAFlC,qBAAa,eAAgB,SAAQ,oBAGU;CAAG;;;;;oBAI7B,OAAO,MAAM;;AAFlC,qBAAa,oBAAqB,SAAQ,yBAMxC;CAAG;AAEL,MAAM,MAAM,eAAe,GACrB,QAAQ,GACR,MAAM,CAAC,WAAW,GAClB,cAAc,GACd,iBAAiB,GACjB,iBAAiB,GACjB,eAAe,GACf,oBAAoB,CAAC"}
|
package/dist/dts/Show.d.ts
CHANGED
|
@@ -2,8 +2,8 @@ import type { Option } from 'effect';
|
|
|
2
2
|
import type { Stats } from './Classify.js';
|
|
3
3
|
import type { Diff, TestResult } from './Test.js';
|
|
4
4
|
export { showDiff as diff } from './internal/diff.js';
|
|
5
|
-
export { showStats as stats } from './internal/stats.js';
|
|
6
|
-
export { showSummary as summarize } from './internal/summarize.js';
|
|
5
|
+
export { showStats as stats, showRunSummaries as runSummaries, } from './internal/stats.js';
|
|
6
|
+
export { showSummary as summarize, prepareSummary, prepareComparison, } from './internal/summarize.js';
|
|
7
7
|
export type DiffContext = {
|
|
8
8
|
diff: Diff;
|
|
9
9
|
};
|
|
@@ -16,19 +16,19 @@ export type DiffColumn = {
|
|
|
16
16
|
export type StatsContext = {
|
|
17
17
|
stats: Stats;
|
|
18
18
|
};
|
|
19
|
-
export type StatsColumnNames = 'total' | 'TP' | 'TN' | 'FP' | 'FN' | 'precision' | 'recall' | 'timeMin' | 'timeMax' | 'timeMean' | 'timeMedian';
|
|
19
|
+
export type StatsColumnNames = 'total' | 'testCases' | 'TP' | 'TN' | 'FP' | 'FN' | 'precision' | 'recall' | 'timeMin' | 'timeMax' | 'timeMean' | 'timeMedian';
|
|
20
20
|
export type StatsColumn = {
|
|
21
21
|
name: StatsColumnNames;
|
|
22
22
|
label: string;
|
|
23
23
|
make: (ctx: StatsContext) => string[];
|
|
24
24
|
};
|
|
25
|
-
export type SummarizeContext = {
|
|
25
|
+
export type SummarizeContext<I = unknown, O = unknown, T = unknown> = {
|
|
26
26
|
i: number;
|
|
27
|
-
|
|
28
|
-
testResult: TestResult
|
|
29
|
-
previousTestResult: Option.Option<TestResult
|
|
27
|
+
resultKeys: string[];
|
|
28
|
+
testResult: TestResult<I, O, T>;
|
|
29
|
+
previousTestResult: Option.Option<TestResult<I, O, T>>;
|
|
30
30
|
};
|
|
31
|
-
export type SummarizeColumnNames = 'index' | 'hash' | 'timeMillis' | 'input' | 'tags' | 'label' | 'expected' | 'result' | 'result_diff' | 'prev_label' | 'prev_result' | 'prev_result_diff';
|
|
31
|
+
export type SummarizeColumnNames = 'index' | 'hash' | 'key' | 'timeMillis' | 'input' | 'tags' | 'label' | 'expected' | 'result' | 'result_diff' | 'prev_label' | 'prev_result' | 'prev_result_diff';
|
|
32
32
|
export type SummarizeColumn = {
|
|
33
33
|
name: SummarizeColumnNames;
|
|
34
34
|
label: string;
|
package/dist/dts/Show.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Show.d.ts","sourceRoot":"","sources":["../../src/Show.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,QAAQ,CAAC;AAEnC,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,EAAC,IAAI,EAAE,UAAU,EAAC,MAAM,WAAW,CAAC;AAEhD,OAAO,EAAC,QAAQ,IAAI,IAAI,EAAC,MAAM,oBAAoB,CAAC;AACpD,OAAO,
|
|
1
|
+
{"version":3,"file":"Show.d.ts","sourceRoot":"","sources":["../../src/Show.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,QAAQ,CAAC;AAEnC,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,EAAC,IAAI,EAAE,UAAU,EAAC,MAAM,WAAW,CAAC;AAEhD,OAAO,EAAC,QAAQ,IAAI,IAAI,EAAC,MAAM,oBAAoB,CAAC;AACpD,OAAO,EACH,SAAS,IAAI,KAAK,EAClB,gBAAgB,IAAI,YAAY,GACnC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACH,WAAW,IAAI,SAAS,EACxB,cAAc,EACd,iBAAiB,GACpB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,MAAM,WAAW,GAAG;IACtB,IAAI,EAAE,IAAI,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,eAAe,GACrB,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,WAAW,GACX,QAAQ,CAAC;AAEf,MAAM,MAAM,UAAU,GAAG;IACrB,IAAI,EAAE,eAAe,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,MAAM,EAAE,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACvB,KAAK,EAAE,KAAK,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GACtB,OAAO,GACP,WAAW,GACX,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,WAAW,GACX,QAAQ,GACR,SAAS,GACT,SAAS,GACT,UAAU,GACV,YAAY,CAAC;AAEnB,MAAM,MAAM,WAAW,GAAG;IACtB,IAAI,EAAE,gBAAgB,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,MAAM,EAAE,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO,IAAI;IAClE,CAAC,EAAE,MAAM,CAAC;IACV,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAChC,kBAAkB,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;CAC1D,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAC1B,OAAO,GACP,MAAM,GACN,KAAK,GACL,YAAY,GACZ,OAAO,GACP,MAAM,GACN,OAAO,GACP,UAAU,GACV,QAAQ,GACR,aAAa,GACb,YAAY,GACZ,aAAa,GACb,kBAAkB,CAAC;AAEzB,MAAM,MAAM,eAAe,GAAG;IAC1B,IAAI,EAAE,oBAAoB,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,CAAC,GAAG,EAAE,gBAAgB,KAAK,MAAM,EAAE,CAAC;CAC7C,CAAC"}
|
package/dist/dts/Test.d.ts
CHANGED
|
@@ -1,16 +1,101 @@
|
|
|
1
|
-
import { Effect, Option, type Stream } from 'effect';
|
|
2
|
-
import type {
|
|
1
|
+
import { type Array, type Effect, type Option, Schema, type Stream } from 'effect';
|
|
2
|
+
import type { Label, Stats } from './Classify.js';
|
|
3
3
|
import * as internal from './internal/Test.js';
|
|
4
4
|
import type { TestRun, TestResultSchemas } from './Test.repository.js';
|
|
5
|
-
|
|
5
|
+
/** Codecs must encode deterministically and preserve values through JSON. */
|
|
6
|
+
export type TestSuiteSchemas<I, T, A, B> = TestResultSchemas<I, A, B> & {
|
|
7
|
+
testCase: {
|
|
8
|
+
expected: Schema.Codec<T, unknown>;
|
|
9
|
+
};
|
|
10
|
+
};
|
|
6
11
|
export type TestCases<I, T, E = never, R = never> = ReadonlyArray<TestCase<I, T>> | Stream.Stream<TestCase<I, T>, E, R>;
|
|
7
|
-
export type
|
|
8
|
-
|
|
12
|
+
export type EvaluationResult<A, B> = {
|
|
13
|
+
/** Non-empty and unique within the case. Keep it stable across runs. */
|
|
14
|
+
readonly key: string;
|
|
15
|
+
readonly result: A;
|
|
16
|
+
readonly expected: B;
|
|
17
|
+
readonly label: Label;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Returns the results to track for one completed output. Keep this function pure.
|
|
21
|
+
* Return at least one result, in display order. Each key must be non-empty and
|
|
22
|
+
* unique within the case.
|
|
23
|
+
*/
|
|
24
|
+
export type Evaluate<O, T, A = O, B = T> = (output: O, expected: T) => Array.NonEmptyReadonlyArray<EvaluationResult<A, B>>;
|
|
25
|
+
export type TestSuitePrograms<I, O, E, R> = {
|
|
9
26
|
program: Program<I, O, E, R>;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
27
|
+
variants?: never;
|
|
28
|
+
} | {
|
|
29
|
+
program?: never;
|
|
30
|
+
variants: Readonly<Record<string, {
|
|
31
|
+
program: Program<I, O, E, R>;
|
|
32
|
+
}>>;
|
|
33
|
+
};
|
|
34
|
+
type SuiteProgram<S> = S extends {
|
|
35
|
+
program: infer P;
|
|
36
|
+
} ? P : S extends {
|
|
37
|
+
variants: infer V;
|
|
38
|
+
} ? V[keyof V] extends {
|
|
39
|
+
program: infer P;
|
|
40
|
+
} ? P : never : never;
|
|
41
|
+
type ProgramEffect<S> = SuiteProgram<S> extends (...args: never[]) => infer F ? F : never;
|
|
42
|
+
/** Errors from every configured program and from the case stream. */
|
|
43
|
+
export type TestSuiteError<S> = Effect.Error<ProgramEffect<S>> | Stream.Error<S extends {
|
|
44
|
+
testCases: infer C;
|
|
45
|
+
} ? C : never>;
|
|
46
|
+
/** Callers provide all services used by any program or the case stream. */
|
|
47
|
+
export type TestSuiteServices<S> = Effect.Services<ProgramEffect<S>> | Stream.Services<S extends {
|
|
48
|
+
testCases: infer C;
|
|
49
|
+
} ? C : never>;
|
|
50
|
+
/**
|
|
51
|
+
* Keep source effect types. Skip `evaluate` during inference so the suite supplies
|
|
52
|
+
* its callback parameter types.
|
|
53
|
+
*/
|
|
54
|
+
export type InferTestSuite<S> = {
|
|
55
|
+
[K in keyof S]: K extends 'evaluate' ? unknown : S[K];
|
|
13
56
|
};
|
|
57
|
+
export type SelectedProgram<S> = Program<SuiteProgram<S> extends (input: infer I) => unknown ? I : never, Effect.Success<ProgramEffect<S>>, Effect.Error<ProgramEffect<S>>, Effect.Services<ProgramEffect<S>>>;
|
|
58
|
+
declare const TestVariantRequired_base: Schema.Class<TestVariantRequired, Schema.TaggedStruct<"TestVariantRequired", {
|
|
59
|
+
readonly testSuiteName: Schema.String;
|
|
60
|
+
}>, import("effect/Cause").YieldableError & {
|
|
61
|
+
readonly brand: unique symbol;
|
|
62
|
+
}>;
|
|
63
|
+
export declare class TestVariantRequired extends TestVariantRequired_base {
|
|
64
|
+
}
|
|
65
|
+
declare const TestVariantNotFound_base: Schema.Class<TestVariantNotFound, Schema.TaggedStruct<"TestVariantNotFound", {
|
|
66
|
+
readonly testSuiteName: Schema.String;
|
|
67
|
+
readonly variant: Schema.String;
|
|
68
|
+
}>, import("effect/Cause").YieldableError & {
|
|
69
|
+
readonly brand: unique symbol;
|
|
70
|
+
}>;
|
|
71
|
+
export declare class TestVariantNotFound extends TestVariantNotFound_base {
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Defines either one `program` or named `variants` that share cases, schemas,
|
|
75
|
+
* and evaluation. A single program has the permanent variant ID `default`.
|
|
76
|
+
* Named variants need an explicit selection, even when there is only one.
|
|
77
|
+
* Variant IDs must be non-empty, contain no commas, and not start with `run:`.
|
|
78
|
+
* Editing a program keeps its history; changing its ID starts another history.
|
|
79
|
+
* An empty `variants` map keeps saved runs readable after all programs are removed.
|
|
80
|
+
*
|
|
81
|
+
* Runs the selected program once per distinct input/expected-value hash, then
|
|
82
|
+
* evaluates its output. Later duplicates are warned about and skipped; the first
|
|
83
|
+
* case's tags are kept. `O` and `T` describe the whole output and expected value;
|
|
84
|
+
* `A` and `B` describe the evaluated values.
|
|
85
|
+
* Without `evaluate`, reuse the same schema for evaluation.result and
|
|
86
|
+
* evaluation.expected. Schema equality produces one result with key `result`.
|
|
87
|
+
*/
|
|
88
|
+
export type TestSuite<I = unknown, O = unknown, T = unknown, E = never, R = never, A = O, B = T> = {
|
|
89
|
+
name: string;
|
|
90
|
+
} & (({
|
|
91
|
+
schemas: TestSuiteSchemas<I, T, A, B>;
|
|
92
|
+
testCases: TestCases<I, T, E, R>;
|
|
93
|
+
evaluate: Evaluate<O, T, A, B>;
|
|
94
|
+
} & TestSuitePrograms<I, O, E, R>) | ({
|
|
95
|
+
schemas: TestSuiteSchemas<I, T & NoInfer<B>, A, B>;
|
|
96
|
+
testCases: TestCases<I, T & NoInfer<B>, E, R>;
|
|
97
|
+
evaluate?: undefined;
|
|
98
|
+
} & TestSuitePrograms<I, O & NoInfer<A>, E, R>));
|
|
14
99
|
export type TestCase<I, T> = {
|
|
15
100
|
input: I;
|
|
16
101
|
expected: T;
|
|
@@ -19,17 +104,27 @@ export type TestCase<I, T> = {
|
|
|
19
104
|
export type Program<I, O, E = never, R = never> = (input: I) => Effect.Effect<O, E, R>;
|
|
20
105
|
export type TestResult<I = unknown, O = unknown, T = unknown> = {
|
|
21
106
|
id: string;
|
|
107
|
+
/** Hash of the original input and expected value, shared by all case results. */
|
|
22
108
|
hashTestCase: string;
|
|
109
|
+
key: string;
|
|
110
|
+
/** Zero-based position of the case in the suite. */
|
|
23
111
|
ordering: number;
|
|
112
|
+
/** Zero-based position of the result in the case's evaluation array. */
|
|
113
|
+
resultOrdering: number;
|
|
24
114
|
label: Label;
|
|
25
115
|
input: I;
|
|
26
116
|
result: O;
|
|
27
117
|
expected: T;
|
|
28
118
|
tags: readonly string[];
|
|
119
|
+
/** Program duration for the case, shared by all its results. */
|
|
29
120
|
timeMillis: number;
|
|
30
121
|
};
|
|
31
|
-
export type TestRunResults<I = unknown, O = unknown, T = unknown> = TestRun & {
|
|
32
|
-
|
|
122
|
+
export type TestRunResults<I = unknown, O = unknown, T = unknown> = Pick<TestRun, 'id' | 'name' | 'variant' | 'state'> & {
|
|
123
|
+
/** Indexed by `resultKey`, which combines the case hash and evaluation key. */
|
|
124
|
+
testResultsByKey: Record<string, TestResult<I, O, T>>;
|
|
125
|
+
/** Keys into `testResultsByKey`, in display order. */
|
|
126
|
+
testResultKeys: string[];
|
|
127
|
+
/** Distinct case hashes, in display order. */
|
|
33
128
|
testCaseHashes: string[];
|
|
34
129
|
stats: Stats;
|
|
35
130
|
};
|
|
@@ -41,8 +136,57 @@ export type TestResultPredicate<I, O, T> = (args: {
|
|
|
41
136
|
testResult: TestResult<I, O, T>;
|
|
42
137
|
previousTestResult: Option.Option<TestResult<I, O, T>>;
|
|
43
138
|
}) => boolean;
|
|
139
|
+
export type TestResultComparison<I, A, B> = {
|
|
140
|
+
_tag: 'Matched';
|
|
141
|
+
from: TestResult<I, A, B>;
|
|
142
|
+
to: TestResult<I, A, B>;
|
|
143
|
+
changed: boolean;
|
|
144
|
+
} | {
|
|
145
|
+
_tag: 'OnlyFrom';
|
|
146
|
+
from: TestResult<I, A, B>;
|
|
147
|
+
} | {
|
|
148
|
+
_tag: 'OnlyTo';
|
|
149
|
+
to: TestResult<I, A, B>;
|
|
150
|
+
};
|
|
151
|
+
/** Selects a program without running it or requiring its services. */
|
|
152
|
+
export declare const selectVariant: typeof internal.selectVariant;
|
|
153
|
+
/**
|
|
154
|
+
* Runs only the selected program. Its error and service types include every
|
|
155
|
+
* configured program and the case stream, even when the variant ID is a literal.
|
|
156
|
+
*/
|
|
44
157
|
export declare const all: typeof internal.all;
|
|
158
|
+
/**
|
|
159
|
+
* Compares complete saved runs without evaluating again. The shared codecs must
|
|
160
|
+
* decode both runs and require no Effect services. Callers decide whether comparing
|
|
161
|
+
* different suites or program versions is meaningful.
|
|
162
|
+
*
|
|
163
|
+
* Results match by case hash and evaluation key. A match changes when its label
|
|
164
|
+
* or evaluated values change. Rows follow `to` order, followed by rows found only
|
|
165
|
+
* in `from`, in `from` order. Empty complete runs are valid comparison endpoints.
|
|
166
|
+
* Resolve missing baselines before calling; both endpoints must be saved runs.
|
|
167
|
+
* Incompatible codecs fail with `TestValueError`, which names the saved suite.
|
|
168
|
+
*/
|
|
169
|
+
export declare const compareRuns: typeof internal.compareRuns;
|
|
170
|
+
/**
|
|
171
|
+
* Summarizes all matching results in a complete saved run. Each case contributes
|
|
172
|
+
* its timing once. Empty complete runs have zero counts and no timing values.
|
|
173
|
+
* The shared codecs must still read that run. The caller decides whether the
|
|
174
|
+
* stored values still have the same meaning. Resolve a missing baseline before
|
|
175
|
+
* calling; it differs from an empty run.
|
|
176
|
+
*/
|
|
177
|
+
export declare const summarizeRun: <I, A, B>(args_0: {
|
|
178
|
+
run: TestRun;
|
|
179
|
+
schemas: TestResultSchemas<I, A, B>;
|
|
180
|
+
predicate?: (result: TestResult<I, A, B>) => boolean;
|
|
181
|
+
}) => Effect.Effect<{
|
|
182
|
+
run: TestRun;
|
|
183
|
+
stats: Stats;
|
|
184
|
+
}, import("./RepositoryError.ts").RepositoryError, import("./Test.repository.js").TestRepository>;
|
|
45
185
|
export declare const diff: typeof internal.diff;
|
|
46
|
-
|
|
186
|
+
/** Builds the lookup key for one evaluation within its original test case. */
|
|
187
|
+
export declare const resultKey: typeof internal.resultKey;
|
|
47
188
|
export declare const runCollectRecord: typeof internal.runCollectRecord;
|
|
189
|
+
/** Keeps matching results and recalculates counts and case timing statistics. */
|
|
190
|
+
export declare const filterResults: typeof internal.filterResults;
|
|
191
|
+
export {};
|
|
48
192
|
//# sourceMappingURL=Test.d.ts.map
|