From ed8658f54b860df089886ad8de8af5f948c7125c Mon Sep 17 00:00:00 2001 From: Ash Wilson Date: Mon, 4 Feb 2019 17:05:03 -0500 Subject: [PATCH 1/4] Use a custom Jasmine reporter to actually show spec names --- spec/jasmine-terminal-reporter.js | 33 +++++++++++++++++++++++++++++++ spec/jasmine-test-runner.coffee | 4 ++-- 2 files changed, 35 insertions(+), 2 deletions(-) create mode 100644 spec/jasmine-terminal-reporter.js diff --git a/spec/jasmine-terminal-reporter.js b/spec/jasmine-terminal-reporter.js new file mode 100644 index 000000000..88bdc9585 --- /dev/null +++ b/spec/jasmine-terminal-reporter.js @@ -0,0 +1,33 @@ +const {TerminalReporter} = require('jasmine-tagged') + +class JasmineTerminalReporter extends TerminalReporter { + fullDescription (spec) { + let fullDescription = spec.description + let currentSuite = spec.suite + while (currentSuite) { + fullDescription = currentSuite.description + ' > ' + fullDescription + currentSuite = currentSuite.parentSuite + } + return fullDescription + } + + reportSpecStarting (spec) { + this.print_(this.fullDescription(spec) + ' ') + } + + reportSpecResults (spec) { + const result = spec.results() + let msg = '' + if (result.skipped) { + msg = this.stringWithColor_(this.fullDescription(spec) + ' [skip]', this.color_.ignore()) + } else if (result.passed()) { + msg = this.stringWithColor_('[pass]', this.color_.pass()) + } else { + msg = this.stringWithColor_('[FAIL]', this.color_.fail()) + this.addFailureToFailures_(spec) + } + this.printLine_(msg) + } +} + +module.exports = { JasmineTerminalReporter } diff --git a/spec/jasmine-test-runner.coffee b/spec/jasmine-test-runner.coffee index e6c594cef..cdc7c34cb 100644 --- a/spec/jasmine-test-runner.coffee +++ b/spec/jasmine-test-runner.coffee @@ -94,8 +94,8 @@ buildTerminalReporter = (logFile, resolveWithExitCode) -> else ipcRenderer.send 'write-to-stderr', str - {TerminalReporter} = require 'jasmine-tagged' - new TerminalReporter + {JasmineTerminalReporter} = require './jasmine-terminal-reporter' + new JasmineTerminalReporter print: (str) -> log(str) onComplete: (runner) -> From f8fa5d61eb0806509041e3cb5966d2ac271ae384 Mon Sep 17 00:00:00 2001 From: Ash Wilson Date: Tue, 5 Feb 2019 10:13:49 -0500 Subject: [PATCH 2/4] Use ATOM_JASMINE_REPORTER to control terminal reporter --- ...e-terminal-reporter.js => jasmine-list-reporter.js} | 4 ++-- spec/jasmine-test-runner.coffee | 10 ++++++++-- 2 files changed, 10 insertions(+), 4 deletions(-) rename spec/{jasmine-terminal-reporter.js => jasmine-list-reporter.js} (89%) diff --git a/spec/jasmine-terminal-reporter.js b/spec/jasmine-list-reporter.js similarity index 89% rename from spec/jasmine-terminal-reporter.js rename to spec/jasmine-list-reporter.js index 88bdc9585..fcced65ec 100644 --- a/spec/jasmine-terminal-reporter.js +++ b/spec/jasmine-list-reporter.js @@ -1,6 +1,6 @@ const {TerminalReporter} = require('jasmine-tagged') -class JasmineTerminalReporter extends TerminalReporter { +class JasmineListReporter extends TerminalReporter { fullDescription (spec) { let fullDescription = spec.description let currentSuite = spec.suite @@ -30,4 +30,4 @@ class JasmineTerminalReporter extends TerminalReporter { } } -module.exports = { JasmineTerminalReporter } +module.exports = { JasmineListReporter } diff --git a/spec/jasmine-test-runner.coffee b/spec/jasmine-test-runner.coffee index cdc7c34cb..ef76d346d 100644 --- a/spec/jasmine-test-runner.coffee +++ b/spec/jasmine-test-runner.coffee @@ -94,8 +94,7 @@ buildTerminalReporter = (logFile, resolveWithExitCode) -> else ipcRenderer.send 'write-to-stderr', str - {JasmineTerminalReporter} = require './jasmine-terminal-reporter' - new JasmineTerminalReporter + options = print: (str) -> log(str) onComplete: (runner) -> @@ -109,3 +108,10 @@ buildTerminalReporter = (logFile, resolveWithExitCode) -> resolveWithExitCode(1) else resolveWithExitCode(0) + + if process.env.ATOM_JASMINE_REPORTER is 'list' + {JasmineListReporter} = require './jasmine-list-reporter' + new JasmineListReporter(options) + else + {TerminalReporter} = require 'jasmine-tagged' + new TerminalReporter(options) From afd65765661bf9db5b2a1aca62753a5d3a6384bd Mon Sep 17 00:00:00 2001 From: Ash Wilson Date: Tue, 5 Feb 2019 10:29:09 -0500 Subject: [PATCH 3/4] Set ATOM_JASMINE_REPORTER to "list" on our CI builds --- .travis.yml | 2 +- appveyor.yml | 1 + script/vsts/platforms/linux.yml | 1 + script/vsts/platforms/macos.yml | 1 + script/vsts/platforms/windows.yml | 1 + 5 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index f5a6ae3a9..e0232b652 100644 --- a/.travis.yml +++ b/.travis.yml @@ -15,7 +15,7 @@ matrix: include: - os: linux dist: trusty - env: NODE_VERSION=8.9.3 DISPLAY=:99.0 CC=clang CXX=clang++ npm_config_clang=1 + env: NODE_VERSION=8.9.3 DISPLAY=:99.0 CC=clang CXX=clang++ npm_config_clang=1 ATOM_JASMINE_REPORTER=list sudo: required diff --git a/appveyor.yml b/appveyor.yml index 7e5c07b10..a30ba543a 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -19,6 +19,7 @@ platform: environment: global: ATOM_DEV_RESOURCE_PATH: c:\projects\atom + ATOM_JASMINE_REPORTER: list TEST_JUNIT_XML_ROOT: c:\projects\junit-test-results NODE_VERSION: 8.9.3 diff --git a/script/vsts/platforms/linux.yml b/script/vsts/platforms/linux.yml index 04a723ed7..eb70878c7 100644 --- a/script/vsts/platforms/linux.yml +++ b/script/vsts/platforms/linux.yml @@ -24,6 +24,7 @@ jobs: env: CI: true CI_PROVIDER: VSTS + ATOM_JASMINE_REPORTER: list displayName: Run tests condition: and(succeeded(), ne(variables['Atom.SkipTests'], 'true')) diff --git a/script/vsts/platforms/macos.yml b/script/vsts/platforms/macos.yml index 55eb3b387..005f8b96f 100644 --- a/script/vsts/platforms/macos.yml +++ b/script/vsts/platforms/macos.yml @@ -44,6 +44,7 @@ jobs: env: CI: true CI_PROVIDER: VSTS + ATOM_JASMINE_REPORTER: list displayName: Run tests condition: and(succeeded(), ne(variables['Atom.SkipTests'], 'true')) diff --git a/script/vsts/platforms/windows.yml b/script/vsts/platforms/windows.yml index 77df8a3a2..8f490b77c 100644 --- a/script/vsts/platforms/windows.yml +++ b/script/vsts/platforms/windows.yml @@ -69,6 +69,7 @@ jobs: env: CI: true CI_PROVIDER: VSTS + ATOM_JASMINE_REPORTER: list BUILD_ARCH: $(buildArch) displayName: Run tests condition: and(succeeded(), ne(variables['Atom.SkipTests'], 'true')) From 5854ab796fc41fcab7e67346f9af40b28b7c0648 Mon Sep 17 00:00:00 2001 From: Ash Wilson Date: Tue, 5 Feb 2019 10:40:52 -0500 Subject: [PATCH 4/4] Omit skipped specs entirely --- spec/jasmine-list-reporter.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/spec/jasmine-list-reporter.js b/spec/jasmine-list-reporter.js index fcced65ec..b6976b6ca 100644 --- a/spec/jasmine-list-reporter.js +++ b/spec/jasmine-list-reporter.js @@ -17,10 +17,12 @@ class JasmineListReporter extends TerminalReporter { reportSpecResults (spec) { const result = spec.results() - let msg = '' if (result.skipped) { - msg = this.stringWithColor_(this.fullDescription(spec) + ' [skip]', this.color_.ignore()) - } else if (result.passed()) { + return + } + + let msg = '' + if (result.passed()) { msg = this.stringWithColor_('[pass]', this.color_.pass()) } else { msg = this.stringWithColor_('[FAIL]', this.color_.fail())