aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Lam S.L <alexlamsl@gmail.com>2019-05-11 22:03:41 +0800
committeralexlamsl <alexlamsl>2019-05-11 22:06:14 +0800
commite88c439eacf0715991e50e1cc664e29af88ee7ab (patch)
tree5abd6a4da91dc3c94137287fcc69a1cb497d25db
parent9fc8cd40763467d8b256be00380965268b7afcfd (diff)
downloadtracifyjs-e88c439eacf0715991e50e1cc664e29af88ee7ab.tar.gz
tracifyjs-e88c439eacf0715991e50e1cc664e29af88ee7ab.zip
improve tests (#3405)
-rw-r--r--.travis.yml55
-rw-r--r--appveyor.yml84
-rw-r--r--test/mocha/release.js50
-rw-r--r--test/release/benchmark.js14
-rw-r--r--test/release/jetstream.js9
-rw-r--r--test/release/run.js16
6 files changed, 138 insertions, 90 deletions
diff --git a/.travis.yml b/.travis.yml
index fc136792..3a2df849 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,35 +1,46 @@
-addons:
- apt:
- sources:
- - ubuntu-toolchain-r-test
- packages:
- - libstdc++-4.9-dev
cache:
directories: tmp
language: generic
matrix:
fast_finish: true
-sudo: false
env:
- global:
- - UGLIFYJS_TEST_ALL=1
- matrix:
- - NODEJS_VER=node/0.10
- - NODEJS_VER=node/0.12
- - NODEJS_VER=node/4
- - NODEJS_VER=node/6
- - NODEJS_VER=node/8
- - NODEJS_VER=node/10
- - NODEJS_VER=node/latest
+ - NODE=0.10 TYPE=compress
+ - NODE=0.10 TYPE=mocha
+ - NODE=0.10 TYPE=release/benchmark
+ - NODE=0.10 TYPE=release/jetstream
+ - NODE=0.12 TYPE=compress
+ - NODE=0.12 TYPE=mocha
+ - NODE=0.12 TYPE=release/benchmark
+ - NODE=0.12 TYPE=release/jetstream
+ - NODE=4 TYPE=compress
+ - NODE=4 TYPE=mocha
+ - NODE=4 TYPE=release/benchmark
+ - NODE=4 TYPE=release/jetstream
+ - NODE=6 TYPE=compress
+ - NODE=6 TYPE=mocha
+ - NODE=6 TYPE=release/benchmark
+ - NODE=6 TYPE=release/jetstream
+ - NODE=8 TYPE=compress
+ - NODE=8 TYPE=mocha
+ - NODE=8 TYPE=release/benchmark
+ - NODE=8 TYPE=release/jetstream
+ - NODE=10 TYPE=compress
+ - NODE=10 TYPE=mocha
+ - NODE=10 TYPE=release/benchmark
+ - NODE=10 TYPE=release/jetstream
+ - NODE=latest TYPE=compress
+ - NODE=latest TYPE=mocha
+ - NODE=latest TYPE=release/benchmark
+ - NODE=latest TYPE=release/jetstream
before_install:
- - git clone --branch v1.4.2 --depth 1 https://github.com/jasongin/nvs.git ~/.nvs
+ - git clone --branch v1.5.2 --depth 1 https://github.com/jasongin/nvs.git ~/.nvs
- . ~/.nvs/nvs.sh
- nvs --version
install:
- - nvs add $NODEJS_VER
- - nvs use $NODEJS_VER
+ - nvs add node/$NODE
+ - nvs use node/$NODE
- node --version
- npm --version --no-update-notifier
- - npm install --no-optional --no-save --no-update-notifier
+ - npm install --no-audit --no-optional --no-save --no-update-notifier
script:
- - npm test --no-update-notifier
+ - node test/$TYPE
diff --git a/appveyor.yml b/appveyor.yml
index ef5ab9f6..1df58fad 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -1,26 +1,74 @@
+build: off
+cache:
+ - tmp
+matrix:
+ fast_finish: true
environment:
- UGLIFYJS_TEST_ALL: 1
matrix:
- - NODEJS_VER: node/0.10
- - NODEJS_VER: node/0.12
- - NODEJS_VER: node/4
- - NODEJS_VER: node/6
- - NODEJS_VER: node/8
- - NODEJS_VER: node/10
- - NODEJS_VER: node/latest
+ - NODE: 0.10
+ TYPE: compress
+ - NODE: 0.10
+ TYPE: mocha
+ - NODE: 0.10
+ TYPE: release/benchmark
+ - NODE: 0.10
+ TYPE: release/jetstream
+ - NODE: 0.12
+ TYPE: compress
+ - NODE: 0.12
+ TYPE: mocha
+ - NODE: 0.12
+ TYPE: release/benchmark
+ - NODE: 0.12
+ TYPE: release/jetstream
+ - NODE: 4
+ TYPE: compress
+ - NODE: 4
+ TYPE: mocha
+ - NODE: 4
+ TYPE: release/benchmark
+ - NODE: 4
+ TYPE: release/jetstream
+ - NODE: 6
+ TYPE: compress
+ - NODE: 6
+ TYPE: mocha
+ - NODE: 6
+ TYPE: release/benchmark
+ - NODE: 6
+ TYPE: release/jetstream
+ - NODE: 8
+ TYPE: compress
+ - NODE: 8
+ TYPE: mocha
+ - NODE: 8
+ TYPE: release/benchmark
+ - NODE: 8
+ TYPE: release/jetstream
+ - NODE: 10
+ TYPE: compress
+ - NODE: 10
+ TYPE: mocha
+ - NODE: 10
+ TYPE: release/benchmark
+ - NODE: 10
+ TYPE: release/jetstream
+ - NODE: latest
+ TYPE: compress
+ - NODE: latest
+ TYPE: mocha
+ - NODE: latest
+ TYPE: release/benchmark
+ - NODE: latest
+ TYPE: release/jetstream
install:
- - git clone --branch v1.4.2 --depth 1 https://github.com/jasongin/nvs.git %LOCALAPPDATA%\nvs
+ - git clone --branch v1.5.2 --depth 1 https://github.com/jasongin/nvs.git %LOCALAPPDATA%\nvs
- set PATH=%LOCALAPPDATA%\nvs;%PATH%
- nvs --version
- - nvs add %NODEJS_VER%
- - nvs use %NODEJS_VER%
+ - nvs add node/%NODE%
+ - nvs use node/%NODE%
- node --version
- npm --version --no-update-notifier
- - npm install --no-optional --no-save --no-update-notifier
-build: off
-cache:
- - tmp
-matrix:
- fast_finish: true
+ - npm install --no-audit --no-optional --no-save --no-update-notifier
test_script:
- - npm test --no-update-notifier
+ - node test/%TYPE%
diff --git a/test/mocha/release.js b/test/mocha/release.js
deleted file mode 100644
index 988ca212..00000000
--- a/test/mocha/release.js
+++ /dev/null
@@ -1,50 +0,0 @@
-var assert = require("assert");
-var semver = require("semver");
-var spawn = require("child_process").spawn;
-
-if (!process.env.UGLIFYJS_TEST_ALL) return;
-if (semver.satisfies(process.version, "0.12")) return;
-
-function run(command, args, done) {
- spawn(command, args, {
- stdio: [ "ignore", 1, 2 ]
- }).on("exit", function(code) {
- assert.strictEqual(code, 0);
- done();
- });
-}
-
-describe("test/benchmark.js", function() {
- this.timeout(10 * 60 * 1000);
- [
- "-b",
- "-b braces",
- "-m",
- "-mc passes=3",
- "-mc passes=3,toplevel",
- "-mc passes=3,unsafe",
- "-mc keep_fargs=false,passes=3",
- "-mc keep_fargs=false,passes=3,pure_getters,unsafe,unsafe_comps,unsafe_math,unsafe_proto",
- ].forEach(function(options) {
- it("Should pass with options " + options, function(done) {
- var args = options.split(/ /);
- args.unshift("test/benchmark.js");
- run(process.argv[0], args, done);
- });
- });
-});
-
-describe("test/jetstream.js", function() {
- this.timeout(20 * 60 * 1000);
- [
- "-mc",
- "-mc keep_fargs=false,passes=3,pure_getters,unsafe,unsafe_comps,unsafe_math,unsafe_proto",
- ].forEach(function(options) {
- it("Should pass with options " + options, function(done) {
- var args = options.split(/ /);
- args.unshift("test/jetstream.js");
- args.push("-b", "beautify=false,webkit");
- run(process.argv[0], args, done);
- });
- });
-});
diff --git a/test/release/benchmark.js b/test/release/benchmark.js
new file mode 100644
index 00000000..c4b10fbc
--- /dev/null
+++ b/test/release/benchmark.js
@@ -0,0 +1,14 @@
+require("./run")([
+ "-b",
+ "-b braces",
+ "-m",
+ "-mc passes=3",
+ "-mc passes=3,toplevel",
+ "-mc passes=3,unsafe",
+ "-mc keep_fargs=false,passes=3",
+ "-mc keep_fargs=false,passes=3,pure_getters,unsafe,unsafe_comps,unsafe_math,unsafe_proto",
+].map(function(options) {
+ var args = options.split(/ /);
+ args.unshift("test/benchmark.js");
+ return args;
+}));
diff --git a/test/release/jetstream.js b/test/release/jetstream.js
new file mode 100644
index 00000000..37631e4a
--- /dev/null
+++ b/test/release/jetstream.js
@@ -0,0 +1,9 @@
+require("./run")([
+ "-mc",
+ "-mc keep_fargs=false,passes=3,pure_getters,unsafe,unsafe_comps,unsafe_math,unsafe_proto",
+].map(function(options) {
+ var args = options.split(/ /);
+ args.unshift("test/jetstream.js");
+ args.push("-b", "beautify=false,webkit");
+ return args;
+}));
diff --git a/test/release/run.js b/test/release/run.js
new file mode 100644
index 00000000..7b4755dc
--- /dev/null
+++ b/test/release/run.js
@@ -0,0 +1,16 @@
+var child_process = require("child_process");
+
+module.exports = function(tasks) {
+ (function next() {
+ if (!tasks.length) return;
+ var args = tasks.shift();
+ console.log();
+ console.log("\u001B[36m$> " + args.join(" ") + "\u001B[39m");
+ var result = child_process.spawn(process.argv[0], args, {
+ stdio: [ "ignore", 1, 2 ]
+ }).on("exit", function(code) {
+ if (code != 0) process.exit(code);
+ next();
+ });
+ })();
+};