Add windows to travis (#10249)
* Add windows to travis * Update * Do not use sh file on windows * Fix whitespace * Unify command * ./ doesn't work on windows * Remove all ./ usages * Run windows test before others * fix: normalize filename when generating sources sources should be URL. * fix: replace normalized path to cwd * chore: add nodePlatform task options * fix: normalize preset-env filename output * chore: replace normalized path to CWD on win32 platform * limit transform-react-source to run on linux and darwin * test: escapeRegExp on testcases * test: add test for babel --filename on windows * test: double babel-node/cli test timeout * chore: workaround windows build does not stop * chore: remove redundant condition * refactor: rename `nodePlatform` to `os`
This commit is contained in:
5
packages/babel-cli/test/fixtures/babel/stdin --filename windows/options.json
vendored
Normal file
5
packages/babel-cli/test/fixtures/babel/stdin --filename windows/options.json
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"args": ["--filename", "test.js"],
|
||||
"stderrContains": true,
|
||||
"os": ["win32"]
|
||||
}
|
||||
1
packages/babel-cli/test/fixtures/babel/stdin --filename windows/stderr.txt
vendored
Normal file
1
packages/babel-cli/test/fixtures/babel/stdin --filename windows/stderr.txt
vendored
Normal file
@@ -0,0 +1 @@
|
||||
SyntaxError: <CWD>\test.js: Unexpected token, expected ";" (2:10)
|
||||
3
packages/babel-cli/test/fixtures/babel/stdin --filename windows/stdin.txt
vendored
Normal file
3
packages/babel-cli/test/fixtures/babel/stdin --filename windows/stdin.txt
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
arr.map(function () {
|
||||
return $]!;
|
||||
});
|
||||
@@ -1,4 +1,5 @@
|
||||
{
|
||||
"args": ["--filename", "test.js"],
|
||||
"stderrContains": true
|
||||
"stderrContains": true,
|
||||
"os": ["linux", "darwin"]
|
||||
}
|
||||
|
||||
@@ -185,7 +185,29 @@ fs.readdirSync(fixtureLoc).forEach(function(binName) {
|
||||
};
|
||||
|
||||
const optionsLoc = path.join(testLoc, "options.json");
|
||||
if (fs.existsSync(optionsLoc)) merge(opts, require(optionsLoc));
|
||||
if (fs.existsSync(optionsLoc)) {
|
||||
const taskOpts = require(optionsLoc);
|
||||
if (taskOpts.os) {
|
||||
let os = taskOpts.os;
|
||||
|
||||
if (!Array.isArray(os) && typeof os !== "string") {
|
||||
throw new Error(
|
||||
`'os' should be either string or string array: ${taskOpts.os}`,
|
||||
);
|
||||
}
|
||||
|
||||
if (typeof os === "string") {
|
||||
os = [os];
|
||||
}
|
||||
|
||||
if (!os.includes(process.platform)) {
|
||||
return;
|
||||
}
|
||||
|
||||
delete taskOpts.os;
|
||||
}
|
||||
merge(opts, taskOpts);
|
||||
}
|
||||
|
||||
["stdout", "stdin", "stderr"].forEach(function(key) {
|
||||
const loc = path.join(testLoc, key + ".txt");
|
||||
@@ -205,7 +227,7 @@ fs.readdirSync(fixtureLoc).forEach(function(binName) {
|
||||
opts.inFiles[".babelrc"] = helper.readFile(babelrcLoc);
|
||||
}
|
||||
|
||||
it(testName, buildTest(binName, testName, opts));
|
||||
it(testName, buildTest(binName, testName, opts), 20000);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user