Skip to content

Commit c545ae0

Browse files
committed
check that command doesn't write anything on stderr in stderr_dev-null_grimoires
1 parent 2c670f9 commit c545ae0

File tree

4 files changed

+46
-13
lines changed

4 files changed

+46
-13
lines changed

missions/stdin_stdout_stderr/04_stderr_dev-null_grimoires/check.sh

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,25 @@ _mission_check() (
1111
return 1
1212
fi
1313

14-
temp_file=$(mktemp)
15-
eval "$pc" | sort >"$temp_file"
16-
if cmp -s "$GSH_TMP/list_grimoires_GSH" "$temp_file"
14+
temp_file1=$(mktemp)
15+
temp_file2=$(mktemp)
16+
eval "$pc | sort" 1>"$temp_file1" 2>"$temp_file2"
17+
18+
if ! cmp -s "$GSH_TMP/list_grimoires_GSH" "$temp_file1"
19+
then
20+
rm -f "$temp_file1" "$temp_file2"
21+
return 1
22+
fi
23+
24+
if [ -s "$temp_file2" ]
1725
then
18-
rm -f "$temp_file"
19-
return 0
20-
else
21-
rm -f "$temp_file"
26+
echo "$(gettext "Your command shouldn't generate error messages...")"
27+
rm -f "$temp_file1" "$temp_file2"
2228
return 1
2329
fi
30+
31+
rm -f "$temp_file1" "$temp_file2"
32+
return 0
2433
)
2534

2635
_mission_check
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
#!/usr/bin/env sh
22

33

4-
if [ -f "$GSH_TMP/list_grimoires_RO" ]
4+
if [ -f "$GSH_TMP/list_grimoires-R" ]
55
then
66
while IFS= read file
77
do
88
rm "$file"
9-
done < "$GSH_TMP/list_grimoires_RO"
9+
done < "$GSH_TMP/list_grimoires-R"
1010
fi
1111
unset file
12-
rm -f "$GSH_TMP/list_grimoires_RO"
12+
rm -f "$GSH_TMP/list_grimoires-R"
1313
rm -f "$GSH_TMP/list_grimoires_GSH"

missions/stdin_stdout_stderr/04_stderr_dev-null_grimoires/init.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ _mission_init() ( #subshell to avoid changing directory
44
bib="$(eval_gettext '$GSH_HOME/Castle/Main_building/Library/Merlin_s_office')"
55
find "$bib" -type f -name "$(gettext "grimoire")_*" -print0 | xargs -0 rm -f
66

7-
rm -f "$GSH_TMP/list_grimoires_RO"
7+
rm -f "$GSH_TMP/list_grimoires-R"
88

99
RANDOM 600 | for i in $(seq 100)
1010
do
@@ -38,8 +38,8 @@ _mission_init() ( #subshell to avoid changing directory
3838
read RANDOM
3939
if [ $((RANDOM % 2)) -eq 0 ]
4040
then
41-
chmod -r "$file"
42-
echo "$file" >> "$GSH_TMP/list_grimoires_RO"
41+
chmod a-r "$file"
42+
echo "$file" >> "$GSH_TMP/list_grimoires-R"
4343
fi
4444
[ $((i%10)) -eq 0 ] && printf "."
4545
done
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
#!/usr/bin/env sh
2+
3+
. alt_history_start.sh
4+
5+
cd "$(eval_gettext '$GSH_HOME/Castle/Main_building/Library/Merlin_s_office')"
6+
7+
add_cmd 'grep -i gsh "$(gettext "grimoire")"_*'
8+
add_cmd 'gsh check'
9+
gsh assert check false
10+
11+
add_cmd 'grep -il gsh "$(gettext "grimoire")"_*'
12+
add_cmd 'gsh check'
13+
gsh assert check false
14+
15+
chmod a+r "$(gettext "grimoire")"_*
16+
add_cmd 'grep -il gsh "$(gettext "grimoire")"_*'
17+
add_cmd 'gsh check'
18+
gsh assert check false
19+
20+
add_cmd 'grep -il gsh "$(gettext "grimoire")"_* 2>/dev/null'
21+
add_cmd 'gsh check'
22+
gsh assert check true
23+
24+
. alt_history_stop.sh

0 commit comments

Comments
 (0)