aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--shell/ash_test/ash-misc/source3.right2
-rwxr-xr-xshell/ash_test/ash-misc/source3.tests6
-rw-r--r--shell/hush.c2
-rw-r--r--shell/hush_test/hush-misc/source3.right2
-rwxr-xr-xshell/hush_test/hush-misc/source3.tests6
5 files changed, 18 insertions, 0 deletions
diff --git a/shell/ash_test/ash-misc/source3.right b/shell/ash_test/ash-misc/source3.right
new file mode 100644
index 000000000..bdf9001a5
--- /dev/null
+++ b/shell/ash_test/ash-misc/source3.right
@@ -0,0 +1,2 @@
1Zero:0
2Zero:0
diff --git a/shell/ash_test/ash-misc/source3.tests b/shell/ash_test/ash-misc/source3.tests
new file mode 100755
index 000000000..1abf156ed
--- /dev/null
+++ b/shell/ash_test/ash-misc/source3.tests
@@ -0,0 +1,6 @@
1# Test both empty file, and one-empty-line file
2echo >sourced1
3true >sourced2
4false; . ./sourced1; echo Zero:$?
5false; . ./sourced2; echo Zero:$?
6rm sourced1 sourced2
diff --git a/shell/hush.c b/shell/hush.c
index e2b0a15b8..5698de686 100644
--- a/shell/hush.c
+++ b/shell/hush.c
@@ -9156,6 +9156,8 @@ static int FAST_FUNC builtin_source(char **argv)
9156 if (argv[1]) 9156 if (argv[1])
9157 save_and_replace_G_args(&sv, argv); 9157 save_and_replace_G_args(&sv, argv);
9158 9158
9159 /* "false; . ./empty_line; echo Zero:$?" should print 0 */
9160 G.last_exitcode = 0;
9159 parse_and_run_file(input); 9161 parse_and_run_file(input);
9160 fclose_and_forget(input); 9162 fclose_and_forget(input);
9161 9163
diff --git a/shell/hush_test/hush-misc/source3.right b/shell/hush_test/hush-misc/source3.right
new file mode 100644
index 000000000..bdf9001a5
--- /dev/null
+++ b/shell/hush_test/hush-misc/source3.right
@@ -0,0 +1,2 @@
1Zero:0
2Zero:0
diff --git a/shell/hush_test/hush-misc/source3.tests b/shell/hush_test/hush-misc/source3.tests
new file mode 100755
index 000000000..1abf156ed
--- /dev/null
+++ b/shell/hush_test/hush-misc/source3.tests
@@ -0,0 +1,6 @@
1# Test both empty file, and one-empty-line file
2echo >sourced1
3true >sourced2
4false; . ./sourced1; echo Zero:$?
5false; . ./sourced2; echo Zero:$?
6rm sourced1 sourced2