Browse Source

ci: do not use the MOCHA_FILE env variable (#19180)

It is not used in a expected way anyway.
trop[bot] 5 years ago
parent
commit
41a7d9e42b
2 changed files with 20 additions and 22 deletions
  1. 6 8
      .circleci/config.yml
  2. 14 14
      script/spec-runner.js

+ 6 - 8
.circleci/config.yml

@@ -801,7 +801,7 @@ steps-tests: &steps-tests
         name: Run Electron tests
         environment:
           MOCHA_REPORTER: mocha-multi-reporters
-          MOCHA_FILE: junit/test-results.xml
+          ELECTRON_TEST_RESULTS_DIR: junit
           MOCHA_MULTI_REPORTERS: mocha-junit-reporter, tap
           ELECTRON_DISABLE_SECURITY_WARNINGS: 1
         command: |
@@ -811,15 +811,13 @@ steps-tests: &steps-tests
     - run:
         name: Check test results existence
         command: |
-          MOCHA_FILE='src/junit/test-results-remote.xml'
-          # Check if it exists and not empty.
-          if [ ! -s "$MOCHA_FILE" ]; then
+          cd src
+
+          # Check if test results exist and are not empty.
+          if [ ! -s "junit/test-results-remote.xml" ]; then
             exit 1
           fi
-
-          MOCHA_FILE='src/junit/test-results-main.xml'
-          # Check if it exists and not empty.
-          if [ ! -s "$MOCHA_FILE" ]; then
+          if [ ! -s "junit/test-results-main.xml" ]; then
             exit 1
           fi
     - store_test_results:

+ 14 - 14
script/spec-runner.js

@@ -80,25 +80,25 @@ function saveSpecHash ([newSpecHash, newSpecInstallHash]) {
 
 async function runElectronTests () {
   const errors = []
-  const runners = [
-    ['Main process specs', 'main', runMainProcessElectronTests],
-    ['Remote based specs', 'remote', runRemoteBasedElectronTests]
-  ]
-
-  const mochaFile = process.env.MOCHA_FILE
-  for (const runner of runners) {
-    if (runnersToRun && !runnersToRun.includes(runner[1])) {
-      console.info('\nSkipping:', runner[0])
+  const runners = new Map([
+    ['main', { description: 'Main process specs', run: runMainProcessElectronTests }],
+    ['remote', { description: 'Remote based specs', run: runRemoteBasedElectronTests }]
+  ])
+
+  const testResultsDir = process.env.ELECTRON_TEST_RESULTS_DIR
+  for (const [runnerId, { description, run }] of runners) {
+    if (runnersToRun && !runnersToRun.includes(runnerId)) {
+      console.info('\nSkipping:', description)
       continue
     }
     try {
-      console.info('\nRunning:', runner[0])
-      if (mochaFile) {
-        process.env.MOCHA_FILE = mochaFile.replace('.xml', `-${runner[1]}.xml`)
+      console.info('\nRunning:', description)
+      if (testResultsDir) {
+        process.env.MOCHA_FILE = path.join(testResultsDir, `test-results-${runnerId}.xml`)
       }
-      await runner[2]()
+      await run()
     } catch (err) {
-      errors.push([runner[0], err])
+      errors.push([runnerId, err])
     }
   }