aboutsummaryrefslogtreecommitdiffstats
path: root/lib/stdlib/test/escript_SUITE_data
diff options
context:
space:
mode:
authorJing Peng <[email protected]>2016-12-09 21:42:45 -0500
committerJing Peng <[email protected]>2016-12-13 21:09:38 -0500
commite348250942a3d3fe1c96a6f2e1bfac9b442c9585 (patch)
tree35e99520f27100fe78751358cfb482caec7dade8 /lib/stdlib/test/escript_SUITE_data
parentb47d104994c6f11301f23b0675ed5f06f3e25922 (diff)
downloadotp-e348250942a3d3fe1c96a6f2e1bfac9b442c9585.tar.gz
otp-e348250942a3d3fe1c96a6f2e1bfac9b442c9585.tar.bz2
otp-e348250942a3d3fe1c96a6f2e1bfac9b442c9585.zip
Allow escripts with only two lines
The current implementation assumes that escripts all have at least three lines. But according to the escript documentation, comments on the second line and emulator flags on the third line are all optional. Thus escripts with only two lines -- shebang on the first line and code on the second line -- will not run. This commit fixes the problem by rearranging the escript header parsing logic, and recognize the escript body on the second line if the header only contains a line of shebang.
Diffstat (limited to 'lib/stdlib/test/escript_SUITE_data')
-rwxr-xr-xlib/stdlib/test/escript_SUITE_data/two_lines2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/stdlib/test/escript_SUITE_data/two_lines b/lib/stdlib/test/escript_SUITE_data/two_lines
new file mode 100755
index 0000000000..cf4e99639c
--- /dev/null
+++ b/lib/stdlib/test/escript_SUITE_data/two_lines
@@ -0,0 +1,2 @@
+#! /usr/bin/env escript
+main(MainArgs) -> io:format("main:~p\n", [MainArgs]), ErlArgs = init:get_arguments(), io:format("ERL_FLAGS=~p\n", [os:getenv("ERL_FLAGS")]), io:format("unknown:~p\n",[[E || E <- ErlArgs, element(1, E) =:= unknown]]).