diff options
Diffstat (limited to 'deps/v8/tools/wasm/update-wasm-spec-tests.sh')
-rwxr-xr-x | deps/v8/tools/wasm/update-wasm-spec-tests.sh | 46 |
1 files changed, 40 insertions, 6 deletions
diff --git a/deps/v8/tools/wasm/update-wasm-spec-tests.sh b/deps/v8/tools/wasm/update-wasm-spec-tests.sh index d029ffe604..01688648eb 100755 --- a/deps/v8/tools/wasm/update-wasm-spec-tests.sh +++ b/deps/v8/tools/wasm/update-wasm-spec-tests.sh @@ -30,6 +30,8 @@ V8_DIR="${TOOLS_WASM_DIR}/../.." SPEC_TEST_DIR=${V8_DIR}/test/wasm-spec-tests TMP_DIR=${SPEC_TEST_DIR}/tmp +JS_API_TEST_DIR=${V8_DIR}/test/wasm-js + log_and_run cd ${V8_DIR} log_and_run rm -rf ${SPEC_TEST_DIR}/tests @@ -40,29 +42,40 @@ log_and_run mkdir ${SPEC_TEST_DIR}/tests/proposals log_and_run rm -rf ${TMP_DIR} log_and_run mkdir ${TMP_DIR} +log_and_run rm -rf ${JS_API_TEST_DIR}/tests +log_and_run mkdir ${JS_API_TEST_DIR}/tests +log_and_run mkdir ${JS_API_TEST_DIR}/tests/proposals + ############################################################################### # Generate the spec tests. ############################################################################### -log_and_run cd ${V8_DIR}/test/wasm-js/data/interpreter +echo Process spec +log_and_run cd ${TMP_DIR} +log_and_run git clone https://github.com/WebAssembly/spec +log_and_run cd spec/interpreter + # The next step requires that ocaml is installed. See the README.md in -# ${V8_DIR}/test/wasm-js/data/interpreter/. +# https://github.com/WebAssembly/spec/tree/master/interpreter/. log_and_run make clean opt -log_and_run cd ${V8_DIR}/test/wasm-js/data/test/core +log_and_run cd ${TMP_DIR}/spec/test/core log_and_run cp *.wast ${SPEC_TEST_DIR}/tests/ -log_and_run ./run.py --wasm ${V8_DIR}/test/wasm-js/data/interpreter/wasm --out ${TMP_DIR} +log_and_run ./run.py --wasm ${TMP_DIR}/spec/interpreter/wasm --out ${TMP_DIR} log_and_run cp ${TMP_DIR}/*.js ${SPEC_TEST_DIR}/tests/ +log_and_run cp -r ${TMP_DIR}/spec/test/js-api/* ${JS_API_TEST_DIR}/tests + ############################################################################### # Generate the proposal tests. ############################################################################### -repos='bulk-memory-operations reference-types' +repos='bulk-memory-operations reference-types js-types' for repo in ${repos}; do echo "Process ${repo}" + echo ">> Process core tests" log_and_run cd ${TMP_DIR} log_and_run git clone https://github.com/WebAssembly/${repo} # Compile the spec interpreter to generate the .js test cases later. @@ -76,13 +89,27 @@ for repo in ${repos}; do for abs_filename in ${TMP_DIR}/${repo}/test/core/*.wast; do rel_filename="$(basename -- $abs_filename)" test_name=${rel_filename%.wast} - spec_filename=${V8_DIR}/test/wasm-js/data/test/core/${rel_filename} + spec_filename=${TMP_DIR}/spec/test/core/${rel_filename} if [ ! -f "$spec_filename" ] || ! cmp -s $abs_filename $spec_filename ; then log_and_run cp ${rel_filename} ${SPEC_TEST_DIR}/tests/proposals/${repo}/ log_and_run ./run.py --wasm ../../interpreter/wasm ${rel_filename} --out _build 2> /dev/null fi done log_and_run cp _build/*.js ${SPEC_TEST_DIR}/tests/proposals/${repo}/ + + echo ">> Process js-api tests" + log_and_run mkdir ${JS_API_TEST_DIR}/tests/proposals/${repo} + log_and_run cp -r ${TMP_DIR}/${repo}/test/js-api/* ${JS_API_TEST_DIR}/tests/proposals/${repo} + # Delete duplicate tests + log_and_run cd ${JS_API_TEST_DIR}/tests + for spec_test_name in $(find ./ -name '*.any.js' -not -wholename '*/proposals/*'); do + proposal_test_name="proposals/${repo}/${spec_test_name}" + if [ -f "$proposal_test_name" ] && cmp -s $spec_test_name $proposal_test_name ; then + log_and_run rm $proposal_test_name + elif [ -f "$proposal_test_name" ]; then + echo "keep" $proposal_test_name + fi + done done ############################################################################### @@ -95,6 +122,10 @@ echo "The following files will get uploaded:" ls -R tests echo +cd ${JS_API_TEST_DIR} +ls -R tests +echo + log_and_run rm -rf ${TMP_DIR} ############################################################################### @@ -111,3 +142,6 @@ echo "* When the script asks you for your project-id, use 0." echo "****************************************************************************" log_and_run cd ${SPEC_TEST_DIR} log_and_run upload_to_google_storage.py -a -b v8-wasm-spec-tests tests + +log_and_run cd ${JS_API_TEST_DIR} +log_and_run upload_to_google_storage.py -a -b v8-wasm-spec-tests tests |