blob: 04eb827c132261180c9733bd6a82c26844968027 [file] [log] [blame]
#!/usr/bin/env bash
# Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file
# for details. All rights reserved. Use of this source code is governed by a
# BSD-style license that can be found in the LICENSE file.
# Script to update the dartk/dartkp status lines for all tests running with the
# $strong configuration for the language_2, corelib_2, lib_2, and standalone_2
# suites.
suites=
mode="release"
extra_flags=""
message=
for arg in "$@"; do
case $arg in
language_2|corelib_2|lib_2|standalone_2)
suites="$suites $arg"
;;
--debug)
mode="debug"
;;
-j*)
extra_flags="$arg"
;;
-h|--help)
echo "$0 [options] <suites>"
echo "where: "
echo " <suites> a space separated list of suites."
echo " Currently only language_2, corelib_2, lib_2, and standalone_2 "
echo " are supported. Defaults to all."
echo ""
echo " --debug update the status in \$mode == debug."
echo ""
echo " --message='...' include the given message as comments on updated status lines."
echo ""
echo " -h | --help this help message."
exit 0
;;
--message=*)
message="${arg/--message=/}"
;;
-*)
echo "Unknown option '$arg'"
exit 1
;;
*)
echo "Unknown suite '$arg'"
exit 1
;;
esac
done
if [ -z "$suites" ]; then
suites="language_2 corelib_2 lib_2 standalone_2"
fi
repodir=$(cd $(dirname ${BASH_SOURCE[0]})/../../../../; pwd)
dart="out/ReleaseX64/dart"
update_script=$(dirname ${BASH_SOURCE[0]})/update_from_log.dart
binaries_dir=out/ReleaseX64
tmp=$(mktemp -d /tmp/tmp.logs-XXXXXX)
function update_suite {
local suite=$1
local flags="--strong $extra_flags"
local suffix=""
if [ "$mode" == "debug" ]; then
flags="$flags"
suffix="-debug"
fi
echo -e "\nupdate suite: $suite"
echo " - dark $mode tests"
./tools/test.py -m $mode -c dartk -r vm $flags \
$suite > $tmp/$suite-dartk$mode.txt
$dart $update_script dartk$suffix $tmp/$suite-dartk$mode.txt "$message"
echo " - darkp $mode tests"
./tools/test.py -m $mode -c dartkp -r dart_precompiled $flags \
$suite > $tmp/$suite-dartkp$mode.txt
$dart $update_script dartkp$suffix $tmp/$suite-dartkp$mode.txt "$message"
}
pushd $repodir > /dev/null
./tools/build.py -m $mode runtime_kernel dart_precompiled_runtime
for suite in $suites; do
update_suite $suite
done
rm -rf $tmp
popd > /dev/null