mirror of
https://github.com/facebookarchive/prepack.git
synced 2024-09-11 14:46:37 +03:00
Summary: Release notes: Adding CLI options --warnaserror, --diagnosticaserror, --nodiagnostic This resolves #2517. - --warnAsError: Turns all warnings into errors. - --diagnosticAsError: Must be followed by a comma-separated list of non-fatal-error PPxxxx diagnostic codes that should get turned into (recoverable) errors. - --noDiagnostic: Must be followed by a comma-separated list of non-fatal-error PPxxxx diagnostic codes that should get suppressed. Adding tests. Pull Request resolved: https://github.com/facebook/prepack/pull/2521 Differential Revision: D9616473 Pulled By: NTillmann fbshipit-source-id: c66d7396005699d4d50f801a419fa4879bd8ffc4
83 lines
5.0 KiB
Bash
83 lines
5.0 KiB
Bash
# Prepacks a correct stdin input. Checks if the output execution is correct.
|
|
cat ./test/std-in/StdIn.js | node ./bin/prepack.js --out StdIn-test.js > /dev/null
|
|
node ./StdIn-test.js | grep "Hello world from std-in" > /dev/null
|
|
if [[ $? -ne 0 ]]; then
|
|
echo "Stdin test failed: cat ./test/std-in/StdIn.js | node ./bin/prepack.js --out StdIn-test.js returned an error"
|
|
exit 1
|
|
fi
|
|
rm ./StdIn-test.js
|
|
|
|
# Prepacks an empty stdin input. Checks if it exits with signal 0.
|
|
echo "" | node ./bin/prepack.js 1>/dev/null 2>&1
|
|
if [[ $? -ne 0 ]]; then
|
|
echo "Stdin test failed: echo "" | node ./bin/prepack.js --out StdIn-test.js didn't exit with signal 0"
|
|
exit 1
|
|
fi
|
|
|
|
# Prepacks an empty stdin input. Checks if the correct error message is printed.
|
|
(echo "" | node ./bin/prepack.js 2>&1 1>/dev/null ) | grep "Prepack returned empty code." > /dev/null
|
|
# grep returns 0, even though prepack returned 1
|
|
if [[ $? -ne 0 ]]; then
|
|
echo "Stdin test failed: echo "" | node ./bin/prepack.js --out StdIn-test.js didn't exit with the expected signal 1."
|
|
exit 1
|
|
fi
|
|
|
|
# Prepacks a stdin with a syntax error. Checks if it exits with signal 1.
|
|
echo "{}()" | node ./bin/prepack.js 1>/dev/null 2>&1
|
|
if [[ $? -ne 1 ]]; then
|
|
echo "Stdin test failed:echo \"{}()\" | node ./bin/prepack.js --out StdInError-test.js didn't exit with the expected signal 1."
|
|
# If the test failed, rerun and show the output
|
|
echo "{}()" | node ./bin/prepack.js
|
|
exit 1
|
|
fi
|
|
|
|
# Prepacks a stdin with a syntax error. Checks if the correct error message is printed.
|
|
(echo "{}()" | node ./bin/prepack.js 2>&1 1>/dev/null ) | grep "In stdin(1:4) FatalError PP1004" > /dev/null
|
|
# grep returns 0, even though prepack returned 1
|
|
if [[ $? -ne 0 ]]; then
|
|
echo "Stdin test failed: echo \"{}()\" | node ./bin/prepack.js didn't return the expected error message."
|
|
# If the test failed, rerun and show the output
|
|
echo "{}()" | node ./bin/prepack.js
|
|
exit 1
|
|
fi
|
|
|
|
# Prepacks a stdin with an informational message that should get turned into an error. Checks if the correct error message is printed.
|
|
(echo "global.r = Math.random();" | node ./bin/prepack.js --mathRandomSeed 0 --diagnosticAsError PP8000 2>&1 1>/dev/null ) | grep "In stdin(1:12) RecoverableError PP8000" > /dev/null
|
|
# grep returns 0, even though prepack returned 1
|
|
if [[ $? -ne 0 ]]; then
|
|
echo "Stdin test failed: echo \"global.r = Math.random();\" | node ./bin/prepack.js --mathRandomSeed 0 --diagnosticAsError PP8000 didn't return the expected error message."
|
|
# If the test failed, rerun and show the output
|
|
echo "global.r = Math.random();" | node ./bin/prepack.js --mathRandomSeed 0 --diagnosticAsError PP8000
|
|
exit 1
|
|
fi
|
|
|
|
# Prepacks a stdin with an informational message that should get suppressed. Checks that the error code does not appear in output.
|
|
(echo "global.r = Math.random();" | node ./bin/prepack.js --mathRandomSeed 0 --noDiagnostic PP8000 2>&1 1>/dev/null ) | grep "In stdin(1:12) RecoverableError PP8000" > /dev/null
|
|
# grep returns 0, even though prepack returned 1
|
|
if [[ $? -eq 0 ]]; then
|
|
echo "Stdin test failed: echo \"global.r = Math.random();\" | node ./bin/prepack.js --mathRandomSeed 0 --noDiagnostic PP8000 didn't return the expected error message."
|
|
# If the test failed, rerun and show the output
|
|
echo "global.r = Math.random();" | node ./bin/prepack.js --mathRandomSeed 0 --noDiagnostic PP8000
|
|
exit 1
|
|
fi
|
|
|
|
# Prepacks a stdin with a warning message that should get turned into an error. Checks if the correct error message is printed.
|
|
(echo "let x; function f() { x = 1; } function g() { x = 2; } __optimize(f); __optimize(g);" | node ./bin/prepack.js --warnAsError 2>&1 1>/dev/null ) | grep "In stdin(1:27) RecoverableError PP1007" > /dev/null
|
|
# grep returns 0, even though prepack returned 1
|
|
if [[ $? -ne 0 ]]; then
|
|
echo "Stdin test failed: echo \"let x; function f() { x = 1; } function g() { x = 2; } __optimize(f); __optimize(g);\" | node ./bin/prepack.js --warnAsError didn't return the expected error message."
|
|
# If the test failed, rerun and show the output
|
|
echo "let x; function f() { x = 1; } function g() { x = 2; } __optimize(f); __optimize(g);" | node ./bin/prepack.js --warnAsError
|
|
exit 1
|
|
fi
|
|
|
|
# Prepacks a stdin with a warning message that should get turned into an error. Checks if the correct error message is printed.
|
|
(echo "let x; function f() { x = 1; } function g() { x = 2; } __optimize(f); __optimize(g);" | node ./bin/prepack.js --diagnosticAsError PP1007 2>&1 1>/dev/null ) | grep "In stdin(1:27) RecoverableError PP1007" > /dev/null
|
|
# grep returns 0, even though prepack returned 1
|
|
if [[ $? -ne 0 ]]; then
|
|
echo "Stdin test failed: echo \"let x; function f() { x = 1; } function g() { x = 2; } __optimize(f); __optimize(g);\" | node ./bin/prepack.js --diagnosticAsError PP1007 didn't return the expected error message."
|
|
# If the test failed, rerun and show the output
|
|
echo "let x; function f() { x = 1; } function g() { x = 2; } __optimize(f); __optimize(g);" | node ./bin/prepack.js --diagnosticAsError PP1007
|
|
exit 1
|
|
fi
|