mirror of
https://github.com/danog/dart-sass.git
synced 2025-01-22 13:51:31 +01:00
Move Node tests on Windows to Travis (#1063)
* Move Node tests on Windows to Travis Appveyor is flaky and can't be restarted by all team members, so moving everything to Travis is preferable if we can get it to work. * Actually use latest stable Node This should also workaround the issue with lts/* not working on Windows. * Use npm.cmd instead of raw npm on Windows * Use p.prettyUri() for Node API tests Co-authored-by: Natalie Weizenbaum <nweiz@google.com>
This commit is contained in:
parent
a06295426d
commit
830bb3aab2
@ -73,14 +73,10 @@ jobs:
|
|||||||
# The versions should be kept up-to-date with the latest LTS Node releases.
|
# The versions should be kept up-to-date with the latest LTS Node releases.
|
||||||
# They next need to be rotated April 2021. See
|
# They next need to be rotated April 2021. See
|
||||||
# https://github.com/nodejs/Release.
|
# https://github.com/nodejs/Release.
|
||||||
#
|
|
||||||
# TODO(nweiz): Run Node tests on Windows when [this issue][] is fixed.
|
|
||||||
#
|
|
||||||
# [this issue]: https://travis-ci.community/t/windows-instances-hanging-before-install/250/28.
|
|
||||||
- &node-tests
|
- &node-tests
|
||||||
name: Node tests | Dart stable | Node stable
|
name: Node tests | Dart stable | Node stable
|
||||||
language: node_js
|
language: node_js
|
||||||
node_js: lts/*
|
node_js: node
|
||||||
install: pub run grinder before-test
|
install: pub run grinder before-test
|
||||||
script: tool/travis/task/node_tests.sh
|
script: tool/travis/task/node_tests.sh
|
||||||
- <<: *node-tests
|
- <<: *node-tests
|
||||||
@ -89,6 +85,8 @@ jobs:
|
|||||||
- <<: *node-tests
|
- <<: *node-tests
|
||||||
name: Node tests | Dart stable | Node Erbium
|
name: Node tests | Dart stable | Node Erbium
|
||||||
node_js: lts/erbium
|
node_js: lts/erbium
|
||||||
|
- <<: *node-tests
|
||||||
|
os: windows
|
||||||
- <<: *node-tests
|
- <<: *node-tests
|
||||||
os: osx
|
os: osx
|
||||||
- <<: *node-tests
|
- <<: *node-tests
|
||||||
|
21
appveyor.yml
21
appveyor.yml
@ -1,21 +0,0 @@
|
|||||||
build: off
|
|
||||||
|
|
||||||
branches:
|
|
||||||
only:
|
|
||||||
- master
|
|
||||||
# Feature branches beginning with "feature."
|
|
||||||
- "/^feature\\..*/"
|
|
||||||
# Semantic version tags and legacy branches of the form "1.2.x".
|
|
||||||
- "/^\\d+\\.\\d+\\.(\\d+([+-].*)?|x)$/"
|
|
||||||
|
|
||||||
install:
|
|
||||||
- choco install dart-sdk
|
|
||||||
- refreshenv
|
|
||||||
- pub get
|
|
||||||
- ps: Install-Product node ''
|
|
||||||
- pub run grinder pkg-npm-dev
|
|
||||||
- npm install
|
|
||||||
|
|
||||||
# Only run Node tests on Windows because they won't work on Travis. See
|
|
||||||
# https://travis-ci.community/t/windows-instances-hanging-before-install/250/28.
|
|
||||||
test_script: pub run test -t node
|
|
@ -18,6 +18,7 @@ import 'hybrid.dart';
|
|||||||
import 'node_api/api.dart';
|
import 'node_api/api.dart';
|
||||||
import 'node_api/intercept_stdout.dart';
|
import 'node_api/intercept_stdout.dart';
|
||||||
import 'node_api/utils.dart';
|
import 'node_api/utils.dart';
|
||||||
|
import 'utils.dart';
|
||||||
|
|
||||||
String sassPath;
|
String sassPath;
|
||||||
|
|
||||||
@ -294,7 +295,7 @@ a {
|
|||||||
"1 │ x {y: }\n"
|
"1 │ x {y: }\n"
|
||||||
" │ ^\n"
|
" │ ^\n"
|
||||||
" ╵\n"
|
" ╵\n"
|
||||||
" $sassPath 1:7 root stylesheet"));
|
" ${prettyPath(sassPath)} 1:7 root stylesheet"));
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -369,7 +370,7 @@ a {
|
|||||||
"1 │ a {b: }\n"
|
"1 │ a {b: }\n"
|
||||||
" │ ^\n"
|
" │ ^\n"
|
||||||
" ╵\n"
|
" ╵\n"
|
||||||
" $sassPath 1:7 root stylesheet"));
|
" ${prettyPath(sassPath)} 1:7 root stylesheet"));
|
||||||
});
|
});
|
||||||
|
|
||||||
test("sets the line, column, and filename", () {
|
test("sets the line, column, and filename", () {
|
||||||
@ -420,7 +421,7 @@ a {
|
|||||||
'1 │ a {b: 1 % a}\n'
|
'1 │ a {b: 1 % a}\n'
|
||||||
' │ ^^^^^\n'
|
' │ ^^^^^\n'
|
||||||
' ╵\n'
|
' ╵\n'
|
||||||
' $sassPath 1:7 root stylesheet'));
|
' ${prettyPath(sassPath)} 1:7 root stylesheet'));
|
||||||
});
|
});
|
||||||
|
|
||||||
test("sets the line, column, and filename", () {
|
test("sets the line, column, and filename", () {
|
||||||
@ -494,7 +495,7 @@ a {
|
|||||||
"1 │ a {b: }\n"
|
"1 │ a {b: }\n"
|
||||||
" │ ^\n"
|
" │ ^\n"
|
||||||
" ╵\n"
|
" ╵\n"
|
||||||
" $sassPath 1:7 root stylesheet"));
|
" ${prettyPath(sassPath)} 1:7 root stylesheet"));
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
import 'dart:async';
|
import 'dart:async';
|
||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
|
|
||||||
|
import 'package:path/path.dart' as p;
|
||||||
import 'package:test/test.dart';
|
import 'package:test/test.dart';
|
||||||
|
|
||||||
import 'package:sass/src/io.dart';
|
import 'package:sass/src/io.dart';
|
||||||
@ -31,3 +32,6 @@ Map<String, Object> embeddedSourceMap(String css) {
|
|||||||
expect(data.mimeType, equals("application/json"));
|
expect(data.mimeType, equals("application/json"));
|
||||||
return jsonDecode(data.contentAsString()) as Map<String, Object>;
|
return jsonDecode(data.contentAsString()) as Map<String, Object>;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Like `p.prettyUri()`, but for a non-URL path.
|
||||||
|
String prettyPath(String path) => p.prettyUri(p.toUri(path));
|
||||||
|
@ -72,7 +72,8 @@ void format() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Task('Installs dependencies from npm.')
|
@Task('Installs dependencies from npm.')
|
||||||
void npmInstall() => run("npm", arguments: ["install"]);
|
void npmInstall() =>
|
||||||
|
run(Platform.isWindows ? "npm.cmd" : "npm", arguments: ["install"]);
|
||||||
|
|
||||||
@Task('Runs the tasks that are required for running tests.')
|
@Task('Runs the tasks that are required for running tests.')
|
||||||
@Depends(format, synchronize, "pkg-npm-dev", npmInstall, "pkg-standalone-dev")
|
@Depends(format, synchronize, "pkg-npm-dev", npmInstall, "pkg-standalone-dev")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user