Skip to content

Commit 34d57a0

Browse files
committed
LIST-DIRECTORYのテストエラーに対応
* 内部で利用しているreaddir関数は環境によって順番が異なる問題があり、現行のテストだとエラーとなるケースが存在する * readdirと同様の動きをする"ls -f"コマンドの結果を利用したテストに変更し、環境差異を吸収する
1 parent 900caa4 commit 34d57a0

File tree

2 files changed

+19
-15
lines changed

2 files changed

+19
-15
lines changed

tests/jp-compat

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10027,7 +10027,7 @@ cat >prog.cob <<'_ATEOF'
1002710027
FILENAME
1002810028
END-CALL.
1002910029
PERFORM WITH TEST AFTER UNTIL FILENAME = SPACES
10030-
DISPLAY FILENAME "/"
10030+
DISPLAY FUNCTION TRIM(FILENAME)
1003110031
CALL "C$LIST-DIRECTORY" USING 2,
1003210032
MYDIR,
1003310033
FILENAME
@@ -10079,6 +10079,18 @@ at_fn_check_status 0 $at_status "$at_srcdir/system-routine.at:82"
1007910079
$at_failed && at_fn_log_failure
1008010080
$at_traceon; }
1008110081

10082+
{ set +x
10083+
$as_echo "$at_srcdir/system-routine.at:83: ls -1f list > list1"
10084+
at_fn_check_prepare_trace "system-routine.at:83"
10085+
( $at_check_trace; ls -1f list > list1
10086+
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
10087+
at_status=$? at_failed=false
10088+
$at_check_filter
10089+
at_fn_diff_devnull "$at_stderr" || at_failed=:
10090+
at_fn_diff_devnull "$at_stdout" || at_failed=:
10091+
at_fn_check_status 0 $at_status "$at_srcdir/system-routine.at:83"
10092+
$at_failed && at_fn_log_failure
10093+
$at_traceon; }
1008210094

1008310095
{ set +x
1008410096
$as_echo "$at_srcdir/system-routine.at:84: \${COMPILE} prog.cob"
@@ -10101,17 +10113,13 @@ at_fn_check_prepare_trace "system-routine.at:85"
1010110113
at_status=$? at_failed=false
1010210114
$at_check_filter
1010310115
at_fn_diff_devnull "$at_stderr" || at_failed=:
10104-
echo >>"$at_stdout"; $as_echo ". /
10105-
.. /
10106-
input1.txt /
10107-
input2.txt /
10116+
echo >>"$at_stdout"; $as_echo "`cat list1`
1010810117
" | \
1010910118
$at_diff - "$at_stdout" || at_failed=:
1011010119
at_fn_check_status 0 $at_status "$at_srcdir/system-routine.at:85"
1011110120
$at_failed && at_fn_log_failure
1011210121
$at_traceon; }
1011310122

10114-
1011510123
set +x
1011610124
$at_times_p && times >"$at_times_file"
1011710125
) 5>&1 2>&1 7>&- | eval $at_tee_pipe

tests/jp-compat.src/system-routine.at

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ AT_DATA([prog.cob], [
6565
FILENAME
6666
END-CALL.
6767
PERFORM WITH TEST AFTER UNTIL FILENAME = SPACES
68-
DISPLAY FILENAME "/"
68+
DISPLAY FUNCTION TRIM(FILENAME)
6969
CALL "C$LIST-DIRECTORY" USING 2,
7070
MYDIR,
7171
FILENAME
@@ -80,14 +80,10 @@ AT_DATA([prog.cob], [
8080
AT_CHECK([mkdir list])
8181
AT_CHECK([echo -n 1 >list/input1.txt])
8282
AT_CHECK([echo -n 1 >list/input2.txt])
83-
83+
AT_CHECK([ls -1f list > list1])
8484
AT_CHECK([${COMPILE} prog.cob])
85-
AT_CHECK([./prog], [0],
86-
[. /
87-
.. /
88-
input1.txt /
89-
input2.txt /
90-
])
91-
85+
AT_CHECK_UNQUOTED([./prog], [0],
86+
[`cat list1`]
87+
)
9288
AT_CLEANUP
9389

0 commit comments

Comments
 (0)