improve tests (#3405)
This commit is contained in:
55
.travis.yml
55
.travis.yml
@@ -1,35 +1,46 @@
|
|||||||
addons:
|
|
||||||
apt:
|
|
||||||
sources:
|
|
||||||
- ubuntu-toolchain-r-test
|
|
||||||
packages:
|
|
||||||
- libstdc++-4.9-dev
|
|
||||||
cache:
|
cache:
|
||||||
directories: tmp
|
directories: tmp
|
||||||
language: generic
|
language: generic
|
||||||
matrix:
|
matrix:
|
||||||
fast_finish: true
|
fast_finish: true
|
||||||
sudo: false
|
|
||||||
env:
|
env:
|
||||||
global:
|
- NODE=0.10 TYPE=compress
|
||||||
- UGLIFYJS_TEST_ALL=1
|
- NODE=0.10 TYPE=mocha
|
||||||
matrix:
|
- NODE=0.10 TYPE=release/benchmark
|
||||||
- NODEJS_VER=node/0.10
|
- NODE=0.10 TYPE=release/jetstream
|
||||||
- NODEJS_VER=node/0.12
|
- NODE=0.12 TYPE=compress
|
||||||
- NODEJS_VER=node/4
|
- NODE=0.12 TYPE=mocha
|
||||||
- NODEJS_VER=node/6
|
- NODE=0.12 TYPE=release/benchmark
|
||||||
- NODEJS_VER=node/8
|
- NODE=0.12 TYPE=release/jetstream
|
||||||
- NODEJS_VER=node/10
|
- NODE=4 TYPE=compress
|
||||||
- NODEJS_VER=node/latest
|
- 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:
|
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/nvs.sh
|
||||||
- nvs --version
|
- nvs --version
|
||||||
install:
|
install:
|
||||||
- nvs add $NODEJS_VER
|
- nvs add node/$NODE
|
||||||
- nvs use $NODEJS_VER
|
- nvs use node/$NODE
|
||||||
- node --version
|
- node --version
|
||||||
- npm --version --no-update-notifier
|
- 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:
|
script:
|
||||||
- npm test --no-update-notifier
|
- node test/$TYPE
|
||||||
|
|||||||
88
appveyor.yml
88
appveyor.yml
@@ -1,26 +1,74 @@
|
|||||||
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
|
|
||||||
install:
|
|
||||||
- git clone --branch v1.4.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%
|
|
||||||
- node --version
|
|
||||||
- npm --version --no-update-notifier
|
|
||||||
- npm install --no-optional --no-save --no-update-notifier
|
|
||||||
build: off
|
build: off
|
||||||
cache:
|
cache:
|
||||||
- tmp
|
- tmp
|
||||||
matrix:
|
matrix:
|
||||||
fast_finish: true
|
fast_finish: true
|
||||||
|
environment:
|
||||||
|
matrix:
|
||||||
|
- 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.5.2 --depth 1 https://github.com/jasongin/nvs.git %LOCALAPPDATA%\nvs
|
||||||
|
- set PATH=%LOCALAPPDATA%\nvs;%PATH%
|
||||||
|
- nvs --version
|
||||||
|
- nvs add node/%NODE%
|
||||||
|
- nvs use node/%NODE%
|
||||||
|
- node --version
|
||||||
|
- npm --version --no-update-notifier
|
||||||
|
- npm install --no-audit --no-optional --no-save --no-update-notifier
|
||||||
test_script:
|
test_script:
|
||||||
- npm test --no-update-notifier
|
- node test/%TYPE%
|
||||||
|
|||||||
@@ -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);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
14
test/release/benchmark.js
Normal file
14
test/release/benchmark.js
Normal file
@@ -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;
|
||||||
|
}));
|
||||||
9
test/release/jetstream.js
Normal file
9
test/release/jetstream.js
Normal file
@@ -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;
|
||||||
|
}));
|
||||||
16
test/release/run.js
Normal file
16
test/release/run.js
Normal file
@@ -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();
|
||||||
|
});
|
||||||
|
})();
|
||||||
|
};
|
||||||
Reference in New Issue
Block a user