diff options
-rw-r--r-- | shell/ash_test/ash-misc/source3.right | 2 | ||||
-rwxr-xr-x | shell/ash_test/ash-misc/source3.tests | 6 | ||||
-rw-r--r-- | shell/hush.c | 2 | ||||
-rw-r--r-- | shell/hush_test/hush-misc/source3.right | 2 | ||||
-rwxr-xr-x | shell/hush_test/hush-misc/source3.tests | 6 |
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 @@ | |||
1 | Zero:0 | ||
2 | Zero: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 | ||
2 | echo >sourced1 | ||
3 | true >sourced2 | ||
4 | false; . ./sourced1; echo Zero:$? | ||
5 | false; . ./sourced2; echo Zero:$? | ||
6 | rm 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 @@ | |||
1 | Zero:0 | ||
2 | Zero: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 | ||
2 | echo >sourced1 | ||
3 | true >sourced2 | ||
4 | false; . ./sourced1; echo Zero:$? | ||
5 | false; . ./sourced2; echo Zero:$? | ||
6 | rm sourced1 sourced2 | ||