fstests: Add path $here before src/<file>

Calling src/<file> without path '$here' may cause the problem that
the file cannot be found.

For example, Running generic/192 with overlayfs(Let ubifs as base
fs) yields the following output:

  generic/192 - output mismatch
     QA output created by 192
     sleep for 5 seconds
     test
    +./common/rc: line 316: src/t_dir_type: No such file or directory
     delta1 is in range
     delta2 is in range
    ...

When the use case fails, the call stack in generic/192 is:

  local unknowns=$(src/t_dir_type $dir u | wc -l)	common/rc
  _supports_filetype					common/rc
  _overlay_mount					common/overlay
  _overlay_test_mount					common/overlay
  _test_mount						common/rc
  _test_cycle_mount					generic/192

Before _test_cycle_mount() being invoked, generic/192 executed 'cd
/' to change work dir from 'xfstests-dev' to '/', so src/t_dir_type
was not found.

[Eryu: some tests run src/<file> as regular user, don't add $here
prefix in such case, as a regular user may have no search permission
on $here]

Signed-off-by: Zhihao Cheng <chengzhihao1@huawei.com>
Reviewed-by: Eryu Guan <guaneryu@gmail.com>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
This commit is contained in:
Zhihao Cheng
2019-10-21 21:35:46 +08:00
committed by Eryu Guan
parent 74dfaaaacd
commit b7cecbea22
94 changed files with 222 additions and 205 deletions
+2 -2
View File
@@ -45,7 +45,7 @@ _run_generic() {
touch $TESTFILE
# Start the server
src/locktest $mode $TESTFILE 2> $SERVER_LOG 1> $SERVER_PORT &
$here/src/locktest $mode $TESTFILE 2> $SERVER_LOG 1> $SERVER_PORT &
server_pid=$!
timeout=30
@@ -71,7 +71,7 @@ _run_generic() {
# Start the client
src/locktest $mode -p $PORT -h localhost $TESTFILE 2> $CLIENT_LOG
$here/src/locktest $mode -p $PORT -h localhost $TESTFILE 2> $CLIENT_LOG
client_result=$?
client_pid=$!
if [ $client_result -ne 0 ]; then