Skip to content

Commit 9e73388

Browse files
fix script name, script testcase name
1 parent b8ab8b5 commit 9e73388

File tree

5 files changed

+58
-46
lines changed

5 files changed

+58
-46
lines changed

.github/workflows/sharded-vitest.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jobs:
3232
run: npx vitest --run --shard=${{ matrix.shard }}/${{ matrix.total-shards }} vitest-sharded-example/tests/** --reporter=junit --outputFile=./vitest-sharded-example/results-${{ matrix.shard }}.xml
3333

3434
- name: Combine Vitest Sharded results
35-
run: node ./scripts/combine-results.js --reports-dir vitest-sharded-example --output-file vitest-sharded-example/currents.results.xml
35+
run: node ./scripts/combineResults.js --reports-dir vitest-sharded-example --output-file vitest-sharded-example/currents.results.xml
3636

3737
- name: Generate Instance files
3838
run: node scripts/junitXmlToInstanceJson.js --input vitest-sharded-example/currents.results.xml --output vitest-sharded-example/instances

package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,11 @@
1313
"gen-instance-vitest": "node scripts/junitXmlToInstanceJson.js --input vitest-example/currents.results.xml --output vitest-example/instances",
1414
"report-results-vitest": "node scripts/uploadResults.js --report-dir vitest-example",
1515
"vitest:full": "npm run test-vitest || true && npm run gen-instance-vitest && npm run report-results-vitest",
16-
"test-wdio": "npx wdio run wdio-example/wdio.conf.js || true && node ./scripts/combine-results.js --reports-dir wdio-example --output-file wdio-example/currents.results.xml",
16+
"test-wdio": "npx wdio run wdio-example/wdio.conf.js || true && node ./scripts/combineResults.js --reports-dir wdio-example --output-file wdio-example/currents.results.xml",
1717
"gen-instance-wdio": "node scripts/junitXmlToInstanceJson.js --input wdio-example/currents.results.xml --output wdio-example/instances",
1818
"report-results-wdio": "node scripts/uploadResults.js --report-dir wdio-example",
1919
"wdio:full": "npm run test-wdio || true && npm run gen-instance-wdio && npm run report-results-wdio",
20-
"test-cy": "npx cypress run --config-file cy-example/cypress.config.js || true && node ./scripts/combine-results.js --reports-dir cy-example --output-file cy-example/currents.results.xml",
20+
"test-cy": "npx cypress run --config-file cy-example/cypress.config.js || true && node ./scripts/combineResults.js --reports-dir cy-example --output-file cy-example/currents.results.xml",
2121
"gen-instance-cy": "node scripts/junitXmlToInstanceJson.js --input cy-example/currents.results.xml --output cy-example/instances",
2222
"report-results-cy": "node scripts/uploadResults.js --report-dir cy-example",
2323
"cy:full": "npm run test-cy || true && npm run gen-instance-cy && npm run report-results-cy"

scripts/combine-results.js renamed to scripts/combineResults.js

+24-12
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,28 @@ const xml2js = require("xml2js");
33
const path = require("path");
44

55
const args = process.argv.slice(2);
6-
const reportsDirIndex = args.indexOf('--reports-dir');
7-
const outputFileIndex = args.indexOf('--output-file');
6+
const reportsDirIndex = args.indexOf("--reports-dir");
7+
const outputFileIndex = args.indexOf("--output-file");
88

9-
const reportsDir = reportsDirIndex !== -1 ? args[reportsDirIndex + 1] : "wdio-example";
10-
const outputFile = outputFileIndex !== -1 ? args[outputFileIndex + 1] : "wdio-example/combined-results.xml";
9+
const reportsDir =
10+
reportsDirIndex !== -1 ? args[reportsDirIndex + 1] : "wdio-example";
11+
const outputFile =
12+
outputFileIndex !== -1
13+
? args[outputFileIndex + 1]
14+
: "wdio-example/combined-results.xml";
1115

1216
if (reportsDirIndex === -1 || outputFileIndex === -1) {
13-
console.log('Usage: node script.js --reports-dir <directory> --output-file <file>');
14-
console.log(`Using defaults: --reports-dir="${reportsDir}" --output-file="${outputFile}"`);
17+
console.log(
18+
"Usage: node script.js --reports-dir <directory> --output-file <file>"
19+
);
20+
console.log(
21+
`Using defaults: --reports-dir="${reportsDir}" --output-file="${outputFile}"`
22+
);
1523
}
1624

1725
async function processTestSuites(testsuites) {
1826
const processedSuites = [];
19-
27+
2028
for (let i = 0; i < testsuites.length; i++) {
2129
const currentSuite = testsuites[i];
2230
const nextSuite = testsuites[i + 1];
@@ -43,17 +51,21 @@ async function combineResults() {
4351

4452
let combinedTestsuites = {
4553
testsuites: {
46-
$: {},
47-
testsuite: []
48-
}
54+
$: {
55+
name: "vitest tests",
56+
},
57+
testsuite: [],
58+
},
4959
};
5060

5161
for (const file of files) {
5262
const content = fs.readFileSync(path.join(reportsDir, file), "utf-8");
5363
const result = await xml2js.parseStringPromise(content);
5464

5565
if (result.testsuites && result.testsuites.testsuite) {
56-
const processedSuites = await processTestSuites(result.testsuites.testsuite);
66+
const processedSuites = await processTestSuites(
67+
result.testsuites.testsuite
68+
);
5769
combinedTestsuites.testsuites.testsuite.push(...processedSuites);
5870
}
5971
}
@@ -69,4 +81,4 @@ async function combineResults() {
6981
console.log("Results combined into:", outputFile);
7082
}
7183

72-
combineResults().catch(console.error);
84+
combineResults().catch(console.error);

vitest-example/currents.results.xml

+16-16
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
<?xml version="1.0" encoding="UTF-8" ?>
2-
<testsuites name="vitest tests" tests="13" failures="2" errors="0" time="0.28">
3-
<testsuite name="vitest-example/tests/numberUtils.spec.js" timestamp="2024-11-25T16:54:47.102Z" hostname="Miguels-Laptop.local" tests="7" failures="0" errors="0" skipped="0" time="0.007122709">
4-
<testcase classname="vitest-example/tests/numberUtils.spec.js" name="calculateAverage &gt; calculates average of positive numbers" time="0.000810916">
2+
<testsuites name="vitest tests" tests="13" failures="2" errors="0" time="0.339">
3+
<testsuite name="vitest-example/tests/numberUtils.spec.js" timestamp="2024-11-27T15:47:40.203Z" hostname="Miguels-Laptop.local" tests="7" failures="0" errors="0" skipped="0" time="0.0078447084">
4+
<testcase classname="vitest-example/tests/numberUtils.spec.js" name="calculateAverage &gt; calculates average of positive numbers" time="0.0009313755">
55
</testcase>
6-
<testcase classname="vitest-example/tests/numberUtils.spec.js" name="calculateAverage &gt; handles array with single number" time="0.000148916">
6+
<testcase classname="vitest-example/tests/numberUtils.spec.js" name="calculateAverage &gt; handles array with single number" time="0.0001673756">
77
</testcase>
8-
<testcase classname="vitest-example/tests/numberUtils.spec.js" name="calculateAverage &gt; handles empty array" time="0.000068583">
8+
<testcase classname="vitest-example/tests/numberUtils.spec.js" name="calculateAverage &gt; handles empty array" time="0.0000655832">
99
</testcase>
10-
<testcase classname="vitest-example/tests/numberUtils.spec.js" name="calculateAverage &gt; handles negative numbers" time="0.000069084">
10+
<testcase classname="vitest-example/tests/numberUtils.spec.js" name="calculateAverage &gt; handles negative numbers" time="0.0000684576">
1111
</testcase>
12-
<testcase classname="vitest-example/tests/numberUtils.spec.js" name="calculateAverage &gt; handles decimal numbers" time="0.000162458">
12+
<testcase classname="vitest-example/tests/numberUtils.spec.js" name="calculateAverage &gt; handles decimal numbers" time="0.0002002916">
1313
</testcase>
14-
<testcase classname="vitest-example/tests/numberUtils.spec.js" name="calculateAverage &gt; returns 0 for invalid input" time="0.00006825">
14+
<testcase classname="vitest-example/tests/numberUtils.spec.js" name="calculateAverage &gt; returns 0 for invalid input" time="0.000073041">
1515
</testcase>
16-
<testcase classname="vitest-example/tests/numberUtils.spec.js" name="calculateAverage &gt; timeout" time="0.005171916">
16+
<testcase classname="vitest-example/tests/numberUtils.spec.js" name="calculateAverage &gt; timeout" time="0.0056372919">
1717
<system-out>
1818
COUNT:: 1 1
1919
TIMEO::
@@ -25,16 +25,16 @@ DEL::
2525
</system-out>
2626
</testcase>
2727
</testsuite>
28-
<testsuite name="vitest-example/tests/stringUtils.spec.js" timestamp="2024-11-25T16:54:47.104Z" hostname="Miguels-Laptop.local" tests="6" failures="2" errors="0" skipped="0" time="0.007103792">
29-
<testcase classname="vitest-example/tests/stringUtils.spec.js" name="capitalizeWords &gt; capitalizes first letter of each word" time="0.000799792">
28+
<testsuite name="vitest-example/tests/stringUtils.spec.js" timestamp="2024-11-27T15:47:40.206Z" hostname="Miguels-Laptop.local" tests="6" failures="2" errors="0" skipped="0" time="0.0081894999">
29+
<testcase classname="vitest-example/tests/stringUtils.spec.js" name="capitalizeWords &gt; capitalizes first letter of each word" time="0.0009870834">
3030
</testcase>
31-
<testcase classname="vitest-example/tests/stringUtils.spec.js" name="capitalizeWords &gt; handles already capitalized words" time="0.000095958">
31+
<testcase classname="vitest-example/tests/stringUtils.spec.js" name="capitalizeWords &gt; handles already capitalized words" time="0.0001754999">
3232
</testcase>
33-
<testcase classname="vitest-example/tests/stringUtils.spec.js" name="capitalizeWords &gt; handles empty string" time="0.000067417">
33+
<testcase classname="vitest-example/tests/stringUtils.spec.js" name="capitalizeWords &gt; handles empty string" time="0.0000664997">
3434
</testcase>
35-
<testcase classname="vitest-example/tests/stringUtils.spec.js" name="capitalizeWords &gt; handles single word" time="0.000128">
35+
<testcase classname="vitest-example/tests/stringUtils.spec.js" name="capitalizeWords &gt; handles single word" time="0.0000707912">
3636
</testcase>
37-
<testcase classname="vitest-example/tests/stringUtils.spec.js" name="capitalizeWords &gt; handles mixed case input" time="0.004466708">
37+
<testcase classname="vitest-example/tests/stringUtils.spec.js" name="capitalizeWords &gt; handles mixed case input" time="0.0051186256">
3838
<failure message="expected &apos;Hello World&apos; to be &apos;Hello World!&apos; // Object.is equality" type="AssertionError">
3939
AssertionError: expected &apos;Hello World&apos; to be &apos;Hello World!&apos; // Object.is equality
4040

@@ -68,7 +68,7 @@ Received: &quot;Hello World&quot;
6868
❯ vitest-example/tests/stringUtils.spec.js:22:44
6969
</failure>
7070
</testcase>
71-
<testcase classname="vitest-example/tests/stringUtils.spec.js" name="capitalizeWords &gt; errors on number received" time="0.000910709">
71+
<testcase classname="vitest-example/tests/stringUtils.spec.js" name="capitalizeWords &gt; errors on number received" time="0.0010262918">
7272
<failure message="str.split is not a function" type="TypeError">
7373
TypeError: str.split is not a function
7474
❯ Module.capitalizeWords vitest-example/stringUtils.js:4:6
+15-15
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2-
<testsuites>
3-
<testsuite name="vitest-sharded-example/tests/stringUtils.spec.js" timestamp="2024-11-27T15:31:38.685Z" hostname="Miguels-Laptop.local" tests="6" failures="2" errors="0" skipped="0" time="0.0070791655">
4-
<testcase classname="vitest-sharded-example/tests/stringUtils.spec.js" name="capitalizeWords > capitalizes first letter of each word" time="0.0013899584"/>
5-
<testcase classname="vitest-sharded-example/tests/stringUtils.spec.js" name="capitalizeWords > handles already capitalized words" time="0.0001815844"/>
6-
<testcase classname="vitest-sharded-example/tests/stringUtils.spec.js" name="capitalizeWords > handles empty string" time="0.0000715828"/>
7-
<testcase classname="vitest-sharded-example/tests/stringUtils.spec.js" name="capitalizeWords > handles single word" time="0.0000698757"/>
8-
<testcase classname="vitest-sharded-example/tests/stringUtils.spec.js" name="capitalizeWords > handles mixed case input" time="0.0040080833">
2+
<testsuites name="vitest tests">
3+
<testsuite name="vitest-sharded-example/tests/stringUtils.spec.js" timestamp="2024-11-27T15:44:32.148Z" hostname="Miguels-Laptop.local" tests="6" failures="2" errors="0" skipped="0" time="0.0063649998">
4+
<testcase classname="vitest-sharded-example/tests/stringUtils.spec.js" name="capitalizeWords > capitalizes first letter of each word" time="0.0009567499"/>
5+
<testcase classname="vitest-sharded-example/tests/stringUtils.spec.js" name="capitalizeWords > handles already capitalized words" time="0.0001602077"/>
6+
<testcase classname="vitest-sharded-example/tests/stringUtils.spec.js" name="capitalizeWords > handles empty string" time="0.0000685005"/>
7+
<testcase classname="vitest-sharded-example/tests/stringUtils.spec.js" name="capitalizeWords > handles single word" time="0.0000665417"/>
8+
<testcase classname="vitest-sharded-example/tests/stringUtils.spec.js" name="capitalizeWords > handles mixed case input" time="0.0038440428">
99
<failure message="expected 'Hello World' to be 'Hello World!' // Object.is equality" type="AssertionError">
1010
AssertionError: expected 'Hello World' to be 'Hello World!' // Object.is equality
1111

@@ -15,20 +15,20 @@ Received: "Hello World"
1515
❯ vitest-sharded-example/tests/stringUtils.spec.js:22:44
1616
</failure>
1717
</testcase>
18-
<testcase classname="vitest-sharded-example/tests/stringUtils.spec.js" name="capitalizeWords > errors on number received" time="0.0005920839">
18+
<testcase classname="vitest-sharded-example/tests/stringUtils.spec.js" name="capitalizeWords > errors on number received" time="0.0005393753">
1919
<failure message="str.split is not a function" type="TypeError">
2020
TypeError: str.split is not a function
2121
❯ Module.capitalizeWords vitest-sharded-example/stringUtils.js:4:6
2222
❯ vitest-sharded-example/tests/stringUtils.spec.js:26:12
2323
</failure>
2424
</testcase>
2525
</testsuite>
26-
<testsuite name="vitest-sharded-example/tests/numberUtils.spec.js" timestamp="2024-11-27T15:31:39.294Z" hostname="Miguels-Laptop.local" tests="6" failures="0" errors="0" skipped="0" time="0.002043541">
27-
<testcase classname="vitest-sharded-example/tests/numberUtils.spec.js" name="calculateAverage > calculates average of positive numbers" time="0.0008744173"/>
28-
<testcase classname="vitest-sharded-example/tests/numberUtils.spec.js" name="calculateAverage > handles array with single number" time="0.0001640005"/>
29-
<testcase classname="vitest-sharded-example/tests/numberUtils.spec.js" name="calculateAverage > handles empty array" time="0.0000665836"/>
30-
<testcase classname="vitest-sharded-example/tests/numberUtils.spec.js" name="calculateAverage > handles negative numbers" time="0.0000643749"/>
31-
<testcase classname="vitest-sharded-example/tests/numberUtils.spec.js" name="calculateAverage > handles decimal numbers" time="0.0001732502"/>
32-
<testcase classname="vitest-sharded-example/tests/numberUtils.spec.js" name="calculateAverage > returns 0 for invalid input" time="0.0000663748"/>
26+
<testsuite name="vitest-sharded-example/tests/numberUtils.spec.js" timestamp="2024-11-27T15:44:33.031Z" hostname="Miguels-Laptop.local" tests="6" failures="0" errors="0" skipped="0" time="0.0034581671">
27+
<testcase classname="vitest-sharded-example/tests/numberUtils.spec.js" name="calculateAverage > calculates average of positive numbers" time="0.0010190001"/>
28+
<testcase classname="vitest-sharded-example/tests/numberUtils.spec.js" name="calculateAverage > handles array with single number" time="0.0001721258"/>
29+
<testcase classname="vitest-sharded-example/tests/numberUtils.spec.js" name="calculateAverage > handles empty array" time="0.0000664587"/>
30+
<testcase classname="vitest-sharded-example/tests/numberUtils.spec.js" name="calculateAverage > handles negative numbers" time="0.0000648756"/>
31+
<testcase classname="vitest-sharded-example/tests/numberUtils.spec.js" name="calculateAverage > handles decimal numbers" time="0.0001836252"/>
32+
<testcase classname="vitest-sharded-example/tests/numberUtils.spec.js" name="calculateAverage > returns 0 for invalid input" time="0.0000692921"/>
3333
</testsuite>
3434
</testsuites>

0 commit comments

Comments
 (0)