chore(ddc): add e2e test infra + first test
This commit is contained in:
parent
cad693de0f
commit
0730b753f2
@ -132,7 +132,8 @@ var CONFIG = {
|
|||||||
dev: {es6: 'dist/js/dev/es6', es5: 'dist/js/dev/es5'},
|
dev: {es6: 'dist/js/dev/es6', es5: 'dist/js/dev/es5'},
|
||||||
prod: {es6: 'dist/js/prod/es6', es5: 'dist/js/prod/es5'},
|
prod: {es6: 'dist/js/prod/es6', es5: 'dist/js/prod/es5'},
|
||||||
cjs: 'dist/js/cjs',
|
cjs: 'dist/js/cjs',
|
||||||
dart2js: 'dist/js/dart2js'
|
dart2js: 'dist/js/dart2js',
|
||||||
|
dart_dev_compiler: 'dist/js/ddc'
|
||||||
},
|
},
|
||||||
dart: 'dist/dart',
|
dart: 'dist/dart',
|
||||||
docs: 'dist/docs',
|
docs: 'dist/docs',
|
||||||
@ -369,6 +370,10 @@ function jsServeDartJs() {
|
|||||||
return jsserve(gulp, gulpPlugins, {path: CONFIG.dest.js.dart2js, port: 8002})();
|
return jsserve(gulp, gulpPlugins, {path: CONFIG.dest.js.dart2js, port: 8002})();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function jsServeDartDevCompiler() {
|
||||||
|
return jsserve(gulp, gulpPlugins, {path: CONFIG.dest.js.dart_dev_compiler, port: 8003})();
|
||||||
|
}
|
||||||
|
|
||||||
function proxyServeDart() {
|
function proxyServeDart() {
|
||||||
return jsserve(gulp, gulpPlugins, {
|
return jsserve(gulp, gulpPlugins, {
|
||||||
port: 8002,
|
port: 8002,
|
||||||
@ -407,6 +412,8 @@ gulp.task('serve.e2e.prod', ['build.js.prod', 'build.js.cjs'], function(neverDon
|
|||||||
|
|
||||||
gulp.task('serve.js.dart2js', jsServeDartJs);
|
gulp.task('serve.js.dart2js', jsServeDartJs);
|
||||||
|
|
||||||
|
gulp.task('serve.js.ddc', jsServeDartDevCompiler);
|
||||||
|
|
||||||
gulp.task('!proxyServeDart', proxyServeDart);
|
gulp.task('!proxyServeDart', proxyServeDart);
|
||||||
|
|
||||||
gulp.task('serve.dart', function(done) {
|
gulp.task('serve.dart', function(done) {
|
||||||
|
3
protractor-ddc.conf.js
Normal file
3
protractor-ddc.conf.js
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
var data = module.exports = require('./protractor-shared.js');
|
||||||
|
var config = data.config;
|
||||||
|
config.baseUrl = 'http://localhost:8003/';
|
@ -7,8 +7,9 @@ echo ===========================================================================
|
|||||||
|
|
||||||
# go to project dir
|
# go to project dir
|
||||||
SCRIPT_DIR=$(dirname $0)
|
SCRIPT_DIR=$(dirname $0)
|
||||||
|
REPO_ROOT_DIR=`cd ${SCRIPT_DIR}/../..; pwd`
|
||||||
source $SCRIPT_DIR/env_dart.sh
|
source $SCRIPT_DIR/env_dart.sh
|
||||||
cd $SCRIPT_DIR/../..
|
cd $REPO_ROOT_DIR
|
||||||
|
|
||||||
# Variables
|
# Variables
|
||||||
DDC_TOTAL_WARNING_CAP="210"
|
DDC_TOTAL_WARNING_CAP="210"
|
||||||
@ -29,11 +30,23 @@ git clone https://github.com/dart-lang/dev_compiler.git tmp/dev_compiler
|
|||||||
./node_modules/.bin/gulp build/pubspec.dart
|
./node_modules/.bin/gulp build/pubspec.dart
|
||||||
node ./scripts/ci/dart_ddc/pubspec_for_ddc.js \
|
node ./scripts/ci/dart_ddc/pubspec_for_ddc.js \
|
||||||
--pubspec-file=dist/dart/playground/pubspec.yaml
|
--pubspec-file=dist/dart/playground/pubspec.yaml
|
||||||
|
|
||||||
# Compile playground
|
|
||||||
cd dist/dart/playground
|
cd dist/dart/playground
|
||||||
$PUB build --mode=debug
|
$PUB build --mode=debug
|
||||||
cd build/web
|
cd build/web
|
||||||
|
|
||||||
|
# TODO: temporarily remove references to dart.js as ddc doesn't do it
|
||||||
|
# automatically yet (https://github.com/dart-lang/dev_compiler/issues/437)
|
||||||
|
echo `pwd`
|
||||||
|
for htmlFile in `find ./src -name '*.html'`; do
|
||||||
|
tmpFile=$REPO_ROOT_DIR/tmp/scriptless_html.tmp
|
||||||
|
cat $htmlFile | grep -vE '<script.*dart\.js' >$tmpFile
|
||||||
|
mv $tmpFile $htmlFile
|
||||||
|
done
|
||||||
|
|
||||||
|
##############################################################################
|
||||||
|
# Analyze code
|
||||||
|
##############################################################################
|
||||||
|
|
||||||
LOG_FILE="analyzer.log"
|
LOG_FILE="analyzer.log"
|
||||||
set +e
|
set +e
|
||||||
$DART_SDK/bin/dart $DDC_DIR/bin/dartdevc.dart \
|
$DART_SDK/bin/dart $DDC_DIR/bin/dartdevc.dart \
|
||||||
@ -91,5 +104,63 @@ else
|
|||||||
echo "Warning count ok"
|
echo "Warning count ok"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
##############################################################################
|
||||||
|
# Run e2e tests
|
||||||
|
##############################################################################
|
||||||
|
|
||||||
|
DIST_DIR="${REPO_ROOT_DIR}/dist/js/ddc"
|
||||||
|
|
||||||
|
# Build the apps (again)
|
||||||
|
# TODO: ddc does not yet support compiling multiple html files. Ideally we
|
||||||
|
# could build everything during analysis above.
|
||||||
|
# See: https://github.com/dart-lang/dev_compiler/issues/430
|
||||||
|
|
||||||
|
ln -s `pwd`/packages src/hello_world/packages
|
||||||
|
|
||||||
|
set +e
|
||||||
|
OUT_DIR="${DIST_DIR}/playground/src/hello_world"
|
||||||
|
mkdir -p $OUT_DIR
|
||||||
|
$DART_SDK/bin/dart $DDC_DIR/bin/dartdevc.dart \
|
||||||
|
--force-compile \
|
||||||
|
--dart-sdk=$DART_SDK_LIB_SEARCH_PATH -o $OUT_DIR \
|
||||||
|
src/hello_world/index.html
|
||||||
|
EXIT_CODE=`echo $?`
|
||||||
|
set -e
|
||||||
|
|
||||||
|
if [[ "$EXIT_CODE" -ne "0" && "$EXIT_CODE" -ne "1" ]]
|
||||||
|
then
|
||||||
|
echo "DDC compiler crashed with exit code $EXIT_CODE"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
# Run e2e tests
|
||||||
|
cd $REPO_ROOT_DIR
|
||||||
|
|
||||||
|
./node_modules/.bin/webdriver-manager update
|
||||||
|
|
||||||
|
function killServer () {
|
||||||
|
kill $serverPid
|
||||||
|
}
|
||||||
|
|
||||||
|
./node_modules/.bin/gulp serve.js.ddc&
|
||||||
|
serverPid=$!
|
||||||
|
|
||||||
|
trap killServer EXIT
|
||||||
|
|
||||||
|
# wait for server to come up
|
||||||
|
sleep 10
|
||||||
|
|
||||||
|
function runSpec {
|
||||||
|
SPEC=$1
|
||||||
|
./node_modules/.bin/protractor protractor-ddc.conf.js \
|
||||||
|
--browsers=${E2E_BROWSERS:-Dartium} \
|
||||||
|
--spec=$SPEC
|
||||||
|
}
|
||||||
|
|
||||||
|
# TODO: add more e2e tests
|
||||||
|
runSpec hello_world/hello_world_spec.js
|
||||||
|
|
||||||
echo 'Dart DDC build finished'
|
echo 'Dart DDC build finished'
|
||||||
exit $EXIT_CODE
|
exit $EXIT_CODE
|
||||||
|
Loading…
x
Reference in New Issue
Block a user