Skip to content

Commit 72165a5

Browse files
committed
Set $SHELL in tests that use shell/2
The `shell/2` predicate always runs its argument in the user's donfigured shell. This is not always POSIX compliant, because some people use stuff like fish and Nushell. This sets the $SHELL env var to /bin/sh, which is a POSIX compliant shell in any reasonable Unix.
1 parent d7d5dfe commit 72165a5

11 files changed

+22
-11
lines changed

tests-pl/issue_delete_directory.pl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@
2121

2222
main :-
2323
call_cleanup(
24-
(setenv("TARGET_DIRECTORY", "delete_directory_test"),
24+
(setenv("SHELL", "/bin/sh"),
25+
setenv("TARGET_DIRECTORY", "delete_directory_test"),
2526
shell("mkdir delete_directory_test", 0),
2627
check),
2728
shell("test -d delete_directory_test && rmdir delete_directory_test || true", 0)

tests-pl/issue_delete_file.pl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@
2121

2222
main :-
2323
call_cleanup(
24-
(setenv("TARGET_FILE", "delete_file_test"),
24+
(setenv("SHELL", "/bin/sh"),
25+
setenv("TARGET_FILE", "delete_file_test"),
2526
shell("touch delete_file_test", 0),
2627
check),
2728
shell("test -e delete_file_test && rm delete_file_test || true", 0)

tests-pl/issue_directory_files.pl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@
1616
main :-
1717
path_segments(Path, ["directory_files_test_parent", "directory_files_test_file"]),
1818
call_cleanup(
19-
(setenv("TARGET_DIRECTORY", "directory_files_test_parent"),
19+
(setenv("SHELL", "/bin/sh"),
20+
setenv("TARGET_DIRECTORY", "directory_files_test_parent"),
2021
shell("test -d directory_files_test_parent || mkdir directory_files_test_parent", 0),
2122
append(["test -e ", Path, " || touch ", Path], Cmd),
2223
shell(Cmd, 0),

tests-pl/issue_file_copy.pl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@
2626

2727
main :-
2828
call_cleanup(
29-
(setenv("SOURCE", "file_copy_test_source"),
29+
(setenv("SHELL", "/bin/sh"),
30+
setenv("SOURCE", "file_copy_test_source"),
3031
setenv("DESTINATION", "file_copy_test_destination"),
3132
shell("touch file_copy_test_source", 0),
3233
check),

tests-pl/issue_file_exists.pl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@
1616

1717
main :-
1818
call_cleanup(
19-
(setenv("TARGET_FILE", "file_exists_test"),
19+
(setenv("SHELL", "/bin/sh"),
20+
setenv("TARGET_FILE", "file_exists_test"),
2021
shell("touch file_exists_test", 0),
2122
check),
2223
shell("rm -f file_exists_test", 0)

tests-pl/issue_file_size.pl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@
1414

1515
main :-
1616
call_cleanup(
17-
(setenv("TARGET_FILE", "file_size_test"),
17+
(setenv("SHELL", "/bin/sh"),
18+
setenv("TARGET_FILE", "file_size_test"),
1819
shell("echo '1' > file_size_test", 0),
1920
check),
2021
shell("rm -f file_size_test", 0)

tests-pl/issue_file_time.pl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@
1616

1717
main :-
1818
call_cleanup(
19-
(setenv("TARGET_FILE", "file_time_test"),
19+
(setenv("SHELL", "/bin/sh"),
20+
setenv("TARGET_FILE", "file_time_test"),
2021
shell("touch file_time_test", 0),
2122
findall(T, check(T), Ts),
2223
length(Ts, 3)),

tests-pl/issue_make_directory.pl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@
2121

2222
main :-
2323
call_cleanup(
24-
(setenv("TARGET_DIRECTORY", "make_directory_test"),
24+
(setenv("SHELL", "/bin/sh"),
25+
setenv("TARGET_DIRECTORY", "make_directory_test"),
2526
check),
2627
shell("test -d make_directory_test && rmdir make_directory_test || true", 0)
2728
).

tests-pl/issue_make_directory_path.pl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@
2121

2222
main :-
2323
call_cleanup(
24-
(setenv("TARGET_DIRECTORY", "make_directory_test/subdir"),
24+
(setenv("SHELL", "/bin/sh"),
25+
setenv("TARGET_DIRECTORY", "make_directory_test/subdir"),
2526
check),
2627
(shell("test -d make_directory_test/subdir && rmdir make_directory_test/subdir || true", 0),
2728
shell("test -d make_directory_test && rmdir make_directory_test || true", 0))

tests-pl/issue_path_canonical.pl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@
1818
main :-
1919
path_segments(Path, ["path_canonical_test", "..", "path_canonical_test"]),
2020
call_cleanup(
21-
(setenv("TARGET_PATH", Path),
21+
(setenv("SHELL", "/bin/sh"),
22+
setenv("TARGET_PATH", Path),
2223
shell("mkdir path_canonical_test", 0),
2324
check),
2425
shell("test -d path_canonical_test && rmdir path_canonical_test || true", 0)

0 commit comments

Comments
 (0)