ts_check_test_command "$TS_HELPER_BYTESWAP"
-$TS_HELPER_BYTESWAP >> $TS_OUTPUT
+$TS_HELPER_BYTESWAP >> "$TS_OUTPUT"
ts_finalize
ts_cd "$TS_OUTDIR"
ts_init_subtest "default"
-$TS_CMD_BITS 11,22,33,44 >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_BITS 11,22,33,44 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "mask"
-$TS_CMD_BITS --mask 11,22,33,44 >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_BITS --mask 11,22,33,44 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "grouped-mask"
-$TS_CMD_BITS --grouped-mask 11,22,33,44 >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_BITS --grouped-mask 11,22,33,44 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "list"
-$TS_CMD_BITS --list 11,22,33,44 >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_BITS --list 11,22,33,44 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "binary"
-$TS_CMD_BITS --binary 11,22,33,44 >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_BITS --binary 11,22,33,44 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "expand"
ts_finalize_subtest
ts_init_subtest "truncate"
-$TS_CMD_BITS -l 1,10000 >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_BITS -l 1,10000 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "width"
-$TS_CMD_BITS --width 16384 -l 10000 >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_BITS --width 16384 -l 10000 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "width-truncate"
-$TS_CMD_BITS --width 32 -l 11,22,33,44 >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_BITS --width 32 -l 11,22,33,44 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "width-zero"
-$TS_CMD_BITS --width 0 -l 11,22,33,44 >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_BITS --width 0 -l 11,22,33,44 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "width-greater-128KB"
-$TS_CMD_BITS --width $(( 129 * 1024 )) -l 11,22,33,44 >> $TS_OUTPUT 2>> $TS_ERRLOG
-sed -i -e "s@$($TS_HELPER_STRERROR ERANGE)@ERANGE@" $TS_OUTPUT $TS_ERRLOG
+$TS_CMD_BITS --width $(( 129 * 1024 )) -l 11,22,33,44 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+sed -i -e "s@$($TS_HELPER_STRERROR ERANGE)@ERANGE@" "$TS_OUTPUT" "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "parse-mask"
-$TS_CMD_BITS -l 0x0badcaca >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_BITS -l 0x0badcaca >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "parse-range"
-$TS_CMD_BITS -g 50-100 75-150 >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_BITS -g 50-100 75-150 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "parse-grouped-mask"
-$TS_CMD_BITS -l ,9000000,00000000,0c000000,00000000 >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_BITS -l ,9000000,00000000,0c000000,00000000 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "or"
-$TS_CMD_BITS -l 50-100 '|75-150' >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_BITS -l 50-100 '|75-150' >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "and"
-$TS_CMD_BITS -l 50-100 '&75-150' >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_BITS -l 50-100 '&75-150' >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "xor"
-$TS_CMD_BITS -l 50-100 '^75-150' >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_BITS -l 50-100 '^75-150' >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "not"
-$TS_CMD_BITS -l 50-100 '~75-150' >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_BITS -l 50-100 '~75-150' >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "stdin"
{
echo 11,22,33,44
echo ^22
-} | $TS_CMD_BITS --list >> $TS_OUTPUT 2>> $TS_ERRLOG
+} | $TS_CMD_BITS --list >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_finalize
function run_tscmd {
local ret
- "$@" >> $TS_OUTPUT 2>> $TS_ERRLOG
+ "$@" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ret=$?
echo "ret: $ret" >> "$TS_OUTPUT"
return $ret
ts_log "testing --force and --quiet"
run_tscmd $TS_CMD_BLKDISCARD --force --quiet $DEVICE >> "$TS_OUTPUT"
-sed -i "s#$DEVICE:\s##" $TS_OUTPUT $TS_ERRLOG
+sed -i "s#$DEVICE:\s##" "$TS_OUTPUT" "$TS_ERRLOG"
ts_log "detach loop device from image"
fi
ts_log "Probe device"
-$TS_CMD_BLKID --probe --output udev $DEVICE >> $TS_OUTPUT 2>> $TS_ERRLOG
-echo "Return code: $?" >> $TS_OUTPUT
+$TS_CMD_BLKID --probe --output udev $DEVICE >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+echo "Return code: $?" >> "$TS_OUTPUT"
udevadm settle
ts_log "Deinitialize device"
for off in $sessions; do
ts_init_subtest $name-$off
$TS_CMD_BLKID --probe --output udev $outimg --hint session_offset=$(( $off * 2048 )) \
- 2> $TS_ERRLOG | sort > $TS_OUTPUT
+ 2> "$TS_ERRLOG" | sort > "$TS_OUTPUT"
ts_finalize_subtest
done
#
#
else
ts_init_subtest $name
- $TS_CMD_BLKID --probe --output udev $outimg 2> $TS_ERRLOG | sort > $TS_OUTPUT
+ $TS_CMD_BLKID --probe --output udev $outimg 2> "$TS_ERRLOG" | sort > "$TS_OUTPUT"
ts_finalize_subtest
fi
done
xz -dc $img > $outimg
- $TS_HELPER_PARTITIONS $outimg &> $TS_OUTPUT
+ $TS_HELPER_PARTITIONS $outimg &> "$TS_OUTPUT"
ts_finalize_subtest
done
ts_log "Create RAID device"
mdadm -q --create ${MD_DEVICE} --metadata=0.90 --chunk=64 --level=0 \
- --raid-devices=2 ${DEVICE1} ${DEVICE2} >> $TS_OUTPUT 2>> $TS_ERRLOG
+ --raid-devices=2 ${DEVICE1} ${DEVICE2} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
# create dos partition table
$TS_CMD_FDISK --noauto-pt ${MD_DEVICE} &>/dev/null <<EOF
EOF
ts_log "Create partitions on RAID device"
-$TS_CMD_FDISK ${MD_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG <<EOF
+$TS_CMD_FDISK ${MD_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" <<EOF
n
p
1
udevadm settle
ts_log "Probe first RAID member"
-$TS_CMD_BLKID --probe --output udev $DEVICE1 2>> $TS_ERRLOG | sort >> $TS_OUTPUT
+$TS_CMD_BLKID --probe --output udev $DEVICE1 2>> "$TS_ERRLOG" | sort >> "$TS_OUTPUT"
ts_log "Probe second RAID member"
-$TS_CMD_BLKID --probe --output udev $DEVICE1 2>> $TS_ERRLOG | sort >> $TS_OUTPUT
+$TS_CMD_BLKID --probe --output udev $DEVICE1 2>> "$TS_ERRLOG" | sort >> "$TS_OUTPUT"
ts_log "Stop RAID device"
-mdadm -q -S ${MD_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG
+mdadm -q -S ${MD_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
udevadm settle
ts_unlock "md"
ts_fdisk_clean $MD_DEVICE
# remove generated UUIDs
-sed -i -e 's/ID_FS_UUID.*//g' $TS_OUTPUT
+sed -i -e 's/ID_FS_UUID.*//g' "$TS_OUTPUT"
ts_finalize
ts_scsi_debug_init dev_size_mb=51 sector_size=512
ts_log "Create partitions"
-$TS_CMD_FDISK --noauto-pt ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG <<EOF
+$TS_CMD_FDISK --noauto-pt ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" <<EOF
o
n
p
ts_log "Create RAID1 device"
mdadm -q -S ${MD_DEVICE} &> /dev/null
mdadm -q --create ${MD_DEVICE} --metadata=0.90 --chunk=64 --level=1 \
- --raid-devices=2 ${TS_DEVICE}1 ${TS_DEVICE}2 >> $TS_OUTPUT 2>> $TS_ERRLOG
+ --raid-devices=2 ${TS_DEVICE}1 ${TS_DEVICE}2 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
udevadm settle
ts_log "Probe whole-disk"
-$TS_CMD_BLKID --probe --output udev ${TS_DEVICE} 2>> $TS_ERRLOG | sort >> $TS_OUTPUT
+$TS_CMD_BLKID --probe --output udev ${TS_DEVICE} 2>> "$TS_ERRLOG" | sort >> "$TS_OUTPUT"
ts_log "Probe first RAID member"
-$TS_CMD_BLKID --probe --output udev ${TS_DEVICE}1 2>> $TS_ERRLOG | sort >> $TS_OUTPUT
+$TS_CMD_BLKID --probe --output udev ${TS_DEVICE}1 2>> "$TS_ERRLOG" | sort >> "$TS_OUTPUT"
ts_log "Probe second RAID member"
-$TS_CMD_BLKID --probe --output udev ${TS_DEVICE}2 2>> $TS_ERRLOG | sort >> $TS_OUTPUT
+$TS_CMD_BLKID --probe --output udev ${TS_DEVICE}2 2>> "$TS_ERRLOG" | sort >> "$TS_OUTPUT"
-mdadm -q -S ${MD_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG
+mdadm -q -S ${MD_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
udevadm settle
ts_unlock "md"
-e 's/^\(ID_FS_UUID\)=.*/\1=__ts_uuid__/' \
-e 's/^\(ID_FS_UUID_ENC\)=.*/\1=__ts_uuid_enc__/' \
-e 's/^\(ID_PART_ENTRY_DISK\)=.*/\1=__ts_majorminor__/' \
- $TS_OUTPUT
+ "$TS_OUTPUT"
ts_finalize
ts_log "Create RAID device"
mdadm -q --create ${MD_DEVICE} --metadata=0.90 --chunk=64 --level=1 \
- --raid-devices=2 ${DEVICE1} ${DEVICE2} >> $TS_OUTPUT 2>> $TS_ERRLOG
+ --raid-devices=2 ${DEVICE1} ${DEVICE2} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
udevadm settle
# create dos partition table
EOF
ts_log "Create partitions on RAID device"
-$TS_CMD_FDISK ${MD_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG <<EOF
+$TS_CMD_FDISK ${MD_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" <<EOF
n
p
1
udevadm settle
ts_log "Probe first RAID member"
-$TS_CMD_BLKID --probe --output udev $DEVICE1 2>> $TS_ERRLOG | sort >> $TS_OUTPUT
+$TS_CMD_BLKID --probe --output udev $DEVICE1 2>> "$TS_ERRLOG" | sort >> "$TS_OUTPUT"
ts_log "Probe second RAID member"
-$TS_CMD_BLKID --probe --output udev $DEVICE1 2>> $TS_ERRLOG | sort >> $TS_OUTPUT
+$TS_CMD_BLKID --probe --output udev $DEVICE1 2>> "$TS_ERRLOG" | sort >> "$TS_OUTPUT"
ts_log "Stop RAID device"
-mdadm -q -S ${MD_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG
+mdadm -q -S ${MD_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
udevadm settle
ts_unlock "md"
ts_fdisk_clean
# seems that raid1 minimum I/O size has been changed in kernels >4.4.x and >4.8
-sed -i 's@^\(I/O size (minimum/optimal): \)[1-9][0-9]*@\1<removed>@' $TS_OUTPUT
+sed -i 's@^\(I/O size (minimum/optimal): \)[1-9][0-9]*@\1<removed>@' "$TS_OUTPUT"
# remove generated UUIDs
-sed -i -e 's/ID_FS_UUID.*//g' $TS_OUTPUT
+sed -i -e 's/ID_FS_UUID.*//g' "$TS_OUTPUT"
ts_finalize
# set global variable TS_DEVICE
ts_scsi_debug_init dev_size_mb=50 sector_size=512
-$TS_CMD_SFDISK ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG <<EOF
+$TS_CMD_SFDISK ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" <<EOF
label: gpt
label-id: b181c399-4711-4c52-8b65-9e764541218d
$TS_CMD_PARTX --delete ${TS_DEVICE} &> /dev/null
$TS_CMD_BLKID --probe --output udev --offset=${offset} --size=${size} $TS_DEVICE \
- >> $TS_OUTPUT 2>> $TS_ERRLOG
+ >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize
sort -u | tr '\n' ' ')
if [ -n "$libs" ]; then
- echo "$(basename $b): $libs" >> $TS_OUTPUT
+ echo "$(basename $b): $libs" >> "$TS_OUTPUT"
else
fres=$(file $b)
case $fres in
*statically*)
- echo "$(basename $b): STATIC" >> $TS_OUTPUT
+ echo "$(basename $b): STATIC" >> "$TS_OUTPUT"
;;
*) # ignore scripts, ...etc.
;;
if [ "$USETERM" == "yes" ]; then
$TS_HELPER_CAL "$@"
fi
- $TS_HELPER_CAL "$@" >> $TS_OUTPUT
+ $TS_HELPER_CAL "$@" >> "$TS_OUTPUT"
ts_finalize_subtest
}
if [ "$USETERM" == "yes" ]; then
XDG_CONFIG_HOME="$TS_SELF" $TS_CMD_CAL --color=always "$@"
fi
- XDG_CONFIG_HOME="$TS_SELF" $TS_CMD_CAL --color=always "$@" >> $TS_OUTPUT
+ XDG_CONFIG_HOME="$TS_SELF" $TS_CMD_CAL --color=always "$@" >> "$TS_OUTPUT"
}
USETERM=$( ts_has_option "useterm" "$*" )
if [ "$USETERM" == "yes" ]; then
XDG_CONFIG_HOME="$TS_SELF" $TS_CMD_CAL --color=always "$@"
fi
- XDG_CONFIG_HOME="$TS_SELF" $TS_CMD_CAL --color=always "$@" >> $TS_OUTPUT
+ XDG_CONFIG_HOME="$TS_SELF" $TS_CMD_CAL --color=always "$@" >> "$TS_OUTPUT"
}
ts_init_subtest "first-day-week-numbers"
if [ "$USETERM" == "yes" ]; then
$TS_CMD_CAL "$@"
fi
- $TS_CMD_CAL "$@" >> $TS_OUTPUT
+ $TS_CMD_CAL "$@" >> "$TS_OUTPUT"
ts_finalize_subtest
}
if [ "$USETERM" == "yes" ]; then
$TS_CMD_CAL "$@"
fi
- $TS_CMD_CAL "$@" >> $TS_OUTPUT
+ $TS_CMD_CAL "$@" >> "$TS_OUTPUT"
ts_finalize_subtest
}
if [ "$USETERM" == "yes" ]; then
$TS_HELPER_CAL "$@"
fi
- $TS_HELPER_CAL "$@" >> $TS_OUTPUT
+ $TS_HELPER_CAL "$@" >> "$TS_OUTPUT"
ts_finalize_subtest
}
if [ "$USETERM" == "yes" ]; then
$TS_HELPER_CAL "$@"
fi
- $TS_HELPER_CAL "$@" >> $TS_OUTPUT
+ $TS_HELPER_CAL "$@" >> "$TS_OUTPUT"
}
function call_cal {
if [ "$USETERM" == "yes" ]; then
$TS_HELPER_CAL "$@"
fi
- $TS_HELPER_CAL "$@" >> $TS_OUTPUT
+ $TS_HELPER_CAL "$@" >> "$TS_OUTPUT"
ts_finalize_subtest
}
if [ "$USETERM" == "yes" ]; then
$TS_CMD_CAL "$@"
fi
- $TS_CMD_CAL "$@" >> $TS_OUTPUT
+ $TS_CMD_CAL "$@" >> "$TS_OUTPUT"
}
function call_cal {
if [ "$USETERM" == "yes" ]; then
$TS_CMD_CAL "$@" 1 $x
fi
- $TS_CMD_CAL "$@" 1 $x >> $TS_OUTPUT
+ $TS_CMD_CAL "$@" 1 $x >> "$TS_OUTPUT"
done
ts_finalize_subtest
}
if [ "$USETERM" == "yes" ]; then
$TS_CMD_CAL "$@"
fi
- $TS_CMD_CAL "$@" >> $TS_OUTPUT
+ $TS_CMD_CAL "$@" >> "$TS_OUTPUT"
ts_finalize_subtest
}
ts_log "Initialize user"
useradd -u 9899 --shell /bin/bash testuser_chfn_test \
- || ts_skip "coul not create test user (testuser)"
+ || ts_skip "could not create test user (testuser)"
-grep testuser /etc/passwd >> $TS_OUTPUT
+grep testuser /etc/passwd >> "$TS_OUTPUT"
$TS_CMD_CHFN --full-name test_gecos --office none --office-phone 111 \
- testuser_chfn_test >>$TS_OUTPUT
-$TS_CMD_CHFN --home-phone 222 testuser_chfn_test >>$TS_OUTPUT
-grep testuser /etc/passwd >> $TS_OUTPUT
+ testuser_chfn_test >>"$TS_OUTPUT"
+$TS_CMD_CHFN --home-phone 222 testuser_chfn_test >>"$TS_OUTPUT"
+grep testuser /etc/passwd >> "$TS_OUTPUT"
userdel --remove testuser_chfn_test &> /dev/null
ts_finalize
ts_skip_qemu_user
function do_chrt {
- $TS_CMD_CHRT "$@" $TS_CMD_CHRT --pid 0 | sed 's/.* policy: //; s/.* priority: //' >> $TS_OUTPUT 2>> $TS_ERRLOG
+ $TS_CMD_CHRT "$@" $TS_CMD_CHRT --pid 0 | sed 's/.* policy: //; s/.* priority: //' >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
}
function skip_policy {
}
function cleanup_output {
- sed -i -e 's/pid [0-9]*/<removed>/' $TS_OUTPUT
+ sed -i -e 's/pid [0-9]*/<removed>/' "$TS_OUTPUT"
}
TS_KNOWN_FAIL="yes"
function do_chrt {
- $TS_CMD_CHRT "$@" $TS_CMD_CHRT --pid 0 | sed 's/.* policy: //; s/.* priority: //' >> $TS_OUTPUT 2>> $TS_ERRLOG
+ $TS_CMD_CHRT "$@" $TS_CMD_CHRT --pid 0 | sed 's/.* policy: //; s/.* priority: //' >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
}
function skip_policy {
}
function cleanup_output {
- sed -i -e 's/pid [0-9]*/<removed>/' $TS_OUTPUT
- sed -i -e 's/[0-9]* (process/<removed> (process/' $TS_OUTPUT
+ sed -i -e 's/pid [0-9]*/<removed>/' "$TS_OUTPUT"
+ sed -i -e 's/[0-9]* (process/<removed> (process/' "$TS_OUTPUT"
}
ts_init_subtest "batch-vs-nice"
skip_policy SCHED_BATCH
if [ $? == 0 ]; then
- renice -n 5 -p $$ >> $TS_OUTPUT 2>> $TS_ERRLOG
+ renice -n 5 -p $$ >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
do_chrt --batch 0
cleanup_output
ts_finalize_subtest
ts_check_test_command "$TS_CMD_COL"
ts_init_subtest "trailing-spaces"
-printf "1 \t\n2\n" | ts_run $TS_CMD_COL >> $TS_OUTPUT 2>&1
+printf "1 \t\n2\n" | ts_run $TS_CMD_COL >> "$TS_OUTPUT" 2>&1
ts_finalize_subtest
ts_init_subtest "tab-backspace"
-printf "1\t\x082\n" | ts_run $TS_CMD_COL >> $TS_OUTPUT 2>&1
+printf "1\t\x082\n" | ts_run $TS_CMD_COL >> "$TS_OUTPUT" 2>&1
ts_finalize_subtest
ts_init_subtest "various-spaces"
-printf "1 \t\f2\n" | ts_run $TS_CMD_COL >> $TS_OUTPUT 2>&1
+printf "1 \t\f2\n" | ts_run $TS_CMD_COL >> "$TS_OUTPUT" 2>&1
ts_finalize_subtest
ts_init_subtest "cr"
-printf "1\r2\n" | ts_run $TS_CMD_COL >> $TS_OUTPUT 2>&1
+printf "1\r2\n" | ts_run $TS_CMD_COL >> "$TS_OUTPUT" 2>&1
ts_finalize_subtest
ts_init_subtest "vt1"
-printf "1\n23\v\n4\n5\n" | ts_run $TS_CMD_COL >> $TS_OUTPUT 2>&1
+printf "1\n23\v\n4\n5\n" | ts_run $TS_CMD_COL >> "$TS_OUTPUT" 2>&1
ts_finalize_subtest
ts_init_subtest "vt2"
-printf "a\v\vb\v\vc" | ts_run $TS_CMD_COL >> $TS_OUTPUT 2>&1
+printf "a\v\vb\v\vc" | ts_run $TS_CMD_COL >> "$TS_OUTPUT" 2>&1
ts_finalize_subtest
ts_init_subtest "reverse-lf"
-printf "1\n2\e\x073\n" | ts_run $TS_CMD_COL >> $TS_OUTPUT 2>&1
+printf "1\n2\e\x073\n" | ts_run $TS_CMD_COL >> "$TS_OUTPUT" 2>&1
ts_finalize_subtest
ts_init_subtest "so-si"
-printf "\x0e\x0f" | ts_run $TS_CMD_COL >> $TS_OUTPUT 2>&1
+printf "\x0e\x0f" | ts_run $TS_CMD_COL >> "$TS_OUTPUT" 2>&1
ts_finalize_subtest
ts_init_subtest "esc-tab"
-printf "\e\t\b1\n" | ts_run $TS_CMD_COL >> $TS_OUTPUT 2>&1
+printf "\e\t\b1\n" | ts_run $TS_CMD_COL >> "$TS_OUTPUT" 2>&1
ts_finalize_subtest
ts_init_subtest "esc-backspace"
-printf "1\e\b2\n" | ts_run $TS_CMD_COL >> $TS_OUTPUT 2>&1
+printf "1\e\b2\n" | ts_run $TS_CMD_COL >> "$TS_OUTPUT" 2>&1
ts_finalize_subtest
ts_init_subtest "cs-normal"
-printf "<B\x10\x0E\t\v\x100" | ts_run $TS_CMD_COL >> $TS_OUTPUT 2>&1
+printf "<B\x10\x0E\t\v\x100" | ts_run $TS_CMD_COL >> "$TS_OUTPUT" 2>&1
ts_finalize_subtest
ts_init_subtest "cs-alternate"
-printf "1\t\x0E2\n" | ts_run $TS_CMD_COL >> $TS_OUTPUT 2>&1
+printf "1\t\x0E2\n" | ts_run $TS_CMD_COL >> "$TS_OUTPUT" 2>&1
ts_finalize_subtest
ts_init_subtest "allocate-here"
-printf "1\t\v2\t\n3" | ts_run $TS_CMD_COL >> $TS_OUTPUT 2>&1
+printf "1\t\v2\t\n3" | ts_run $TS_CMD_COL >> "$TS_OUTPUT" 2>&1
ts_finalize_subtest
ts_init_subtest "half-line"
-printf "\e\t\b1\n" | ts_run $TS_CMD_COL --fine >> $TS_OUTPUT 2>&1
+printf "\e\t\b1\n" | ts_run $TS_CMD_COL --fine >> "$TS_OUTPUT" 2>&1
ts_finalize_subtest
ts_init_subtest "flushing"
-seq 1 199 | ts_run $TS_CMD_COL --lines 8 >> $TS_OUTPUT 2>&1
+seq 1 199 | ts_run $TS_CMD_COL --lines 8 >> "$TS_OUTPUT" 2>&1
ts_finalize_subtest
ts_finalize
ts_init_subtest "valid"
cat $TS_SELF/multibyte.data |
LC_ALL=C ts_run $TS_CMD_COL 2>&1 |
- sed -e "s@$($TS_HELPER_STRERROR EILSEQ)@EILSEQ@" > $TS_OUTPUT
+ sed -e "s@$($TS_HELPER_STRERROR EILSEQ)@EILSEQ@" > "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "invalid"
printf '%s\n' $'abc\200\200jkl' |
LC_ALL=C ts_run $TS_CMD_COL 2>&1 |
- sed -e "s@$($TS_HELPER_STRERROR EILSEQ)@EILSEQ@" > $TS_OUTPUT
+ sed -e "s@$($TS_HELPER_STRERROR EILSEQ)@EILSEQ@" > "$TS_OUTPUT"
ts_finalize_subtest
ts_check_test_command "$TS_CMD_COL"
ts_init_subtest "zero-length-file"
-printf "" | ts_run $TS_CMD_COL >> $TS_OUTPUT 2>> $TS_ERRLOG
+printf "" | ts_run $TS_CMD_COL >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "one-line-no-nl"
-printf "1" | ts_run $TS_CMD_COL >> $TS_OUTPUT 2>> $TS_ERRLOG
+printf "1" | ts_run $TS_CMD_COL >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "one-line-with-nl"
-printf "1\n" | ts_run $TS_CMD_COL >> $TS_OUTPUT 2>> $TS_ERRLOG
+printf "1\n" | ts_run $TS_CMD_COL >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "second-line-no-nl"
-printf "1\n2" | ts_run $TS_CMD_COL >> $TS_OUTPUT 2>> $TS_ERRLOG
+printf "1\n2" | ts_run $TS_CMD_COL >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "second-line-with-nl"
-printf "1\n2\n" | ts_run $TS_CMD_COL >> $TS_OUTPUT 2>> $TS_ERRLOG
+printf "1\n2\n" | ts_run $TS_CMD_COL >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_finalize
ts_check_test_command "$TS_CMD_COL"
ts_init_subtest "no-backspaces"
-printf "FIXME" | ts_run $TS_CMD_COL --no-backspaces >> $TS_OUTPUT 2>> $TS_ERRLOG
+printf "FIXME" | ts_run $TS_CMD_COL --no-backspaces >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "pass"
-printf "a\x11b" | ts_run $TS_CMD_COL >> $TS_OUTPUT 2>> $TS_ERRLOG
-printf "a\x11b" | ts_run $TS_CMD_COL --pass >> $TS_OUTPUT 2>> $TS_ERRLOG
+printf "a\x11b" | ts_run $TS_CMD_COL >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+printf "a\x11b" | ts_run $TS_CMD_COL --pass >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "tabs"
-printf " 1\n" | ts_run $TS_CMD_COL --tabs >> $TS_OUTPUT 2>> $TS_ERRLOG
+printf " 1\n" | ts_run $TS_CMD_COL --tabs >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "spaces"
-printf "\t1\n" | ts_run $TS_CMD_COL --spaces >> $TS_OUTPUT 2>> $TS_ERRLOG
+printf "\t1\n" | ts_run $TS_CMD_COL --spaces >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_finalize
ts_check_test_command "$TS_CMD_COLCRT"
ts_init_subtest 'no-options'
-$TS_CMD_COLCRT < $TS_SELF/nasty-input >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_COLCRT < $TS_SELF/underlines >> $TS_OUTPUT 2>> $TS_ERRLOG
-echo "return value: $?" >> $TS_OUTPUT
+$TS_CMD_COLCRT < $TS_SELF/nasty-input >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_COLCRT < $TS_SELF/underlines >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+echo "return value: $?" >> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest 'no-underlining'
-$TS_CMD_COLCRT --no-underlining < $TS_SELF/nasty-input >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_COLCRT --no-underlining < $TS_SELF/underlines >> $TS_OUTPUT 2>> $TS_ERRLOG
-echo "return value: $?" >> $TS_OUTPUT
+$TS_CMD_COLCRT --no-underlining < $TS_SELF/nasty-input >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_COLCRT --no-underlining < $TS_SELF/underlines >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+echo "return value: $?" >> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest 'half-lines'
-$TS_CMD_COLCRT --half-lines < $TS_SELF/nasty-input >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_COLCRT --half-lines < $TS_SELF/underlines >> $TS_OUTPUT 2>> $TS_ERRLOG
-echo "return value: $?" >> $TS_OUTPUT
+$TS_CMD_COLCRT --half-lines < $TS_SELF/nasty-input >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_COLCRT --half-lines < $TS_SELF/underlines >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+echo "return value: $?" >> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest 'short-options'
-$TS_CMD_COLCRT - -2 $TS_SELF/nasty-input >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_COLCRT - -2 $TS_SELF/underlines >> $TS_OUTPUT 2>> $TS_ERRLOG
-echo "return value: $?" >> $TS_OUTPUT
+$TS_CMD_COLCRT - -2 $TS_SELF/nasty-input >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_COLCRT - -2 $TS_SELF/underlines >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+echo "return value: $?" >> "$TS_OUTPUT"
ts_finalize_subtest
ts_finalize
check_input_file() {
ts_init_subtest ${1##*/}
- timeout 2 env LC_ALL=C.UTF-8 $TS_CMD_COLCRT < $1 >> $TS_OUTPUT 2>> $TS_ERRLOG
- echo "return value: $?" >> $TS_OUTPUT
- sed -i -e 's/Illegal byte sequence/Invalid or incomplete multibyte or wide character/' $TS_ERRLOG
+ timeout 2 env LC_ALL=C.UTF-8 $TS_CMD_COLCRT < $1 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+ echo "return value: $?" >> "$TS_OUTPUT"
+ sed -i -e 's/Illegal byte sequence/Invalid or incomplete multibyte or wide character/' "$TS_ERRLOG"
ts_finalize_subtest
}
ts_check_test_command "$TS_CMD_COLRM"
-printf "a b\nc\td\nef\b\tg\n" | $TS_CMD_COLRM 2 2 >> $TS_OUTPUT 2>> $TS_ERRLOG
+printf "a b\nc\td\nef\b\tg\n" | $TS_CMD_COLRM 2 2 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize
ts_cd "$TS_OUTDIR"
ts_init_subtest "sgr"
-printf '%b' "$(cat $TS_SELF/files/ansiescape)" | $TS_CMD_COLUMN --columns 32 | cat -v >> $TS_OUTPUT 2>> $TS_ERRLOG
+printf '%b' "$(cat $TS_SELF/files/ansiescape)" | $TS_CMD_COLUMN --columns 32 | cat -v >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "scs"
printf '%b' "\033[32mgreen\033(B\033[m|colored with SCS reset\n\033[31mred\033[m|colored without SCS\nnormal|no colors\n" \
- | $TS_CMD_COLUMN --table --separator '|' --output-separator '|' >> $TS_OUTPUT 2>> $TS_ERRLOG
+ | $TS_CMD_COLUMN --table --separator '|' --output-separator '|' >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_finalize
ts_init_subtest "fill-cols-80"
-$TS_CMD_COLUMN -c 80 $TS_SELF/files/onecolumn >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_COLUMN -c 80 $TS_SELF/files/onecolumn >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "fill-cols-50"
-$TS_CMD_COLUMN -c 50 $TS_SELF/files/onecolumn >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_COLUMN -c 50 $TS_SELF/files/onecolumn >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "fill-cols-250"
-$TS_CMD_COLUMN -c 250 $TS_SELF/files/onecolumn >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_COLUMN -c 250 $TS_SELF/files/onecolumn >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "fill-rows-80"
-$TS_CMD_COLUMN --fillrows -c 80 $TS_SELF/files/onecolumn >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_COLUMN --fillrows -c 80 $TS_SELF/files/onecolumn >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "fill-rows-50"
-$TS_CMD_COLUMN --fillrows -c 50 $TS_SELF/files/onecolumn >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_COLUMN --fillrows -c 50 $TS_SELF/files/onecolumn >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "fill-rows-250"
-$TS_CMD_COLUMN --fillrows -c 250 $TS_SELF/files/onecolumn >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_COLUMN --fillrows -c 250 $TS_SELF/files/onecolumn >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_finalize
ts_cd "$TS_OUTDIR"
-printf "\x94\x7e\n" | LC_ALL=C.UTF-8 $TS_CMD_COLUMN >> $TS_OUTPUT 2>> $TS_ERRLOG
+printf "\x94\x7e\n" | LC_ALL=C.UTF-8 $TS_CMD_COLUMN >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize
$TS_CMD_COLUMN -x -c 50 $TS_SELF/files/fivecols \
$TS_SELF/files/fivecols \
- $TS_SELF/files/fivecols >> $TS_OUTPUT 2>> $TS_ERRLOG
+ $TS_SELF/files/fivecols >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize
ts_cd "$TS_OUTDIR"
ts_init_subtest "default"
-$TS_CMD_COLUMN --table $TS_SELF/files/table >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_COLUMN --table $TS_SELF/files/table >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "output-separator"
-$TS_CMD_COLUMN --output-separator '|' --table $TS_SELF/files/table >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_COLUMN --output-separator '|' --table $TS_SELF/files/table >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "input-separator"
-$TS_CMD_COLUMN --input-separator ',' --table $TS_SELF/files/table-sep >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_COLUMN --input-separator ',' --table $TS_SELF/files/table-sep >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "input-separator-space"
-$TS_CMD_COLUMN --separator "$(echo -e '\t')" --table $TS_SELF/files/table-sep-space >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_COLUMN --separator "$(echo -e '\t')" --table $TS_SELF/files/table-sep-space >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "empty-lines"
-$TS_CMD_COLUMN --table --keep-empty-lines $TS_SELF/files/table-empty-lines >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_COLUMN --table --keep-empty-lines $TS_SELF/files/table-empty-lines >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "noempty-lines"
-$TS_CMD_COLUMN --table $TS_SELF/files/table-empty-lines >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_COLUMN --table $TS_SELF/files/table-empty-lines >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "long"
-$TS_CMD_COLUMN --table $TS_SELF/files/mountinfo >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_COLUMN --table $TS_SELF/files/mountinfo >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "hide"
$TS_CMD_COLUMN --table $TS_SELF/files/mountinfo \
- --table-hide 1,2,3,4,7,8 >> $TS_OUTPUT 2>> $TS_ERRLOG
+ --table-hide 1,2,3,4,7,8 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "headers"
$TS_CMD_COLUMN --table $TS_SELF/files/mountinfo \
--table-columns ID,PARENT,MAJMIN,ROOT,TARGET,VFS-OPTS,PROP,SEP,TYPE,SOURCE,FS-OPTS \
--table-hide SEP,ID,PARENT,ROOT \
- >> $TS_OUTPUT 2>> $TS_ERRLOG
+ >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "noheaders"
$TS_CMD_COLUMN --table $TS_SELF/files/table \
--table-noheadings \
--table-columns VERYLONG,COLUMN,NAMES \
- >> $TS_OUTPUT 2>> $TS_ERRLOG
+ >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "truncate"
--table-hide SEP,ID,PARENT,ROOT \
--table-truncate VFS-OPTS,FS-OPTS \
--output-width 80 \
- >> $TS_OUTPUT 2>> $TS_ERRLOG
+ >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "right"
--table-hide SEP,ID,PARENT,ROOT,VFS-OPTS,FS-OPTS,PROP \
--table-right SOURCE,TYPE \
--output-width 80 \
- >> $TS_OUTPUT 2>> $TS_ERRLOG
+ >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "wrap"
--table-hide=SEP,ID,PARENT,ROOT,VFS-OPTS,PROP \
--table-wrap FS-OPTS \
--output-width 110 \
- >> $TS_OUTPUT 2>> $TS_ERRLOG
+ >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "order"
--table-hide=SEP,ID,PARENT,ROOT,PROP,FS-OPTS,MAJMIN \
--table-order TARGET,SOURCE,TYPE,VFS-OPTS \
--output-width 110 \
- >> $TS_OUTPUT 2>> $TS_ERRLOG
+ >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "limit"
--table-columns ID,PARENT,MAJMIN,ROOT,TARGET,VFS-OPTS,PROP,SEP,TYPE,SOURCE,FS-OPTS \
--table-columns-limit 2 \
--output-width 110 \
- >> $TS_OUTPUT 2>> $TS_ERRLOG
+ >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "tree"
--tree-id ID \
--tree-parent PARENT \
--output-width 110 \
- >> $TS_OUTPUT 2>> $TS_ERRLOG
+ >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "json"
--table-order TARGET,SOURCE,TYPE,VFS-OPTS \
--json \
--output-width 110 \
- >> $TS_OUTPUT 2>> $TS_ERRLOG
+ >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "json-lines"
--table-order TARGET,SOURCE,TYPE,VFS-OPTS \
--json \
--output-width 110 \
- >> $TS_OUTPUT 2>> $TS_ERRLOG
+ >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "json-compact"
--table-order TARGET,SOURCE,TYPE,VFS-OPTS \
--json \
--output-width 110 \
- >> $TS_OUTPUT 2>> $TS_ERRLOG
+ >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "use-spaces"
--table-order TARGET,SOURCE,TYPE,VFS-OPTS \
--use-spaces 2\
--output-width 110 \
- >> $TS_OUTPUT 2>> $TS_ERRLOG
+ >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "empty-column"
-printf ':a:b\n' | $TS_CMD_COLUMN --table --separator ':' --output-separator ':' >> $TS_OUTPUT 2>> $TS_ERRLOG
+printf ':a:b\n' | $TS_CMD_COLUMN --table --separator ':' --output-separator ':' >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "empty-column-at-eol"
-printf '|' | $TS_CMD_COLUMN --separator '|' --output-separator '|' --table >> $TS_OUTPUT 2>> $TS_ERRLOG
+printf '|' | $TS_CMD_COLUMN --separator '|' --output-separator '|' --table >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "empty-column-at-eol2"
-printf '||' | $TS_CMD_COLUMN --separator '|' --output-separator '|' --table >> $TS_OUTPUT 2>> $TS_ERRLOG
+printf '||' | $TS_CMD_COLUMN --separator '|' --output-separator '|' --table >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "neg-1"
echo "A B C D" | $TS_CMD_COLUMN --output-separator '|' --table --table-maxout \
- --table-right -1 --output-width=80 >> $TS_OUTPUT 2>> $TS_ERRLOG
+ --table-right -1 --output-width=80 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "neg-2"
echo "A B C D" | $TS_CMD_COLUMN --output-separator '|' --table --table-maxout \
- --table-right -2 --output-width=80 >> $TS_OUTPUT 2>> $TS_ERRLOG
+ --table-right -2 --output-width=80 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "neg-1-2"
echo "A B C D" | $TS_CMD_COLUMN --output-separator '|' --table --table-maxout \
- --table-right -1,-2 --output-width=80 >> $TS_OUTPUT 2>> $TS_ERRLOG
+ --table-right -1,-2 --output-width=80 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "range"
echo "A B C D" | $TS_CMD_COLUMN --output-separator '|' --table --table-maxout \
- --table-right 2-3 --output-width=80 >> $TS_OUTPUT 2>> $TS_ERRLOG
+ --table-right 2-3 --output-width=80 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "wrap-separator-basic"
-echo -e '0:1:2\na::b|c\nx:y:z' | $TS_CMD_COLUMN --table --separator ':' --table-wrap 3 --wrap-separator '|' >> $TS_OUTPUT 2>> $TS_ERRLOG
+echo -e '0:1:2\na::b|c\nx:y:z' | $TS_CMD_COLUMN --table --separator ':' --table-wrap 3 --wrap-separator '|' >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "wrap-separator-all-columns"
-echo -e '0:1:2\na::b|c\nx:y:z' | $TS_CMD_COLUMN --table --separator ':' --table-wrap 0 --wrap-separator '|' >> $TS_OUTPUT 2>> $TS_ERRLOG
+echo -e '0:1:2\na::b|c\nx:y:z' | $TS_CMD_COLUMN --table --separator ':' --table-wrap 0 --wrap-separator '|' >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "wrap-separator-without-wrap"
-echo -e '0:1:2\na::b|c\nx:y:z' | $TS_CMD_COLUMN --table --separator ':' --wrap-separator '|' >> $TS_OUTPUT 2>> $TS_ERRLOG
+echo -e '0:1:2\na::b|c\nx:y:z' | $TS_CMD_COLUMN --table --separator ':' --wrap-separator '|' >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "wrap-separator-multichar"
-echo -e 'Name:Description\nJohn:A||software||developer\nJane:A||data||scientist' | $TS_CMD_COLUMN --table --separator ':' --table-wrap 2 --wrap-separator '||' >> $TS_OUTPUT 2>> $TS_ERRLOG
+echo -e 'Name:Description\nJohn:A||software||developer\nJane:A||data||scientist' | $TS_CMD_COLUMN --table --separator ':' --table-wrap 2 --wrap-separator '||' >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "wrap-separator-multiple-separators"
-echo -e 'A:B:C\naa:b1|b2|b3:cc\nxx:y1|y2:zz' | $TS_CMD_COLUMN --table --separator ':' --table-wrap 2 --wrap-separator '|' >> $TS_OUTPUT 2>> $TS_ERRLOG
+echo -e 'A:B:C\naa:b1|b2|b3:cc\nxx:y1|y2:zz' | $TS_CMD_COLUMN --table --separator ':' --table-wrap 2 --wrap-separator '|' >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "header-as-columns"
-echo -e 'NAME\tAGE\tCITY\nAlice\t30\tNew York\nBob\t25\tLos Angeles' | $TS_CMD_COLUMN --table -K >> $TS_OUTPUT 2>> $TS_ERRLOG
+echo -e 'NAME\tAGE\tCITY\nAlice\t30\tNew York\nBob\t25\tLos Angeles' | $TS_CMD_COLUMN --table -K >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "header-as-columns-csv"
-echo -e 'NAME,AGE,CITY\nAlice,30,New York\nBob,25,Los Angeles' | $TS_CMD_COLUMN --table -K --separator ',' >> $TS_OUTPUT 2>> $TS_ERRLOG
+echo -e 'NAME,AGE,CITY\nAlice,30,New York\nBob,25,Los Angeles' | $TS_CMD_COLUMN --table -K --separator ',' >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "header-as-columns-json"
-echo -e 'NAME,AGE,CITY\nAlice,30,New York\nBob,25,Los Angeles' | $TS_CMD_COLUMN --table -K --separator ',' --json >> $TS_OUTPUT 2>> $TS_ERRLOG
+echo -e 'NAME,AGE,CITY\nAlice,30,New York\nBob,25,Los Angeles' | $TS_CMD_COLUMN --table -K --separator ',' --json >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "header-as-columns-empty"
-echo -e 'COL1\t\tCOL3\nData1\tData2\tData3' | $TS_CMD_COLUMN --table -K >> $TS_OUTPUT 2>> $TS_ERRLOG
+echo -e 'COL1\t\tCOL3\nData1\tData2\tData3' | $TS_CMD_COLUMN --table -K >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "min-width"
-echo -e "a b c\na b c" | $TS_CMD_COLUMN --table --table-column "name=X,width=5" -C "name=YY,width=5" -C "name=Z" --output-separator '|' --output-width unlimited >> $TS_OUTPUT 2>> $TS_ERRLOG
+echo -e "a b c\na b c" | $TS_CMD_COLUMN --table --table-column "name=X,width=5" -C "name=YY,width=5" -C "name=Z" --output-separator '|' --output-width unlimited >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "strictwidth"
-echo -e "a b c\na b c" | $TS_CMD_COLUMN --table --table-column "name=X,width=5" -C "name=YY,width=5,strictwidth" -C "name=Z" --output-separator '|' --output-width unlimited >> $TS_OUTPUT 2>> $TS_ERRLOG
+echo -e "a b c\na b c" | $TS_CMD_COLUMN --table --table-column "name=X,width=5" -C "name=YY,width=5,strictwidth" -C "name=Z" --output-separator '|' --output-width unlimited >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "trunc-wanted"
-echo -e "123456 bbb\na bbb" | $TS_CMD_COLUMN --table --table-column "name=X,width=4,trunc" -C "name=Y" --output-separator '|' --output-width 9 >> $TS_OUTPUT 2>> $TS_ERRLOG
+echo -e "123456 bbb\na bbb" | $TS_CMD_COLUMN --table --table-column "name=X,width=4,trunc" -C "name=Y" --output-separator '|' --output-width 9 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_finalize
chgrp -R 0 "$IMAGE_SRC"
ts_log "create cramfs image"
-$TS_CMD_MKCRAMFS $IMAGE_SRC $IMAGE_PATH >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MKCRAMFS $IMAGE_SRC $IMAGE_PATH >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
[ -s "$IMAGE_PATH" ] || ts_die "Cannot create $IMAGE_PATH"
ts_mount "cramfs" -r $IMAGE_PATH $TS_MOUNTPOINT
cp -a "$IMAGE_FILE" "$IMAGE_FILE.tmp"
num2binary "$size" $endian |
dd of="$IMAGE_FILE.tmp" bs=1 seek="$seek" count=4 conv=notrunc &> /dev/null
- $TS_CMD_FSCKCRAMFS "$IMAGE_FILE.tmp" >> $TS_OUTPUT 2>> $TS_ERRLOG
+ $TS_CMD_FSCKCRAMFS "$IMAGE_FILE.tmp" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_log "ret: $?
"
done
rm -rf "$IMAGE_DATA"
ts_log "extract from $FROM_ENDIANNESS endian"
- $TS_CMD_FSCKCRAMFS -v -b 4096 --extract=$IMAGE_DATA $FROM_IMAGE | head -n1 | cut -d" " -f4 >> $TS_OUTPUT 2>> $TS_ERRLOG
+ $TS_CMD_FSCKCRAMFS -v -b 4096 --extract=$IMAGE_DATA $FROM_IMAGE | head -n1 | cut -d" " -f4 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_log "create $TO_ENDIANNESS endian"
$TS_CMD_MKCRAMFS -N "$TO_ENDIANNESS" -b 4096 "$IMAGE_DATA" \
- "$IMAGE_CREATED" >> $TS_OUTPUT 2>> $TS_ERRLOG
+ "$IMAGE_CREATED" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
- "$TS_HELPER_MD5" < "$IMAGE_CREATED" >> $TS_OUTPUT
+ "$TS_HELPER_MD5" < "$IMAGE_CREATED" >> "$TS_OUTPUT"
rm "$IMAGE_CREATED"
}
ts_cd "$IMAGE_SRC"
ts_log "list checksums from original data"
-find . -type f -exec md5sum {} \; | sort >> $TS_OUTPUT
-echo >> $TS_OUTPUT
+find . -type f -exec md5sum {} \; | sort >> "$TS_OUTPUT"
+echo >> "$TS_OUTPUT"
ts_log "create cramfs image"
-$TS_CMD_MKCRAMFS -n $LABEL $IMAGE_SRC $IMAGE_PATH >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MKCRAMFS -n $LABEL $IMAGE_SRC $IMAGE_PATH >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
[ -s "$IMAGE_PATH" ] || ts_die "Cannot create $IMAGE_PATH"
ts_cd "$TS_OUTDIR"
ts_log "count MD5 from the image"
-MD5_OUT=$("$TS_HELPER_MD5" < "$IMAGE_NAME") >> $TS_OUTPUT 2>> $TS_ERRLOG
+MD5_OUT=$("$TS_HELPER_MD5" < "$IMAGE_NAME") >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
if [ "$MD5_EXP" != "$MD5_OUT" -a "$MD5_EXP" != "unknown" ]; then
ts_log "is $MD5_OUT, should be $MD5_EXP"
fi
-echo >> $TS_OUTPUT
+echo >> "$TS_OUTPUT"
ts_log "create loop device from image"
DEVICE=$($TS_CMD_LOSETUP --show -f $IMAGE_PATH)
ts_log "list the image"
export TZ='GMT-1'
-ls -laR --time-style=long-iso . | sed 's:\. : :g' >> $TS_OUTPUT
-echo >> $TS_OUTPUT
+ls -laR --time-style=long-iso . | sed 's:\. : :g' >> "$TS_OUTPUT"
+echo >> "$TS_OUTPUT"
ts_log "list checksums from new data"
-find . -type f -exec md5sum {} \; | sort >> $TS_OUTPUT
-echo >> $TS_OUTPUT
+find . -type f -exec md5sum {} \; | sort >> "$TS_OUTPUT"
+echo >> "$TS_OUTPUT"
ts_cd "$ORIGPWD"
ts_log "create $TO_ENDIANNESS endian"
$TS_CMD_MKCRAMFS -N "$TO_ENDIANNESS" -b 4096 "$IMAGE_DATA" \
- "$IMAGE_CREATED" >> $TS_OUTPUT 2>> $TS_ERRLOG
+ "$IMAGE_CREATED" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
- $TS_CMD_HEXDUMP -C $IMAGE_CREATED >> $TS_OUTPUT
+ $TS_CMD_HEXDUMP -C $IMAGE_CREATED >> "$TS_OUTPUT"
rm "$IMAGE_CREATED"
}
export TZ="GMT"
export DMESG_TEST_BOOTIME="1234567890.123456"
-$TS_HELPER_DMESG --json --file $TS_SELF/cid-input >> $TS_OUTPUT 2>/dev/null
+$TS_HELPER_DMESG --json --file "$TS_SELF"/cid-input >> "$TS_OUTPUT" 2>/dev/null
ts_finalize
export TZ="GMT"
export DMESG_TEST_BOOTIME="1234567890.123456"
-$TS_HELPER_DMESG --color=always --kmsg-file $TS_SELF/cid-kmsg-input --decode >> $TS_OUTPUT 2>/dev/null
+$TS_HELPER_DMESG --color=always --kmsg-file "$TS_SELF"/cid-kmsg-input --decode >> "$TS_OUTPUT" 2>/dev/null
# dmesg kmsg output can have varying number of caller_id padding spaces
# normalize caller_id padding by removing leading spaces
-sed -i 's/\[ *T/\[T/g' $TS_OUTPUT
-sed -i 's/\[ *C/\[C/g' $TS_OUTPUT
+sed -i 's/\[ *T/\[T/g' "$TS_OUTPUT"
+sed -i 's/\[ *C/\[C/g' "$TS_OUTPUT"
ts_finalize
export DMESG_TEST_BOOTIME="1234567890.123456"
for I in {-1..8}; do
- echo "Display console level: $I" >> $TS_OUTPUT
- $TS_HELPER_DMESG --kmsg-file $TS_SELF/cid-kmsg-input --level $I >> $TS_OUTPUT 2>/dev/null
+ echo "Display console level: $I" >> "$TS_OUTPUT"
+ $TS_HELPER_DMESG --kmsg-file "$TS_SELF"/cid-kmsg-input --level "$I" >> "$TS_OUTPUT" 2>/dev/null
done
-echo "Display console level: err+" >> $TS_OUTPUT
-$TS_HELPER_DMESG --kmsg-file $TS_SELF/cid-kmsg-input --level err+ >> $TS_OUTPUT 2>/dev/null
-echo "Display console level: emerg+" >> $TS_OUTPUT
-$TS_HELPER_DMESG --kmsg-file $TS_SELF/cid-kmsg-input --level emerg+ >> $TS_OUTPUT 2>/dev/null
-echo "Display console level: +err" >> $TS_OUTPUT
-$TS_HELPER_DMESG --kmsg-file $TS_SELF/cid-kmsg-input --level +err >> $TS_OUTPUT 2>/dev/null
-echo "Display console level: +debug" >> $TS_OUTPUT
-$TS_HELPER_DMESG --kmsg-file $TS_SELF/cid-kmsg-input --level +debug >> $TS_OUTPUT 2>/dev/null
-echo "Display console level: debug" >> $TS_OUTPUT
-$TS_HELPER_DMESG --kmsg-file $TS_SELF/cid-kmsg-input --level debug >> $TS_OUTPUT 2>/dev/null
-echo "Display console level: + (invalid)" >> $TS_OUTPUT
-$TS_HELPER_DMESG --kmsg-file $TS_SELF/cid-kmsg-input --level + 2>> $TS_OUTPUT >/dev/null
+echo "Display console level: err+" >> "$TS_OUTPUT"
+$TS_HELPER_DMESG --kmsg-file "$TS_SELF"/cid-kmsg-input --level err+ >> "$TS_OUTPUT" 2>/dev/null
+echo "Display console level: emerg+" >> "$TS_OUTPUT"
+$TS_HELPER_DMESG --kmsg-file "$TS_SELF"/cid-kmsg-input --level emerg+ >> "$TS_OUTPUT" 2>/dev/null
+echo "Display console level: +err" >> "$TS_OUTPUT"
+$TS_HELPER_DMESG --kmsg-file "$TS_SELF"/cid-kmsg-input --level +err >> "$TS_OUTPUT" 2>/dev/null
+echo "Display console level: +debug" >> "$TS_OUTPUT"
+$TS_HELPER_DMESG --kmsg-file "$TS_SELF"/cid-kmsg-input --level +debug >> "$TS_OUTPUT" 2>/dev/null
+echo "Display console level: debug" >> "$TS_OUTPUT"
+$TS_HELPER_DMESG --kmsg-file "$TS_SELF"/cid-kmsg-input --level debug >> "$TS_OUTPUT" 2>/dev/null
+echo "Display console level: + (invalid)" >> "$TS_OUTPUT"
+$TS_HELPER_DMESG --kmsg-file "$TS_SELF"/cid-kmsg-input --level + 2>> "$TS_OUTPUT" >/dev/null
# dmesg kmsg output can have varying number of caller_id padding spaces
# normalize caller_id padding by removing leading spaces
-sed -i 's/\[ *T/\[T/g' $TS_OUTPUT
-sed -i 's/\[ *C/\[C/g' $TS_OUTPUT
+sed -i 's/\[ *T/\[T/g' "$TS_OUTPUT"
+sed -i 's/\[ *C/\[C/g' "$TS_OUTPUT"
ts_finalize
export TZ="GMT"
export DMESG_TEST_BOOTIME="1234567890.123456"
-$TS_HELPER_DMESG --decode --kmsg-file $TS_SELF/cid-kmsg-input >> $TS_OUTPUT 2>/dev/null
+$TS_HELPER_DMESG --decode --kmsg-file "$TS_SELF"/cid-kmsg-input >> "$TS_OUTPUT" 2>/dev/null
# dmesg kmsg output can have varying number of caller_id padding spaces
# normalize caller_id padding by removing leading spaces
-sed -i 's/\[ *T/\[T/g' $TS_OUTPUT
-sed -i 's/\[ *C/\[C/g' $TS_OUTPUT
+sed -i 's/\[ *T/\[T/g' "$TS_OUTPUT"
+sed -i 's/\[ *C/\[C/g' "$TS_OUTPUT"
ts_finalize
export TZ="GMT"
export DMESG_TEST_BOOTIME="1234567890.123456"
-$TS_HELPER_DMESG --show-delta --kmsg-file $TS_SELF/cid-kmsg-input >> $TS_OUTPUT 2>/dev/null
+$TS_HELPER_DMESG --show-delta --kmsg-file "$TS_SELF"/cid-kmsg-input >> "$TS_OUTPUT" 2>/dev/null
# dmesg kmsg output can have varying number of caller_id padding spaces
# normalize caller_id padding by removing leading spaces
-sed -i 's/\[ *T/\[T/g' $TS_OUTPUT
-sed -i 's/\[ *C/\[C/g' $TS_OUTPUT
+sed -i 's/\[ *T/\[T/g' "$TS_OUTPUT"
+sed -i 's/\[ *C/\[C/g' "$TS_OUTPUT"
ts_finalize
export DMESG_TEST_BOOTIME="1234567890.123456"
for I in {-1..12}; do
- echo "Display facility list: $I" >> $TS_OUTPUT
- $TS_HELPER_DMESG --kmsg-file $TS_SELF/cid-kmsg-input --facility $I --decode >> $TS_OUTPUT 2>/dev/null
+ echo "Display facility list: $I" >> "$TS_OUTPUT"
+ $TS_HELPER_DMESG --kmsg-file "$TS_SELF"/cid-kmsg-input --facility "$I" --decode >> "$TS_OUTPUT" 2>/dev/null
done
# dmesg kmsg output can have varying number of caller_id padding spaces
# normalize caller_id padding by removing leading spaces
-sed -i 's/\[ *T/\[T/g' $TS_OUTPUT
-sed -i 's/\[ *C/\[C/g' $TS_OUTPUT
+sed -i 's/\[ *T/\[T/g' "$TS_OUTPUT"
+sed -i 's/\[ *C/\[C/g' "$TS_OUTPUT"
ts_finalize
export TZ="GMT"
export DMESG_TEST_BOOTIME="1234567890.123456"
-$TS_HELPER_DMESG --kmsg-file $TS_SELF/cid-kmsg-newlines >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_HELPER_DMESG --kmsg-file "$TS_SELF"/cid-kmsg-newlines >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
-$TS_HELPER_DMESG --kmsg-file $TS_SELF/cid-kmsg-newlines >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_HELPER_DMESG --kmsg-file "$TS_SELF"/cid-kmsg-newlines >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
-$TS_HELPER_DMESG --time-format=delta --kmsg-file $TS_SELF/cid-kmsg-newlines >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_HELPER_DMESG --time-format=delta --kmsg-file "$TS_SELF"/cid-kmsg-newlines >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
-$TS_HELPER_DMESG --time-format=notime --kmsg-file $TS_SELF/cid-kmsg-newlines >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_HELPER_DMESG --time-format=notime --kmsg-file "$TS_SELF"/cid-kmsg-newlines >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
-$TS_HELPER_DMESG --time-format=reltime --kmsg-file $TS_SELF/cid-kmsg-newlines >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_HELPER_DMESG --time-format=reltime --kmsg-file "$TS_SELF"/cid-kmsg-newlines >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
-$TS_HELPER_DMESG --time-format=ctime --kmsg-file $TS_SELF/cid-kmsg-newlines >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_HELPER_DMESG --time-format=ctime --kmsg-file "$TS_SELF"/cid-kmsg-newlines >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
-$TS_HELPER_DMESG --time-format=iso --kmsg-file $TS_SELF/cid-kmsg-newlines >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_HELPER_DMESG --time-format=iso --kmsg-file "$TS_SELF"/cid-kmsg-newlines >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
# dmesg kmsg output can have varying number of caller_id padding spaces
# normalize caller_id padding by removing leading spaces
-sed -i 's/\[ *T/\[T/g' $TS_OUTPUT
-sed -i 's/\[ *C/\[C/g' $TS_OUTPUT
+sed -i 's/\[ *T/\[T/g' "$TS_OUTPUT"
+sed -i 's/\[ *C/\[C/g' "$TS_OUTPUT"
ts_finalize
export TZ="GMT"
export DMESG_TEST_BOOTIME="1234567890.123456"
-$TS_HELPER_DMESG --json --kmsg-file $TS_SELF/cid-kmsg-input >> $TS_OUTPUT 2>/dev/null
+$TS_HELPER_DMESG --json --kmsg-file "$TS_SELF"/cid-kmsg-input >> "$TS_OUTPUT" 2>/dev/null
ts_finalize
export TZ="GMT"
export DMESG_TEST_BOOTIME="1234567890.123456"
-$TS_HELPER_DMESG --since @1234567890.124 --until @1234567991 --kmsg-file $TS_SELF/cid-kmsg-input \
- >> $TS_OUTPUT 2> $TS_ERRLOG
+$TS_HELPER_DMESG --since @1234567890.124 --until @1234567991 --kmsg-file "$TS_SELF"/cid-kmsg-input \
+ >> "$TS_OUTPUT" 2> "$TS_ERRLOG"
# dmesg kmsg output can have varying number of caller_id padding spaces
# normalize caller_id padding by removing leading spaces
-sed -i 's/\[ *T/\[T/g' $TS_OUTPUT
-sed -i 's/\[ *C/\[C/g' $TS_OUTPUT
+sed -i 's/\[ *T/\[T/g' "$TS_OUTPUT"
+sed -i 's/\[ *C/\[C/g' "$TS_OUTPUT"
ts_finalize
export TZ="GMT"
export DMESG_TEST_BOOTIME="1234567890.123456"
-$TS_HELPER_DMESG --color=always --file $TS_SELF/input --decode >> $TS_OUTPUT 2>/dev/null
+$TS_HELPER_DMESG --color=always --file "$TS_SELF"/input --decode >> "$TS_OUTPUT" 2>/dev/null
ts_finalize
export DMESG_TEST_BOOTIME="1234567890.123456"
for I in {-1..8}; do
- $TS_HELPER_DMESG --file $TS_SELF/input --level $I >> $TS_OUTPUT 2>/dev/null
+ $TS_HELPER_DMESG --file "$TS_SELF"/input --level "$I" >> "$TS_OUTPUT" 2>/dev/null
done
-$TS_HELPER_DMESG --file $TS_SELF/input --level err+ >> $TS_OUTPUT 2>/dev/null
-$TS_HELPER_DMESG --file $TS_SELF/input --level emerg+ >> $TS_OUTPUT 2>/dev/null
-$TS_HELPER_DMESG --file $TS_SELF/input --level +err >> $TS_OUTPUT 2>/dev/null
-$TS_HELPER_DMESG --file $TS_SELF/input --level +debug >> $TS_OUTPUT 2>/dev/null
-$TS_HELPER_DMESG --file $TS_SELF/input --level + 2>> $TS_OUTPUT >/dev/null
+$TS_HELPER_DMESG --file "$TS_SELF"/input --level err+ >> "$TS_OUTPUT" 2>/dev/null
+$TS_HELPER_DMESG --file "$TS_SELF"/input --level emerg+ >> "$TS_OUTPUT" 2>/dev/null
+$TS_HELPER_DMESG --file "$TS_SELF"/input --level +err >> "$TS_OUTPUT" 2>/dev/null
+$TS_HELPER_DMESG --file "$TS_SELF"/input --level +debug >> "$TS_OUTPUT" 2>/dev/null
+$TS_HELPER_DMESG --file "$TS_SELF"/input --level + 2>> "$TS_OUTPUT" >/dev/null
ts_finalize
export TZ="GMT"
export DMESG_TEST_BOOTIME="1234567890.123456"
-$TS_HELPER_DMESG --decode --file $TS_SELF/input >> $TS_OUTPUT 2>/dev/null
+$TS_HELPER_DMESG --decode --file "$TS_SELF"/input >> "$TS_OUTPUT" 2>/dev/null
ts_finalize
export TZ="GMT"
export DMESG_TEST_BOOTIME="1234567890.123456"
-$TS_HELPER_DMESG --show-delta --file $TS_SELF/input >> $TS_OUTPUT 2>/dev/null
+$TS_HELPER_DMESG --show-delta --file "$TS_SELF"/input >> "$TS_OUTPUT" 2>/dev/null
ts_finalize
export DMESG_TEST_BOOTIME="1234567890.123456"
for I in {-1..12}; do
- $TS_HELPER_DMESG --file $TS_SELF/input --facility $I >> $TS_OUTPUT 2>/dev/null
+ $TS_HELPER_DMESG --file "$TS_SELF"/input --facility "$I" >> "$TS_OUTPUT" 2>/dev/null
done
ts_finalize
export TZ="GMT"
export DMESG_TEST_BOOTIME="1234567890.123456"
-$TS_HELPER_DMESG --file $TS_SELF/newlines >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_HELPER_DMESG --file "$TS_SELF"/newlines >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
-$TS_HELPER_DMESG --file $TS_SELF/newlines --decode >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_HELPER_DMESG --file "$TS_SELF"/newlines --decode >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
-$TS_HELPER_DMESG --time-format=delta --file $TS_SELF/newlines >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_HELPER_DMESG --time-format=delta --file "$TS_SELF"/newlines >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
-$TS_HELPER_DMESG --time-format=notime --file $TS_SELF/newlines >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_HELPER_DMESG --time-format=notime --file "$TS_SELF"/newlines >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
-$TS_HELPER_DMESG --time-format=reltime --file $TS_SELF/newlines >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_HELPER_DMESG --time-format=reltime --file "$TS_SELF"/newlines >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
-$TS_HELPER_DMESG --time-format=ctime --file $TS_SELF/newlines >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_HELPER_DMESG --time-format=ctime --file "$TS_SELF"/newlines >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
-$TS_HELPER_DMESG --time-format=iso --file $TS_SELF/newlines >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_HELPER_DMESG --time-format=iso --file "$TS_SELF"/newlines >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize
export TZ="GMT"
export DMESG_TEST_BOOTIME="1234567890.123456"
-$TS_HELPER_DMESG --json --file $TS_SELF/input >> $TS_OUTPUT 2>/dev/null
+$TS_HELPER_DMESG --json --file "$TS_SELF"/input >> "$TS_OUTPUT" 2>/dev/null
ts_finalize
export TZ="GMT"
export DMESG_TEST_BOOTIME="1234567890.123456"
-$TS_HELPER_DMESG --json --kmsg-file $TS_SELF/kmsg-input >> $TS_OUTPUT 2>/dev/null
+$TS_HELPER_DMESG --json --kmsg-file "$TS_SELF"/kmsg-input >> "$TS_OUTPUT" 2>/dev/null
ts_finalize
export TZ="GMT"
export DMESG_TEST_BOOTIME="1234567890.123456"
-$TS_HELPER_DMESG --since @1234567890.124 --until @1234567991 --file $TS_SELF/input \
- >> $TS_OUTPUT 2> $TS_ERRLOG
+$TS_HELPER_DMESG --since @1234567890.124 --until @1234567991 --file "$TS_SELF"/input \
+ >> "$TS_OUTPUT" 2> "$TS_ERRLOG"
ts_finalize
export DMESG_TEST_BOOTIME="1234567890.123456"
ts_init_subtest "multiple"
-$TS_HELPER_DMESG --time-format raw --ctime --time-format iso --file $TS_SELF/input >> $TS_OUTPUT 2>/dev/null
+$TS_HELPER_DMESG --time-format raw --ctime --time-format iso --file "$TS_SELF"/input >> "$TS_OUTPUT" 2>/dev/null
ts_finalize_subtest
ts_init_subtest "delta"
-$TS_HELPER_DMESG --time-format iso --time-format delta --file $TS_SELF/input >> $TS_OUTPUT 2>/dev/null
+$TS_HELPER_DMESG --time-format iso --time-format delta --file "$TS_SELF"/input >> "$TS_OUTPUT" 2>/dev/null
ts_finalize_subtest
ts_init_subtest "delta-ctime"
-$TS_HELPER_DMESG --reltime --time-format delta --time-format ctime --file $TS_SELF/input >> $TS_OUTPUT 2>/dev/null
+$TS_HELPER_DMESG --reltime --time-format delta --time-format ctime --file "$TS_SELF"/input >> "$TS_OUTPUT" 2>/dev/null
ts_finalize_subtest
ts_init_subtest "delta-raw"
-$TS_HELPER_DMESG --time-format raw --time-format ctime --time-format delta --file $TS_SELF/input >> $TS_OUTPUT 2>/dev/null
+$TS_HELPER_DMESG --time-format raw --time-format ctime --time-format delta --file "$TS_SELF"/input >> "$TS_OUTPUT" 2>/dev/null
ts_finalize_subtest
ts_init_subtest "delta-notime"
-$TS_HELPER_DMESG --show-delta --notime --file $TS_SELF/input >> $TS_OUTPUT 2>/dev/null
+$TS_HELPER_DMESG --show-delta --notime --file "$TS_SELF"/input >> "$TS_OUTPUT" 2>/dev/null
ts_finalize_subtest
ts_init_subtest "notime-delta"
-$TS_HELPER_DMESG --notime --show-delta --file $TS_SELF/input >> $TS_OUTPUT 2>/dev/null
+$TS_HELPER_DMESG --notime --show-delta --file "$TS_SELF"/input >> "$TS_OUTPUT" 2>/dev/null
ts_finalize_subtest
ts_finalize
ts_init_subtest "alloc"
rm -f $IMAGE
-if $TS_CMD_FALLOCATE --offset 128 --length 256 $IMAGE >> $TS_OUTPUT 2>> $TS_ERRLOG; then
- stat -c "%s" $IMAGE >> $TS_OUTPUT 2>> $TS_ERRLOG
+if $TS_CMD_FALLOCATE --offset 128 --length 256 $IMAGE >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"; then
+ stat -c "%s" $IMAGE >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
else
# fs type of $TS_OUTDIR, could be used to skip this test early
fs_type=$(${TS_CMD_FINDMNT} --noheadings --output FSTYPE --target ${TS_OUTDIR})
- grep -qi "fallocate: fallocate failed:.*not supported" $TS_ERRLOG \
+ grep -qi "fallocate: fallocate failed:.*not supported" "$TS_ERRLOG" \
&& ts_skip "'${fs_type}' not supported"
fi
# Report holes - initial state with data holes
#
ts_init_subtest "report-data-holes"
-$TS_CMD_FALLOCATE --report-holes $IMAGE >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_FALLOCATE --report-holes $IMAGE >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
#
# Dig holes with verbose
#
ts_init_subtest "dig-holes"
-$TS_CMD_FALLOCATE --dig-holes --verbose $IMAGE 2>> $TS_ERRLOG | sed "s|$IMAGE|<testfile>|g" >> $TS_OUTPUT
+$TS_CMD_FALLOCATE --dig-holes --verbose $IMAGE 2>> "$TS_ERRLOG" | sed "s|$IMAGE|<testfile>|g" >> "$TS_OUTPUT"
ts_finalize_subtest
#
# Report holes after digging - should show file holes
#
ts_init_subtest "report-file-holes"
-$TS_CMD_FALLOCATE --report-holes $IMAGE >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_FALLOCATE --report-holes $IMAGE >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
rm -f $IMAGE
DEVNAME=$(basename $TS_DEVICE)
ts_log "Create partitions"
-$TS_CMD_FDISK --noauto-pt ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG <<EOF
+$TS_CMD_FDISK --noauto-pt ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" <<EOF
o
n
p
udevadm settle
ts_log "Alignment offsets:"
-cat /sys/block/${DEVNAME}/${DEVNAME}{1,2,3,4,5,6,7}/alignment_offset >> $TS_OUTPUT 2>> $TS_ERRLOG
+cat /sys/block/${DEVNAME}/${DEVNAME}{1,2,3,4,5,6,7}/alignment_offset >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fdisk_clean $TS_DEVICE
DEVNAME=$(basename $TS_DEVICE)
ts_log "Create partitions"
-$TS_CMD_FDISK --noauto-pt ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG <<EOF
+$TS_CMD_FDISK --noauto-pt ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" <<EOF
o
n
p
udevadm settle
ts_log "Alignment offsets:"
-cat /sys/block/${DEVNAME}/${DEVNAME}{1,2,3,4,5,6,7}/alignment_offset >> $TS_OUTPUT 2>> $TS_ERRLOG
+cat /sys/block/${DEVNAME}/${DEVNAME}{1,2,3,4,5,6,7}/alignment_offset >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fdisk_clean $TS_DEVICE
DEVNAME=$(basename $TS_DEVICE)
ts_log "Create partitions"
-$TS_CMD_FDISK --noauto-pt ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG <<EOF
+$TS_CMD_FDISK --noauto-pt ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" <<EOF
o
n
p
udevadm settle
ts_log "Alignment offsets:"
-cat /sys/block/${DEVNAME}/${DEVNAME}{1,2}/alignment_offset >> $TS_OUTPUT 2>> $TS_ERRLOG
+cat /sys/block/${DEVNAME}/${DEVNAME}{1,2}/alignment_offset >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_lock "md"
udevadm settle
mdadm -q --create ${MD_DEVICE} --metadata=0.90 --chunk=64 \
- --level=0 --raid-devices=2 ${TS_DEVICE}1 ${TS_DEVICE}2 >> $TS_OUTPUT 2>> $TS_ERRLOG
+ --level=0 --raid-devices=2 ${TS_DEVICE}1 ${TS_DEVICE}2 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
udevadm settle
ts_log "Create partitions (MD)"
-$TS_CMD_FDISK ${MD_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG <<EOF
+$TS_CMD_FDISK ${MD_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" <<EOF
n
p
1
udevadm settle
ts_log "Alignment offsets (MD):"
-cat /sys/block/${MD_DEVNAME}/${MD_DEVNAME}p{1,2}/alignment_offset >> $TS_OUTPUT 2>> $TS_ERRLOG
+cat /sys/block/${MD_DEVNAME}/${MD_DEVNAME}p{1,2}/alignment_offset >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
-mdadm -q -S ${MD_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG
+mdadm -q -S ${MD_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
udevadm settle
ts_unlock "md"
DEVICE=$TS_LODEV
ts_log "Create partitions"
-$TS_CMD_FDISK --noauto-pt ${DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG <<EOF
+$TS_CMD_FDISK --noauto-pt ${DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" <<EOF
o
n
p
DEVNAME=$(basename $TS_DEVICE)
ts_log "Create partitions"
-$TS_CMD_FDISK --noauto-pt ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG <<EOF
+$TS_CMD_FDISK --noauto-pt ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" <<EOF
o
n
p
udevadm settle
ts_log "Alignment offsets:"
-cat /sys/block/${DEVNAME}/${DEVNAME}{1,2,3,4,5,6,7}/alignment_offset >> $TS_OUTPUT 2>> $TS_ERRLOG
+cat /sys/block/${DEVNAME}/${DEVNAME}{1,2,3,4,5,6,7}/alignment_offset >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fdisk_clean $TS_DEVICE
;;
esac
-echo "BSD_LABELSECTOR=$BSD_LABELSECTOR" >> $TS_OUTPUT
-echo "BSD_LABELOFFSET=$BSD_LABELOFFSET" >> $TS_OUTPUT
-echo "BSD_EXTRA=$BSD_EXTRA" >> $TS_OUTPUT
-echo "BYTE_ORDER=$BYTE_ORDER" >> $TS_OUTPUT
-echo >> $TS_OUTPUT
+echo "BSD_LABELSECTOR=$BSD_LABELSECTOR" >> "$TS_OUTPUT"
+echo "BSD_LABELOFFSET=$BSD_LABELOFFSET" >> "$TS_OUTPUT"
+echo "BSD_EXTRA=$BSD_EXTRA" >> "$TS_OUTPUT"
+echo "BYTE_ORDER=$BYTE_ORDER" >> "$TS_OUTPUT"
+echo >> "$TS_OUTPUT"
TS_EXPECTED+="_${BSD_LABELSECTOR}_${BSD_LABELOFFSET}${BSD_EXTRA}.${BYTE_ORDER}"
function print_layout {
- echo -ne "\n---layout----------\n" >> $TS_OUTPUT
- $TS_CMD_FDISK --list-details ${TEST_IMAGE_NAME} >> $TS_OUTPUT
- echo -ne "-------------------\n\n" >> $TS_OUTPUT
+ echo -ne "\n---layout----------\n" >> "$TS_OUTPUT"
+ $TS_CMD_FDISK --list-details ${TEST_IMAGE_NAME} >> "$TS_OUTPUT"
+ echo -ne "-------------------\n\n" >> "$TS_OUTPUT"
}
function print_bsd_layout {
- echo -ne "\n---layout----------\n" >> $TS_OUTPUT
+ echo -ne "\n---layout----------\n" >> "$TS_OUTPUT"
echo -e "${FDISK_CMD_BSD_LIST}" | \
- $TS_CMD_FDISK ${TEST_IMAGE_NAME} >> $TS_OUTPUT
- echo -ne "-------------------\n\n" >> $TS_OUTPUT
+ $TS_CMD_FDISK ${TEST_IMAGE_NAME} >> "$TS_OUTPUT"
+ echo -ne "-------------------\n\n" >> "$TS_OUTPUT"
}
ts_log "Initialize empty image"
TEST_IMAGE_NAME=$(ts_image_init 10)
-$TS_CMD_HEXDUMP --canonical ${TEST_IMAGE_NAME} >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_HEXDUMP --canonical ${TEST_IMAGE_NAME} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_log "Create new DOS partition table"
echo -e "${FDISK_CMD_CREATE_DOSLABEL}${FDISK_CMD_SETID}${FDISK_CMD_WRITE_CLOSE}" \
| $TS_CMD_FDISK --noauto-pt ${TEST_IMAGE_NAME} &> /dev/null
-$TS_CMD_HEXDUMP --canonical ${TEST_IMAGE_NAME} >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_HEXDUMP --canonical ${TEST_IMAGE_NAME} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
print_layout
ts_log "Create 1st primary partition"
echo -e "${FDISK_CMD_CREATE_PRIMARY1}${FDISK_CMD_WRITE_CLOSE}" | \
$TS_CMD_FDISK ${TEST_IMAGE_NAME} &> /dev/null
-$TS_CMD_HEXDUMP --canonical ${TEST_IMAGE_NAME} >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_HEXDUMP --canonical ${TEST_IMAGE_NAME} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
print_layout
ts_log "Create 2nd primary partition"
echo -e "${FDISK_CMD_CREATE_PRIMARY2}${FDISK_CMD_WRITE_CLOSE}" | \
$TS_CMD_FDISK ${TEST_IMAGE_NAME} &> /dev/null
-$TS_CMD_HEXDUMP --canonical ${TEST_IMAGE_NAME} >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_HEXDUMP --canonical ${TEST_IMAGE_NAME} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_log "Set 2nd partition type"
echo -e "${FDISK_CMD_CHANGE_PART2TYPE}${FDISK_CMD_WRITE_CLOSE}" | \
$TS_CMD_FDISK ${TEST_IMAGE_NAME} &> /dev/null
-$TS_CMD_HEXDUMP --canonical ${TEST_IMAGE_NAME} >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_HEXDUMP --canonical ${TEST_IMAGE_NAME} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
print_layout
ts_log "Create default BSD"
echo -e "${FDISK_CMD_BSD_CREATE}${FDISK_CMD_WRITE_CLOSE}" | \
$TS_CMD_FDISK ${TEST_IMAGE_NAME} &> /dev/null
-$TS_CMD_HEXDUMP --canonical ${TEST_IMAGE_NAME} >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_HEXDUMP --canonical ${TEST_IMAGE_NAME} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
print_bsd_layout
echo -e "${FDISK_CMD_BSD_PARTTYPE}${FDISK_CMD_WRITE_CLOSE}" | \
$TS_CMD_FDISK ${TEST_IMAGE_NAME} &> /dev/null
-$TS_CMD_HEXDUMP --canonical ${TEST_IMAGE_NAME} >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_HEXDUMP --canonical ${TEST_IMAGE_NAME} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
print_bsd_layout
echo -e "${FDISK_CMD_BSD_LIST_TYPES}" | \
$TS_CMD_FDISK ${TEST_IMAGE_NAME} | \
- sed 's/Reading .*//g; s/Welcome to fdisk .*//' >> $TS_OUTPUT 2>> $TS_ERRLOG
+ sed 's/Reading .*//g; s/Welcome to fdisk .*//' >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fdisk_clean ${TEST_IMAGE_NAME}
ts_finalize
FDISK_CMD_CREATE_PART="n\n2\n\n\n" # create 2nd partition
function print_layout {
- echo -ne "\n---layout----------\n" >> $TS_OUTPUT
- $TS_CMD_FDISK -l ${TEST_IMAGE_NAME} >> $TS_OUTPUT 2>> $TS_ERRLOG
- echo -ne "-------------------\n\n" >> $TS_OUTPUT
+ echo -ne "\n---layout----------\n" >> "$TS_OUTPUT"
+ $TS_CMD_FDISK -l ${TEST_IMAGE_NAME} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+ echo -ne "-------------------\n\n" >> "$TS_OUTPUT"
ts_fdisk_clean ${TEST_IMAGE_NAME}
}
DEVICE=$TS_LODEV
# create GPT with one partition
-echo ",," | $TS_CMD_SFDISK --no-reread --no-tell-kernel --label gpt $DEVICE >> $TS_OUTPUT 2>> $TS_ERRLOG
+echo ",," | $TS_CMD_SFDISK --no-reread --no-tell-kernel --label gpt $DEVICE >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
udevadm settle
# enlarge the image
ts_log_both "----- fixing after resize: -----"
# create another GPT partition on new free space (all default)
-echo -e 'n\n\n\n\nw\n' | $TS_CMD_FDISK $DEVICE >> $TS_OUTPUT 2>> $TS_ERRLOG
+echo -e 'n\n\n\n\nw\n' | $TS_CMD_FDISK $DEVICE >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
udevadm settle
ts_log "----- list result: -----"
-$TS_CMD_FDISK --list $DEVICE >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_FDISK --list $DEVICE >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fdisk_clean $DEVICE
ts_finalize
ts_init_subtest "create-mbr-with-id-0x1"
TS_EXPECTED+="${ARCH_EXT}"
echo -e "${FDISK_CMD_ID1}" | $TS_CMD_FDISK ${TEST_IMAGE_NAME} &> /dev/null
-$TS_CMD_FDISK -l ${TEST_IMAGE_NAME} | grep identifier >> $TS_OUTPUT
+$TS_CMD_FDISK -l ${TEST_IMAGE_NAME} | grep identifier >> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "create-mbr-with-id-0x2"
TS_EXPECTED+="${ARCH_EXT}"
echo -e "${FDISK_CMD_ID2}" | $TS_CMD_FDISK ${TEST_IMAGE_NAME} &> /dev/null
-$TS_CMD_FDISK -l ${TEST_IMAGE_NAME} | grep identifier >> $TS_OUTPUT
+$TS_CMD_FDISK -l ${TEST_IMAGE_NAME} | grep identifier >> "$TS_OUTPUT"
ts_finalize_subtest
ts_finalize
FDISK_OPTIONS="--cylinders 1024 --compatibility=dos --units=cylinders"
function print_layout {
- echo -ne "\n---layout----------\n" >> $TS_OUTPUT
- $TS_CMD_FDISK ${FDISK_OPTIONS} -x ${TEST_IMAGE_NAME} >> $TS_OUTPUT
- echo -ne "-------------------\n\n" >> $TS_OUTPUT
+ echo -ne "\n---layout----------\n" >> "$TS_OUTPUT"
+ $TS_CMD_FDISK ${FDISK_OPTIONS} -x ${TEST_IMAGE_NAME} >> "$TS_OUTPUT"
+ echo -ne "-------------------\n\n" >> "$TS_OUTPUT"
ts_fdisk_clean ${TEST_IMAGE_NAME}
}
#
ts_init_subtest "empty-pt"
TEST_IMAGE_NAME=$(ts_image_init 10)
-ts_image_md5sum >> $TS_OUTPUT 2>> $TS_ERRLOG
+ts_image_md5sum >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
echo -e "${FDISK_CMD_CREATE_DOSLABEL}${FDISK_CMD_INIT}${FDISK_CMD_WRITE_CLOSE}" \
| $TS_CMD_FDISK --noauto-pt ${FDISK_OPTIONS} ${TEST_IMAGE_NAME} &> /dev/null
-ts_image_md5sum >> $TS_OUTPUT 2>> $TS_ERRLOG
+ts_image_md5sum >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
print_layout
ts_finalize_subtest
ts_init_subtest "create-primary-partition"
echo -e "${FDISK_CMD_CREATE_PRIMARY}${FDISK_CMD_WRITE_CLOSE}" | \
$TS_CMD_FDISK ${FDISK_OPTIONS} ${TEST_IMAGE_NAME} &> /dev/null
-ts_image_md5sum >> $TS_OUTPUT 2>> $TS_ERRLOG
+ts_image_md5sum >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
print_layout
ts_finalize_subtest
ts_init_subtest "set-partition-type"
echo -e "${FDISK_CMD_CHANGE_PARTTYPE}${FDISK_CMD_WRITE_CLOSE}" | \
$TS_CMD_FDISK ${FDISK_OPTIONS} ${TEST_IMAGE_NAME} &> /dev/null
-ts_image_md5sum >> $TS_OUTPUT 2>> $TS_ERRLOG
+ts_image_md5sum >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
print_layout
ts_finalize_subtest
ts_init_subtest "set-primary-par-active"
echo -e "${FDISK_CMD_SET_ACTIVE}${FDISK_CMD_WRITE_CLOSE}" | \
$TS_CMD_FDISK ${FDISK_OPTIONS} ${TEST_IMAGE_NAME} &> /dev/null
-ts_image_md5sum >> $TS_OUTPUT 2>> $TS_ERRLOG
+ts_image_md5sum >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
print_layout
ts_finalize_subtest
ts_init_subtest "re-create-primary-par"
echo -e "d\n${FDISK_CMD_CREATE_PRIMARY}${FDISK_CMD_WRITE_CLOSE}" | \
$TS_CMD_FDISK ${FDISK_OPTIONS} ${TEST_IMAGE_NAME} &> /dev/null
-ts_image_md5sum >> $TS_OUTPUT 2>> $TS_ERRLOG
+ts_image_md5sum >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
print_layout
ts_finalize_subtest
ts_init_subtest "create-extended-par"
echo -e "${FDISK_CMD_CREATE_EXTENDED}${FDISK_CMD_WRITE_CLOSE}" | \
$TS_CMD_FDISK ${FDISK_OPTIONS} ${TEST_IMAGE_NAME} &> /dev/null
-ts_image_md5sum >> $TS_OUTPUT 2>> $TS_ERRLOG
+ts_image_md5sum >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
print_layout
ts_finalize_subtest
ts_init_subtest "create-logical-par"
echo -e "${FDISK_CMD_CREATE_LOGICAL}${FDISK_CMD_CREATE_LOGICAL}${FDISK_CMD_CREATE_LOGICAL}${FDISK_CMD_CREATE_LOGICAL}${FDISK_CMD_WRITE_CLOSE}" \
| $TS_CMD_FDISK ${FDISK_OPTIONS} ${TEST_IMAGE_NAME} &> /dev/null
-ts_image_md5sum >> $TS_OUTPUT 2>> $TS_ERRLOG
+ts_image_md5sum >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
print_layout
ts_finalize_subtest
ts_init_subtest "delete-logical-par"
echo -e "${FDISK_CMD_DELETE_LOGICALS}${FDISK_CMD_WRITE_CLOSE}" \
| $TS_CMD_FDISK ${FDISK_OPTIONS} ${TEST_IMAGE_NAME} &> /dev/null
-ts_image_md5sum >> $TS_OUTPUT 2>> $TS_ERRLOG
+ts_image_md5sum >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
print_layout
ts_finalize_subtest
ts_init_subtest "create-another-log-par"
echo -e "${FDISK_CMD_CREATE_LOGICAL}${FDISK_CMD_WRITE_CLOSE}" \
| $TS_CMD_FDISK ${FDISK_OPTIONS} ${TEST_IMAGE_NAME} &> /dev/null
-ts_image_md5sum >> $TS_OUTPUT 2>> $TS_ERRLOG
+ts_image_md5sum >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
print_layout
ts_finalize_subtest
ts_init_subtest "delete-primary-par"
echo -e "${FDISK_CMD_DELETE_PRIMARY}${FDISK_CMD_WRITE_CLOSE}" \
| $TS_CMD_FDISK ${FDISK_OPTIONS} ${TEST_IMAGE_NAME} &> /dev/null
-ts_image_md5sum >> $TS_OUTPUT 2>> $TS_ERRLOG
+ts_image_md5sum >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
print_layout
ts_finalize_subtest
ts_init_subtest "delete-extended-par"
echo -e "${FDISK_CMD_DELETE_EXTENDED}${FDISK_CMD_WRITE_CLOSE}" \
| $TS_CMD_FDISK ${FDISK_OPTIONS} ${TEST_IMAGE_NAME} &> /dev/null
-ts_image_md5sum >> $TS_OUTPUT 2>> $TS_ERRLOG
+ts_image_md5sum >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
print_layout
ts_finalize_subtest
esac
function print_layout {
- echo -ne "\n---layout----------\n" >> $TS_OUTPUT
- $TS_CMD_FDISK -x ${TEST_IMAGE_NAME} >> $TS_OUTPUT
- echo -ne "-------------------\n\n" >> $TS_OUTPUT
+ echo -ne "\n---layout----------\n" >> "$TS_OUTPUT"
+ $TS_CMD_FDISK -x ${TEST_IMAGE_NAME} >> "$TS_OUTPUT"
+ echo -ne "-------------------\n\n" >> "$TS_OUTPUT"
ts_fdisk_clean ${TEST_IMAGE_NAME}
}
ts_init_subtest "empty-pt"
ts_log "Initialize empty image"
TEST_IMAGE_NAME=$(ts_image_init 20) # 20 MiB
-ts_image_md5sum >> $TS_OUTPUT 2>> $TS_ERRLOG
+ts_image_md5sum >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
# need to run init twice, to change system ID after new label, otherwise system
# ID will be random and will screw up md5's
ts_log "Create new DOS partition table"
echo -e "${FDISK_CMD_CREATE_DOSLABEL}${FDISK_CMD_INIT}${FDISK_CMD_WRITE_CLOSE}" \
| $TS_CMD_FDISK --noauto-pt ${TEST_IMAGE_NAME} &> /dev/null
-ts_image_md5sum >> $TS_OUTPUT 2>> $TS_ERRLOG
+ts_image_md5sum >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
print_layout
ts_finalize_subtest
ts_log "Create 1st primary partition"
echo -e "${FDISK_CMD_CREATE_1PRIMARY}${FDISK_CMD_WRITE_CLOSE}" | \
$TS_CMD_FDISK ${TEST_IMAGE_NAME} &> /dev/null
-ts_image_md5sum >> $TS_OUTPUT 2>> $TS_ERRLOG
+ts_image_md5sum >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
print_layout
ts_finalize_subtest
ts_log "Set primary partition active"
echo -e "${FDISK_CMD_SET_ACTIVE}${FDISK_CMD_WRITE_CLOSE}" | \
$TS_CMD_FDISK ${TEST_IMAGE_NAME} &> /dev/null
-ts_image_md5sum >> $TS_OUTPUT 2>> $TS_ERRLOG
+ts_image_md5sum >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
print_layout
ts_finalize_subtest
ts_log "Re-create 1st primary partition"
echo -e "d\n${FDISK_CMD_CREATE_1PRIMARY}${FDISK_CMD_WRITE_CLOSE}" | \
$TS_CMD_FDISK ${TEST_IMAGE_NAME} &> /dev/null
-ts_image_md5sum >> $TS_OUTPUT 2>> $TS_ERRLOG
+ts_image_md5sum >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
print_layout
ts_finalize_subtest
ts_log "Create 2nd primary partition"
echo -e "${FDISK_CMD_CREATE_2PRIMARY}${FDISK_CMD_WRITE_CLOSE}" | \
$TS_CMD_FDISK ${TEST_IMAGE_NAME} &> /dev/null
-ts_image_md5sum >> $TS_OUTPUT 2>> $TS_ERRLOG
+ts_image_md5sum >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
print_layout
ts_finalize_subtest
ts_log "Create extended partition"
echo -e "${FDISK_CMD_CREATE_EXTENDED}${FDISK_CMD_WRITE_CLOSE}" | \
$TS_CMD_FDISK ${TEST_IMAGE_NAME} &> /dev/null
-ts_image_md5sum >> $TS_OUTPUT 2>> $TS_ERRLOG
+ts_image_md5sum >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
print_layout
ts_finalize_subtest
ts_log "Create logical partitions"
echo -e "${FDISK_CMD_CREATE_LOGICAL}${FDISK_CMD_CREATE_LOGICAL}${FDISK_CMD_CREATE_LOGICAL}${FDISK_CMD_CREATE_LOGICAL}${FDISK_CMD_WRITE_CLOSE}" \
| $TS_CMD_FDISK ${TEST_IMAGE_NAME} &> /dev/null
-ts_image_md5sum >> $TS_OUTPUT 2>> $TS_ERRLOG
+ts_image_md5sum >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
print_layout
ts_finalize_subtest
ts_log "Delete logical partitions"
echo -e "${FDISK_CMD_DELETE_LOGICALS}${FDISK_CMD_WRITE_CLOSE}" \
| $TS_CMD_FDISK ${TEST_IMAGE_NAME} &> /dev/null
-ts_image_md5sum >> $TS_OUTPUT 2>> $TS_ERRLOG
+ts_image_md5sum >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
print_layout
ts_finalize_subtest
ts_log "Create another logical partition"
echo -e "${FDISK_CMD_CREATE_LOGICAL}${FDISK_CMD_WRITE_CLOSE}" \
| $TS_CMD_FDISK ${TEST_IMAGE_NAME} &> /dev/null
-ts_image_md5sum >> $TS_OUTPUT 2>> $TS_ERRLOG
+ts_image_md5sum >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
print_layout
ts_finalize_subtest
ts_log "Delete primary partition"
echo -e "${FDISK_CMD_DELETE_1PRIMARY}${FDISK_CMD_WRITE_CLOSE}" \
| $TS_CMD_FDISK ${TEST_IMAGE_NAME} &> /dev/null
-ts_image_md5sum >> $TS_OUTPUT 2>> $TS_ERRLOG
+ts_image_md5sum >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
print_layout
ts_finalize_subtest
ts_log "Delete primary partition"
echo -e "${FDISK_CMD_DELETE_2PRIMARY}${FDISK_CMD_WRITE_CLOSE}" \
| $TS_CMD_FDISK ${TEST_IMAGE_NAME} &> /dev/null
-ts_image_md5sum >> $TS_OUTPUT 2>> $TS_ERRLOG
+ts_image_md5sum >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
print_layout
ts_finalize_subtest
ts_log "Delete extended partition"
echo -e "${FDISK_CMD_DELETE_EXTENDED}${FDISK_CMD_WRITE_CLOSE}" \
| $TS_CMD_FDISK -c=dos -u=cylinders ${TEST_IMAGE_NAME} &> /dev/null
-ts_image_md5sum >> $TS_OUTPUT 2>> $TS_ERRLOG
+ts_image_md5sum >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
print_layout
ts_finalize_subtest
ts_log "Create 2nd primary at the begin of device"
echo -e "n\np\n2\n\n\n${FDISK_CMD_WRITE_CLOSE}" | \
- $TS_CMD_FDISK ${TEST_IMAGE_NAME} >> $TS_OUTPUT
+ $TS_CMD_FDISK ${TEST_IMAGE_NAME} >> "$TS_OUTPUT"
print_layout
ts_finalize_subtest
FDISK_CMD_EXPERT_SORT="x\nf\nr\n"
function print_layout {
- echo -ne "\n---layout----------\n" >> $TS_OUTPUT
- $TS_CMD_FDISK --list-details ${TEST_IMAGE_NAME} >> $TS_OUTPUT
- echo -ne "-------------------\n\n" >> $TS_OUTPUT
+ echo -ne "\n---layout----------\n" >> "$TS_OUTPUT"
+ $TS_CMD_FDISK --list-details ${TEST_IMAGE_NAME} >> "$TS_OUTPUT"
+ echo -ne "-------------------\n\n" >> "$TS_OUTPUT"
ts_fdisk_clean ${TEST_IMAGE_NAME}
}
ts_log "---Initialize empty image"
TEST_IMAGE_NAME=$(ts_image_init 10)
-ts_image_md5sum >> $TS_OUTPUT 2>> $TS_ERRLOG
+ts_image_md5sum >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
#
# Note that since 2.23 the DOS-mode has effect only if there is a MBR on the device.
ts_log "---Empty image listing" # this should report empty partition table
# TEST_IMAGE_NAME has absolute path, and is by definition different on each computer, we need to sed it away
-$TS_CMD_FDISK -c=dos -u=cylinders -x ${TEST_IMAGE_NAME} >> $TS_OUTPUT 2>> $TS_ERRLOG
-sed -i -e "s/${TEST_IMAGE_NAME//\//\\/}/testimage/" $TS_OUTPUT $TS_ERRLOG
+$TS_CMD_FDISK -c=dos -u=cylinders -x ${TEST_IMAGE_NAME} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+sed -i -e "s/${TEST_IMAGE_NAME//\//\\/}/testimage/" "$TS_OUTPUT" "$TS_ERRLOG"
#
# Errors
#
ts_logerr "---Nonexistent file"
-$TS_CMD_FDISK -c=dos -u=cylinders -x _a_file_that_does_not_exist_ >> $TS_OUTPUT 2>> $TS_ERRLOG
-sed -i -e "s@$($TS_HELPER_STRERROR ENOENT)@ENOENT@" $TS_OUTPUT $TS_ERRLOG
+$TS_CMD_FDISK -c=dos -u=cylinders -x _a_file_that_does_not_exist_ >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+sed -i -e "s@$($TS_HELPER_STRERROR ENOENT)@ENOENT@" "$TS_OUTPUT" "$TS_ERRLOG"
ts_logerr "---Too small file"
echo "This file is too small" >> oddinput.toosmall
-$TS_CMD_FDISK -c=dos -u=cylinders -x oddinput.toosmall >> $TS_OUTPUT 2>> $TS_ERRLOG
-sed -i -e "s@$($TS_HELPER_STRERROR EINVAL)@EINVAL@" $TS_OUTPUT $TS_ERRLOG
+$TS_CMD_FDISK -c=dos -u=cylinders -x oddinput.toosmall >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+sed -i -e "s@$($TS_HELPER_STRERROR EINVAL)@EINVAL@" "$TS_OUTPUT" "$TS_ERRLOG"
rm oddinput.toosmall
ts_finalize
FDISK_OPTIONS="--heads 1 --sectors 63 --units=cylinders"
function print_layout {
- $TS_CMD_FDISK ${FDISK_OPTIONS} -x ${TEST_IMAGE_NAME} >> $TS_OUTPUT
+ $TS_CMD_FDISK ${FDISK_OPTIONS} -x ${TEST_IMAGE_NAME} >> "$TS_OUTPUT"
ts_fdisk_clean ${TEST_IMAGE_NAME}
}
ts_init_subtest "empty-sun-pt"
TEST_IMAGE_NAME=$(ts_image_init 10)
-ts_image_md5sum >> $TS_OUTPUT 2>> $TS_ERRLOG
+ts_image_md5sum >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
echo -e "${FDISK_CMD_INIT}${FDISK_CMD_DELETEALL}${FDISK_CMD_WRITE_CLOSE}" \
| $TS_CMD_FDISK --noauto-pt ${FDISK_OPTIONS} ${TEST_IMAGE_NAME} &> /dev/null
-ts_image_md5sum >> $TS_OUTPUT 2>> $TS_ERRLOG
+ts_image_md5sum >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
print_layout
ts_finalize_subtest
ts_init_subtest "create-first-partition"
echo -e "${FDISK_CMD_CREATE_PRIMARY}${FDISK_CMD_WRITE_CLOSE}" | \
$TS_CMD_FDISK ${FDISK_OPTIONS} ${TEST_IMAGE_NAME} &> /dev/null
-ts_image_md5sum >> $TS_OUTPUT 2>> $TS_ERRLOG
+ts_image_md5sum >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
print_layout
ts_finalize_subtest
ts_init_subtest "set-partition-sysid"
echo -e "${FDISK_CMD_CHANGE_SYSID}${FDISK_CMD_WRITE_CLOSE}" | \
$TS_CMD_FDISK ${FDISK_OPTIONS} ${TEST_IMAGE_NAME} &> /dev/null
-ts_image_md5sum >> $TS_OUTPUT 2>> $TS_ERRLOG
+ts_image_md5sum >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
print_layout
ts_finalize_subtest
ts_init_subtest "set-first-par-readonly"
echo -e "${FDISK_CMD_TOGGLE_READONLY}${FDISK_CMD_WRITE_CLOSE}" | \
$TS_CMD_FDISK ${FDISK_OPTIONS} ${TEST_IMAGE_NAME} &> /dev/null
-ts_image_md5sum >> $TS_OUTPUT 2>> $TS_ERRLOG
+ts_image_md5sum >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
print_layout
ts_finalize_subtest
ts_init_subtest "set-first-par-mountable"
echo -e "${FDISK_CMD_TOGGLE_MOUNTABLE}${FDISK_CMD_WRITE_CLOSE}" | \
$TS_CMD_FDISK ${FDISK_OPTIONS} ${TEST_IMAGE_NAME} &> /dev/null
-ts_image_md5sum >> $TS_OUTPUT 2>> $TS_ERRLOG
+ts_image_md5sum >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
print_layout
ts_finalize_subtest
ts_init_subtest "create-second-partition"
echo -e "${FDISK_CMD_CREATE_SECONDARY}${FDISK_CMD_WRITE_CLOSE}" | \
- $TS_CMD_FDISK ${FDISK_OPTIONS} ${TEST_IMAGE_NAME} >> $TS_OUTPUT 2>> $TS_ERRLOG
-ts_image_md5sum >> $TS_OUTPUT 2>> $TS_ERRLOG
+ $TS_CMD_FDISK ${FDISK_OPTIONS} ${TEST_IMAGE_NAME} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+ts_image_md5sum >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
print_layout
ts_finalize_subtest
ts_init_subtest "delete-all-partitions"
echo -e "${FDISK_CMD_DELETEALL}${FDISK_CMD_WRITE_CLOSE}" | \
$TS_CMD_FDISK ${FDISK_OPTIONS} ${TEST_IMAGE_NAME} &> /dev/null
-ts_image_md5sum >> $TS_OUTPUT 2>> $TS_ERRLOG
+ts_image_md5sum >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
$TS_CMD_FINCORE --raw --output $OUT_COLUMNS --bytes --noheadings $input
footer "$?"
-} >> $TS_OUTPUT 2>> $TS_ERRLOG
+} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
{
run_dd_test "EMPTY FILE" 0
-} >> $TS_OUTPUT 2>> $TS_ERRLOG
+} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
{
run_dd_test "PAGESIZE -1 (incore)" $(( PAGE_SIZE - 1 ))
-} >> $TS_OUTPUT 2>> $TS_ERRLOG
+} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
{
run_dd_test "JUST PAGESIZE(incore)" $(( PAGE_SIZE ))
-} >> $TS_OUTPUT 2>> $TS_ERRLOG
+} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
{
run_dd_test "JUST PAGESIZE(directio)" $(( PAGE_SIZE )) "oflag=direct"
-} >> $TS_OUTPUT 2>> $TS_ERRLOG
+} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
{
run_dd_test "TWO PAGES(incore)" $(( 2 * PAGE_SIZE ))
-} >> $TS_OUTPUT 2>> $TS_ERRLOG
+} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
{
run_dd_test "TWO PAGES(directio)" $(( 2 * PAGE_SIZE )) "oflag=direct"
-} >> $TS_OUTPUT 2>> $TS_ERRLOG
+} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
{
run_dd_dd_test "TWO PAGES(mixed directio,incore)" \
oflag=direct \
"oflag=append seek=1"
-} >> $TS_OUTPUT 2>> $TS_ERRLOG
+} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
{
run_dd_dd_test "TWO PAGES(mixed incore,directio)" \
"" \
"oflag=direct,append seek=1"
-} >> $TS_OUTPUT 2>> $TS_ERRLOG
+} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
{
hole_count=$(( WINDOW_SIZE / PAGE_SIZE - 2 ))
run_dd_dd_test "WINDOW SIZE(incore-sparse-incore)" \
"" \
"oflag=append seek=$hole_count"
-} >> $TS_OUTPUT 2>> $TS_ERRLOG
+} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
{
hole_count=$(( WINDOW_SIZE / PAGE_SIZE - 2 ))
run_dd_dd_test "WINDOW SIZE(directio-sparse-directio)" \
"oflag=direct" \
"oflag=append,direct seek=$hole_count"
-} >> $TS_OUTPUT 2>> $TS_ERRLOG
+} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
{
hole_count=$(( WINDOW_SIZE / PAGE_SIZE - 2 ))
run_dd_dd_test "WINDOW SIZE(incore-sparse-directio)" \
"" \
"oflag=append,direct seek=$hole_count"
-} >> $TS_OUTPUT 2>> $TS_ERRLOG
+} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
{
hole_count=$(( WINDOW_SIZE / PAGE_SIZE - 2 ))
run_dd_dd_test "WINDOW SIZE(directio-sparse-incore)" \
"oflag=direct" \
"oflag=append seek=$hole_count"
-} >> $TS_OUTPUT 2>> $TS_ERRLOG
+} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
{
hole_count=$(( WINDOW_SIZE / PAGE_SIZE - 1 ))
run_dd_dd_test "WINDOW SIZE + 1 page(incore-sparse-incore)" \
"" \
"oflag=append seek=$hole_count"
-} >> $TS_OUTPUT 2>> $TS_ERRLOG
+} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
{
hole_count=$(( WINDOW_SIZE / PAGE_SIZE - 1 ))
run_dd_dd_test "WINDOW SIZE + 1 page(directio-sparse-directio)" \
"oflag=direct" \
"oflag=append,direct seek=$hole_count"
-} >> $TS_OUTPUT 2>> $TS_ERRLOG
+} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
{
hole_count=$(( WINDOW_SIZE / PAGE_SIZE - 1 ))
run_dd_dd_test "WINDOW SIZE + 1 page(incore-sparse-directio)" \
"" \
"oflag=append,direct seek=$hole_count"
-} >> $TS_OUTPUT 2>> $TS_ERRLOG
+} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
{
hole_count=$(( WINDOW_SIZE / PAGE_SIZE - 1 ))
run_dd_dd_test "WINDOW SIZE + 1 page(directio-sparse-incore)" \
"oflag=direct" \
"oflag=append seek=$hole_count"
-} >> $TS_OUTPUT 2>> $TS_ERRLOG
+} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_log_both "[ MULTIPLE FILES ]"
{
$TS_CMD_FINCORE --raw --output $OUT_COLUMNS --bytes $INPUT
footer "$?"
-} >> $TS_OUTPUT 2>> $TS_ERRLOG
+} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
rm -f $INPUT
INPUT=
{
run_dd_test "EMPTY" 0
-} >> $TS_OUTPUT 2>> $TS_ERRLOG
+} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
{
run_dd_test 1b 1
-} >> $TS_OUTPUT 2>> $TS_ERRLOG
+} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
{
run_dd_test 1k 1024
-} >> $TS_OUTPUT 2>> $TS_ERRLOG
+} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
{
run_dd_test 10k 10240
-} >> $TS_OUTPUT 2>> $TS_ERRLOG
+} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_log_both "[ GRAND TOTAL SIZE ]"
{
$TS_CMD_FINCORE --raw --output $OUT_COLUMNS --bytes --noheadings --total $INPUT
footer "$?"
-} >> $TS_OUTPUT 2>> $TS_ERRLOG
+} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
rm -f $INPUT
INPUT=
{
run_dd_test "EMPTY" 0
-} >> $TS_OUTPUT 2>> $TS_ERRLOG
+} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
{
run_dd_test 1b 1
-} >> $TS_OUTPUT 2>> $TS_ERRLOG
+} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
{
run_dd_test 'ONE PAGE' $PAGE_SIZE
-} >> $TS_OUTPUT 2>> $TS_ERRLOG
+} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
{
run_dd_test 'TWO PAGES' $(( 2 * PAGE_SIZE ))
-} >> $TS_OUTPUT 2>> $TS_ERRLOG
+} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
{
run_dd_test 'TEN PAGES' $(( 10 * PAGE_SIZE ))
-} >> $TS_OUTPUT 2>> $TS_ERRLOG
+} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_log_both "[ GRAND TOTAL PAGES ]"
{
$TS_CMD_FINCORE --raw --output $OUT_COLUMNS --bytes --noheadings --total $INPUT
footer "$?"
-} >> $TS_OUTPUT 2>> $TS_ERRLOG
+} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
OUT_COLUMNS=$OLD_COLUMNS
{
run_dd_test "dir/EMPTY FILE" 0
- } >> $TS_OUTPUT 2>> $TS_ERRLOG
+ } >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
{
run_dd_test "dir/PAGESIZE -1 (incore)" $(( PAGE_SIZE - 1 ))
- } >> $TS_OUTPUT 2>> $TS_ERRLOG
+ } >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
{
run_dd_test "dir/JUST PAGESIZE(incore)" $(( PAGE_SIZE ))
- } >> $TS_OUTPUT 2>> $TS_ERRLOG
+ } >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_log_both "[ RECURSIVE SCAN ]"
{
$TS_CMD_FINCORE --raw --output $OUT_COLUMNS --bytes --recursive --raw "$dir" |sort
footer "$?"
- } >> $TS_OUTPUT 2>> $TS_ERRLOG
+ } >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
fi
rm -f $INPUT
ts_check_test_command "$TS_CMD_FINDMNT"
ts_init_subtest "types"
-$TS_CMD_FINDMNT --types ext3 --kernel --tab-file "$TS_SELF/files/mountinfo" &> $TS_OUTPUT
-echo rc=$? >> $TS_OUTPUT
+$TS_CMD_FINDMNT --types ext3 --kernel --tab-file "$TS_SELF/files/mountinfo" &> "$TS_OUTPUT"
+echo rc=$? >> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "types-multi"
-$TS_CMD_FINDMNT --types ext3,ext4, --kernel --tab-file "$TS_SELF/files/mountinfo" &> $TS_OUTPUT
-echo rc=$? >> $TS_OUTPUT
+$TS_CMD_FINDMNT --types ext3,ext4, --kernel --tab-file "$TS_SELF/files/mountinfo" &> "$TS_OUTPUT"
+echo rc=$? >> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "types-neg"
-$TS_CMD_FINDMNT --types noext3,ext4, --kernel --tab-file "$TS_SELF/files/mountinfo" &> $TS_OUTPUT
-echo rc=$? >> $TS_OUTPUT
+$TS_CMD_FINDMNT --types noext3,ext4, --kernel --tab-file "$TS_SELF/files/mountinfo" &> "$TS_OUTPUT"
+echo rc=$? >> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "options"
-$TS_CMD_FINDMNT --options relatime --kernel --tab-file "$TS_SELF/files/mountinfo" &> $TS_OUTPUT
-echo rc=$? >> $TS_OUTPUT
+$TS_CMD_FINDMNT --options relatime --kernel --tab-file "$TS_SELF/files/mountinfo" &> "$TS_OUTPUT"
+echo rc=$? >> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "options-name"
-$TS_CMD_FINDMNT --options fd --kernel --tab-file "$TS_SELF/files/mountinfo" &> $TS_OUTPUT
-echo rc=$? >> $TS_OUTPUT
+$TS_CMD_FINDMNT --options fd --kernel --tab-file "$TS_SELF/files/mountinfo" &> "$TS_OUTPUT"
+echo rc=$? >> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "options-nameval"
-$TS_CMD_FINDMNT --options "fd=22" --kernel --tab-file "$TS_SELF/files/mountinfo" &> $TS_OUTPUT
-echo rc=$? >> $TS_OUTPUT
+$TS_CMD_FINDMNT --options "fd=22" --kernel --tab-file "$TS_SELF/files/mountinfo" &> "$TS_OUTPUT"
+echo rc=$? >> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "options-nameval-neg"
-$TS_CMD_FINDMNT --options "nofd=22" --kernel --tab-file "$TS_SELF/files/mountinfo" &> $TS_OUTPUT
-echo rc=$? >> $TS_OUTPUT
+$TS_CMD_FINDMNT --options "nofd=22" --kernel --tab-file "$TS_SELF/files/mountinfo" &> "$TS_OUTPUT"
+echo rc=$? >> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "options-nameval-multi"
-$TS_CMD_FINDMNT --options "gid=5,mode=620,ptmxmode=000" --kernel --tab-file "$TS_SELF/files/mountinfo" &> $TS_OUTPUT
-echo rc=$? >> $TS_OUTPUT
+$TS_CMD_FINDMNT --options "gid=5,mode=620,ptmxmode=000" --kernel --tab-file "$TS_SELF/files/mountinfo" &> "$TS_OUTPUT"
+echo rc=$? >> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "options-neg"
-$TS_CMD_FINDMNT --options norelatime --kernel --tab-file "$TS_SELF/files/mountinfo" &> $TS_OUTPUT
-echo rc=$? >> $TS_OUTPUT
+$TS_CMD_FINDMNT --options norelatime --kernel --tab-file "$TS_SELF/files/mountinfo" &> "$TS_OUTPUT"
+echo rc=$? >> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "options-no"
-$TS_CMD_FINDMNT --options +noatime --kernel --tab-file "$TS_SELF/files/mountinfo" &> $TS_OUTPUT
-echo rc=$? >> $TS_OUTPUT
+$TS_CMD_FINDMNT --options +noatime --kernel --tab-file "$TS_SELF/files/mountinfo" &> "$TS_OUTPUT"
+echo rc=$? >> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "options-no-multi"
-$TS_CMD_FINDMNT --options +nosuid,+nodev,blkio --kernel --tab-file "$TS_SELF/files/mountinfo" &> $TS_OUTPUT
-echo rc=$? >> $TS_OUTPUT
+$TS_CMD_FINDMNT --options +nosuid,+nodev,blkio --kernel --tab-file "$TS_SELF/files/mountinfo" &> "$TS_OUTPUT"
+echo rc=$? >> "$TS_OUTPUT"
ts_finalize_subtest
ts_check_test_command "$TS_CMD_FINDMNT"
ts_init_subtest "types"
-$TS_CMD_FINDMNT --filter 'FSTYPE == "ext3"' --kernel --tab-file "$TS_SELF/files/mountinfo" &> $TS_OUTPUT
-echo rc=$? >> $TS_OUTPUT
+$TS_CMD_FINDMNT --filter 'FSTYPE == "ext3"' --kernel --tab-file "$TS_SELF/files/mountinfo" &> "$TS_OUTPUT"
+echo rc=$? >> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "types-multi"
-$TS_CMD_FINDMNT --filter 'FSTYPE =~ "ext[34]"' --kernel --tab-file "$TS_SELF/files/mountinfo" &> $TS_OUTPUT
-echo rc=$? >> $TS_OUTPUT
+$TS_CMD_FINDMNT --filter 'FSTYPE =~ "ext[34]"' --kernel --tab-file "$TS_SELF/files/mountinfo" &> "$TS_OUTPUT"
+echo rc=$? >> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "types-neg"
-$TS_CMD_FINDMNT --filter 'FSTYPE !~ "ext[34]"' --kernel --tab-file "$TS_SELF/files/mountinfo" &> $TS_OUTPUT
-echo rc=$? >> $TS_OUTPUT
+$TS_CMD_FINDMNT --filter 'FSTYPE !~ "ext[34]"' --kernel --tab-file "$TS_SELF/files/mountinfo" &> "$TS_OUTPUT"
+echo rc=$? >> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "options"
-$TS_CMD_FINDMNT --filter 'OPTIONS =~ "\<relatime\>"' --kernel --tab-file "$TS_SELF/files/mountinfo" &> $TS_OUTPUT
-echo rc=$? >> $TS_OUTPUT
+$TS_CMD_FINDMNT --filter 'OPTIONS =~ "\<relatime\>"' --kernel --tab-file "$TS_SELF/files/mountinfo" &> "$TS_OUTPUT"
+echo rc=$? >> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "options-name"
-$TS_CMD_FINDMNT --filter 'OPTIONS =~ "\<fd\>"' --kernel --tab-file "$TS_SELF/files/mountinfo" &> $TS_OUTPUT
-echo rc=$? >> $TS_OUTPUT
+$TS_CMD_FINDMNT --filter 'OPTIONS =~ "\<fd\>"' --kernel --tab-file "$TS_SELF/files/mountinfo" &> "$TS_OUTPUT"
+echo rc=$? >> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "options-nameval"
-$TS_CMD_FINDMNT --filter 'OPTIONS =~ "\<fd=22\>"' --kernel --tab-file "$TS_SELF/files/mountinfo" &> $TS_OUTPUT
-echo rc=$? >> $TS_OUTPUT
+$TS_CMD_FINDMNT --filter 'OPTIONS =~ "\<fd=22\>"' --kernel --tab-file "$TS_SELF/files/mountinfo" &> "$TS_OUTPUT"
+echo rc=$? >> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "options-nameval-neg"
-$TS_CMD_FINDMNT --filter 'OPTIONS !~ "\<fd=22\>"' --kernel --tab-file "$TS_SELF/files/mountinfo" &> $TS_OUTPUT
-echo rc=$? >> $TS_OUTPUT
+$TS_CMD_FINDMNT --filter 'OPTIONS !~ "\<fd=22\>"' --kernel --tab-file "$TS_SELF/files/mountinfo" &> "$TS_OUTPUT"
+echo rc=$? >> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "options-nameval-multi"
-$TS_CMD_FINDMNT --filter 'OPTIONS =~ "\<ptmxmode=000\>" && OPTIONS =~ "\<mode=620\>" && OPTIONS =~ "\<gid=5\>"' --kernel --tab-file "$TS_SELF/files/mountinfo" &> $TS_OUTPUT
-echo rc=$? >> $TS_OUTPUT
+$TS_CMD_FINDMNT --filter 'OPTIONS =~ "\<ptmxmode=000\>" && OPTIONS =~ "\<mode=620\>" && OPTIONS =~ "\<gid=5\>"' --kernel --tab-file "$TS_SELF/files/mountinfo" &> "$TS_OUTPUT"
+echo rc=$? >> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "options-neg"
-$TS_CMD_FINDMNT --filter 'OPTIONS !~ "\<relatime\>"' --kernel --tab-file "$TS_SELF/files/mountinfo" &> $TS_OUTPUT
-echo rc=$? >> $TS_OUTPUT
+$TS_CMD_FINDMNT --filter 'OPTIONS !~ "\<relatime\>"' --kernel --tab-file "$TS_SELF/files/mountinfo" &> "$TS_OUTPUT"
+echo rc=$? >> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "options-no"
-$TS_CMD_FINDMNT --filter 'OPTIONS =~ "\<noatime\>"' --kernel --tab-file "$TS_SELF/files/mountinfo" &> $TS_OUTPUT
-echo rc=$? >> $TS_OUTPUT
+$TS_CMD_FINDMNT --filter 'OPTIONS =~ "\<noatime\>"' --kernel --tab-file "$TS_SELF/files/mountinfo" &> "$TS_OUTPUT"
+echo rc=$? >> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "options-no-multi"
-$TS_CMD_FINDMNT --filter 'OPTIONS =~ "\<nosuid\>" && OPTIONS =~ "\<nodev\>" && OPTIONS =~ "\<blkio\>"' --kernel --tab-file "$TS_SELF/files/mountinfo" &> $TS_OUTPUT
-echo rc=$? >> $TS_OUTPUT
+$TS_CMD_FINDMNT --filter 'OPTIONS =~ "\<nosuid\>" && OPTIONS =~ "\<nodev\>" && OPTIONS =~ "\<blkio\>"' --kernel --tab-file "$TS_SELF/files/mountinfo" &> "$TS_OUTPUT"
+echo rc=$? >> "$TS_OUTPUT"
ts_finalize
ts_init_subtest "target"
-check_field "TARGET" >> $TS_OUTPUT 2>> $TS_ERRLOG
+check_field "TARGET" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "vfs-options"
-check_field "VFS-OPTIONS" >> $TS_OUTPUT 2>> $TS_ERRLOG
+check_field "VFS-OPTIONS" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "fs-options"
-check_field "FS-OPTIONS" >> $TS_OUTPUT 2>> $TS_ERRLOG
+check_field "FS-OPTIONS" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "options"
-check_field "OPTIONS" >> $TS_OUTPUT 2>> $TS_ERRLOG
+check_field "OPTIONS" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "fstype"
-check_field "FSTYPE" >> $TS_OUTPUT 2>> $TS_ERRLOG
+check_field "FSTYPE" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "propagation"
-check_field "PROPAGATION" >> $TS_OUTPUT 2>> $TS_ERRLOG
+check_field "PROPAGATION" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "fsroot"
-check_field "FSROOT" >> $TS_OUTPUT 2>> $TS_ERRLOG
+check_field "FSROOT" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "parent"
-check_field "PARENT" >> $TS_OUTPUT 2>> $TS_ERRLOG
+check_field "PARENT" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "id"
-check_field "ID" >> $TS_OUTPUT 2>> $TS_ERRLOG
+check_field "ID" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_finalize
ts_init_subtest "default"
-$TS_CMD_FINDMNT --tab-file "$TS_SELF/files/mountinfo" &> $TS_OUTPUT
-echo rc=$? >> $TS_OUTPUT
+$TS_CMD_FINDMNT --tab-file "$TS_SELF/files/mountinfo" &> "$TS_OUTPUT"
+echo rc=$? >> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "kernel"
-$TS_CMD_FINDMNT --kernel --tab-file "$TS_SELF/files/mountinfo" &> $TS_OUTPUT
-echo rc=$? >> $TS_OUTPUT
+$TS_CMD_FINDMNT --kernel --tab-file "$TS_SELF/files/mountinfo" &> "$TS_OUTPUT"
+echo rc=$? >> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "force-tree"
-$TS_CMD_FINDMNT --tree --kernel --tab-file "$TS_SELF/files/mountinfo" &> $TS_OUTPUT
-echo rc=$? >> $TS_OUTPUT
+$TS_CMD_FINDMNT --tree --kernel --tab-file "$TS_SELF/files/mountinfo" &> "$TS_OUTPUT"
+echo rc=$? >> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "submounts"
-$TS_CMD_FINDMNT /sys --submounts --kernel --tab-file "$TS_SELF/files/mountinfo" &> $TS_OUTPUT
-echo rc=$? >> $TS_OUTPUT
+$TS_CMD_FINDMNT /sys --submounts --kernel --tab-file "$TS_SELF/files/mountinfo" &> "$TS_OUTPUT"
+echo rc=$? >> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "messy-mountinfo"
-$TS_CMD_FINDMNT --tab-file "$TS_SELF/files/mountinfo-messy" &> $TS_OUTPUT
-echo rc=$? >> $TS_OUTPUT
+$TS_CMD_FINDMNT --tab-file "$TS_SELF/files/mountinfo-messy" &> "$TS_OUTPUT"
+echo rc=$? >> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "empty-file"
touch "$TS_OUTDIR/empty"
-$TS_CMD_FINDMNT --tab-file "$TS_OUTDIR/empty" &> $TS_OUTPUT
-echo rc=$? >> $TS_OUTPUT
+$TS_CMD_FINDMNT --tab-file "$TS_OUTDIR/empty" &> "$TS_OUTPUT"
+echo rc=$? >> "$TS_OUTPUT"
ts_finalize_subtest
ts_finalize
ts_init_subtest "root"
-$TS_CMD_FINDMNT --target "/" --kernel --tab-file "$TS_SELF/files/mountinfo" &> $TS_OUTPUT
-echo rc=$? >> $TS_OUTPUT
+$TS_CMD_FINDMNT --target "/" --kernel --tab-file "$TS_SELF/files/mountinfo" &> "$TS_OUTPUT"
+echo rc=$? >> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "non-root"
-$TS_CMD_FINDMNT --target "/" --kernel --tab-file "$TS_SELF/files/mountinfo-nonroot" &> $TS_OUTPUT
-echo rc=$? >> $TS_OUTPUT
+$TS_CMD_FINDMNT --target "/" --kernel --tab-file "$TS_SELF/files/mountinfo-nonroot" &> "$TS_OUTPUT"
+echo rc=$? >> "$TS_OUTPUT"
ts_finalize_subtest
ts_finalize
$TS_CMD_FLOCK $1 $TS_OUTDIR/lockfile \
echo "$mesg" \
- >> $TS_OUTPUT 2>> $TS_ERRLOG
+ >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
local rc="$?"
rm 4 2> /dev/null
exec 4<>$TS_OUTDIR/lockfile || ts_log "Could not open lockfile"
$TS_CMD_FLOCK $api_arg --nonblock --exclusive --conflict-exit-code 123 4 \
- >> $TS_OUTPUT 2>> $TS_ERRLOG
+ >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
rc="$?"
fi
# Closing the connection to the coproc makes the cat process exit.
exec {FLOCK[1]}>&-
-} >> $TS_OUTPUT 2>> $TS_ERRLOG
+} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
wait "${FLOCK_PID}"
ts_finalize
ts_check_losetup
ts_check_prog "mkfs.ext2"
-> $TS_OUTPUT
+> "$TS_OUTPUT"
ts_device_init
DEVICE=$TS_LODEV
[ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
-$TS_CMD_MOUNT $DEVICE $TS_MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNT $DEVICE $TS_MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
# test by ismounted.c
-$TS_HELPER_ISMOUNTED $DEVICE | awk '{print $1}' >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_HELPER_ISMOUNTED $DEVICE | awk '{print $1}' >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
$TS_CMD_UMOUNT $DEVICE || ts_die "Cannot umount $DEVICE"
[ -n "$ASAN_RT_PATH" ] && export LD_PRELOAD="$ASAN_RT_PATH:$LD_PRELOAD"
mkdir -p ${TS_OUTPUT}_workdir ${TS_SCRIPT}_files
-ts_run $TS_HELPER_BLKID_FUZZ ${TS_OUTPUT}_workdir ${TS_SCRIPT}_files -max_total_time=10 >$TS_OUTPUT 2>$TS_ERRLOG
+ts_run $TS_HELPER_BLKID_FUZZ ${TS_OUTPUT}_workdir ${TS_SCRIPT}_files -max_total_time=10 >"$TS_OUTPUT" 2>"$TS_ERRLOG"
ts_finalize
[ -n "$ASAN_RT_PATH" ] && export LD_PRELOAD="$ASAN_RT_PATH:$LD_PRELOAD"
mkdir -p ${TS_OUTPUT}_workdir
-ts_run $TS_HELPER_LIBFDISK_SCRIPT_FUZZ ${TS_OUTPUT}_workdir ${TS_SCRIPT}_files -max_total_time=10 >$TS_OUTPUT 2>$TS_ERRLOG
+ts_run $TS_HELPER_LIBFDISK_SCRIPT_FUZZ ${TS_OUTPUT}_workdir ${TS_SCRIPT}_files -max_total_time=10 >"$TS_OUTPUT" 2>"$TS_ERRLOG"
ts_finalize
[ -n "$ASAN_RT_PATH" ] && export LD_PRELOAD="$ASAN_RT_PATH:$LD_PRELOAD"
mkdir -p ${TS_OUTPUT}_workdir
-ts_run $TS_HELPER_LAST_FUZZ ${TS_OUTPUT}_workdir ${TS_SCRIPT}_files -max_total_time=10 >$TS_OUTPUT 2>$TS_ERRLOG
+ts_run $TS_HELPER_LAST_FUZZ ${TS_OUTPUT}_workdir ${TS_SCRIPT}_files -max_total_time=10 >"$TS_OUTPUT" 2>"$TS_ERRLOG"
ts_finalize
[ -n "$ASAN_RT_PATH" ] && export LD_PRELOAD="$ASAN_RT_PATH:$LD_PRELOAD"
mkdir -p ${TS_OUTPUT}_workdir
-ts_run $TS_HELPER_LIBMOUNT_FUZZ ${TS_OUTPUT}_workdir ${TS_SCRIPT}_files -max_total_time=10 >$TS_OUTPUT 2>$TS_ERRLOG
+ts_run $TS_HELPER_LIBMOUNT_FUZZ ${TS_OUTPUT}_workdir ${TS_SCRIPT}_files -max_total_time=10 >"$TS_OUTPUT" 2>"$TS_ERRLOG"
ts_finalize
--) shift ; break ;;
*) echo "Internal error!"; break;;
esac
-done >> $TS_OUTPUT 2>> $TS_ERRLOG
+done >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
-echo "Remaining arguments:" >> $TS_OUTPUT 2>> $TS_ERRLOG
-for arg do echo '--> '"\`$arg'" >> $TS_OUTPUT 2>> $TS_ERRLOG; done
+echo "Remaining arguments:" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+for arg do echo '--> '"\`$arg'" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"; done
ts_finalize
-e "s/unrecognized option: \(.\)$/invalid option -- '\1'/" \
-e "s/option requires an argument: \(.\)$/option requires an argument -- '\1'/" \
-e "s/unrecognized option: \([^'-].\{1,\}\)$/unrecognized option '--\1'/" \
- $TS_OUTPUT $TS_ERRLOG
+ "$TS_OUTPUT" "$TS_ERRLOG"
}
ts_init_subtest alternative_option_clash
-$TS_CMD_GETOPT -a --options abcde --longoptions abcde -- -a -ab -abc -ac >> $TS_OUTPUT 2>> $TS_ERRLOG
-echo "exit value: $?" >> $TS_OUTPUT
+$TS_CMD_GETOPT -a --options abcde --longoptions abcde -- -a -ab -abc -ac >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+echo "exit value: $?" >> "$TS_OUTPUT"
gnu_getopt_clean
ts_finalize_subtest
ts_init_subtest alternative_option_long
-$TS_CMD_GETOPT --alternative -o a -l one,two:,three::,four:: -- -a -one -two=MANDATORY -three=OPTIONAL >> $TS_OUTPUT 2>> $TS_ERRLOG
-echo "exit value: $?" >> $TS_OUTPUT
+$TS_CMD_GETOPT --alternative -o a -l one,two:,three::,four:: -- -a -one -two=MANDATORY -three=OPTIONAL >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+echo "exit value: $?" >> "$TS_OUTPUT"
gnu_getopt_clean
ts_finalize_subtest
ts_init_subtest alternative_option_short
-$TS_CMD_GETOPT -a -o a -l one,two:,three::,four:: -- -a -one -two=MANDATORY -three=OPTIONAL >> $TS_OUTPUT 2>> $TS_ERRLOG
-echo "exit value: $?" >> $TS_OUTPUT
+$TS_CMD_GETOPT -a -o a -l one,two:,three::,four:: -- -a -one -two=MANDATORY -three=OPTIONAL >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+echo "exit value: $?" >> "$TS_OUTPUT"
gnu_getopt_clean
ts_finalize_subtest
ts_init_subtest invalid_getopt_option
-$TS_CMD_GETOPT -b >> $TS_OUTPUT 2>> $TS_ERRLOG
-echo "exit value: $?" >> $TS_OUTPUT
-sed -i '1,1s/.*\///' $TS_OUTPUT $TS_ERRLOG
+$TS_CMD_GETOPT -b >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+echo "exit value: $?" >> "$TS_OUTPUT"
+sed -i '1,1s/.*\///' "$TS_OUTPUT" "$TS_ERRLOG"
gnu_getopt_clean
ts_finalize_subtest
ts_init_subtest invocation_model_one
-$TS_CMD_GETOPT abc:d::e::f::g: ARG0 -b ARG1 -d -eOPTIONAL1 -f NOT_OPTIONAL ARG2 -a -c -ISREQUIRED ARG3 -g "BECOMES THREE ARGUMENTS" >> $TS_OUTPUT 2>> $TS_ERRLOG
-echo "exit value: $?" >> $TS_OUTPUT
+$TS_CMD_GETOPT abc:d::e::f::g: ARG0 -b ARG1 -d -eOPTIONAL1 -f NOT_OPTIONAL ARG2 -a -c -ISREQUIRED ARG3 -g "BECOMES THREE ARGUMENTS" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+echo "exit value: $?" >> "$TS_OUTPUT"
gnu_getopt_clean
ts_finalize_subtest
ts_init_subtest invocation_model_three_as_one
-$TS_CMD_GETOPT -o abc:d::e::f::g: -- ARG0 -b ARG1 -d -eOPTIONAL1 -f NOT_OPTIONAL ARG2 -a -c -ISREQUIRED ARG3 -g "BECOMES THREE ARGUMENTS" >> $TS_OUTPUT 2>> $TS_ERRLOG
-echo "exit value: $?" >> $TS_OUTPUT
+$TS_CMD_GETOPT -o abc:d::e::f::g: -- ARG0 -b ARG1 -d -eOPTIONAL1 -f NOT_OPTIONAL ARG2 -a -c -ISREQUIRED ARG3 -g "BECOMES THREE ARGUMENTS" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+echo "exit value: $?" >> "$TS_OUTPUT"
gnu_getopt_clean
ts_finalize_subtest
ts_init_subtest invocation_model_two_as_one
-$TS_CMD_GETOPT -- abc:d::e::f::g: ARG0 -b ARG1 -d -eOPTIONAL1 -f NOT_OPTIONAL ARG2 -a -c -ISREQUIRED ARG3 -g "BECOMES THREE ARGUMENTS" >> $TS_OUTPUT 2>> $TS_ERRLOG
-echo "exit value: $?" >> $TS_OUTPUT
+$TS_CMD_GETOPT -- abc:d::e::f::g: ARG0 -b ARG1 -d -eOPTIONAL1 -f NOT_OPTIONAL ARG2 -a -c -ISREQUIRED ARG3 -g "BECOMES THREE ARGUMENTS" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+echo "exit value: $?" >> "$TS_OUTPUT"
gnu_getopt_clean
ts_finalize_subtest
ts_init_subtest invocation_without_parameters
-$TS_CMD_GETOPT >> $TS_OUTPUT 2>> $TS_ERRLOG
-echo "exit value: $?" >> $TS_OUTPUT
+$TS_CMD_GETOPT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+echo "exit value: $?" >> "$TS_OUTPUT"
gnu_getopt_clean
ts_finalize_subtest
ts_init_subtest long_option_ambiguous_1
-$TS_CMD_GETOPT -o a -l long1,long2 -- --long >> $TS_OUTPUT 2>> $TS_ERRLOG
-echo "exit value: $?" >> $TS_OUTPUT
-sed -i -e '1,1s/.*\///' -e "1s/ambiguous$/ambiguous; possibilities: '--long1' '--long2'/" $TS_OUTPUT $TS_ERRLOG
-sed -i -e "1s/is ambiguous: long$/'--long' is ambiguous; possibilities: '--long1' '--long2'/" $TS_OUTPUT $TS_ERRLOG
+$TS_CMD_GETOPT -o a -l long1,long2 -- --long >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+echo "exit value: $?" >> "$TS_OUTPUT"
+sed -i -e '1,1s/.*\///' -e "1s/ambiguous$/ambiguous; possibilities: '--long1' '--long2'/" "$TS_OUTPUT" "$TS_ERRLOG"
+sed -i -e "1s/is ambiguous: long$/'--long' is ambiguous; possibilities: '--long1' '--long2'/" "$TS_OUTPUT" "$TS_ERRLOG"
gnu_getopt_clean
ts_finalize_subtest
ts_init_subtest longopts
-$TS_CMD_GETOPT -o a -l long1,secondlong:,thirdlong::,abbreviation: -- --long1 EXTRA1 --thirdlong=ARGUMENT --secondlong=ARG --abbr ABBRARG -a >> $TS_OUTPUT 2>> $TS_ERRLOG
-echo "exit value: $?" >> $TS_OUTPUT
+$TS_CMD_GETOPT -o a -l long1,secondlong:,thirdlong::,abbreviation: -- --long1 EXTRA1 --thirdlong=ARGUMENT --secondlong=ARG --abbr ABBRARG -a >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+echo "exit value: $?" >> "$TS_OUTPUT"
gnu_getopt_clean
ts_finalize_subtest
ts_init_subtest name_option_long
-$TS_CMD_GETOPT -n THIS_PROGRAM -o a -l long -- -b --long --whatever -a >> $TS_OUTPUT 2>> $TS_ERRLOG
-echo "exit value: $?" >> $TS_OUTPUT
+$TS_CMD_GETOPT -n THIS_PROGRAM -o a -l long -- -b --long --whatever -a >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+echo "exit value: $?" >> "$TS_OUTPUT"
gnu_getopt_clean
ts_finalize_subtest
ts_init_subtest name_option_short
-$TS_CMD_GETOPT --name THIS_PROGRAM -o a -l long -- -b --long --whatever -a >> $TS_OUTPUT 2>> $TS_ERRLOG
-echo "exit value: $?" >> $TS_OUTPUT
+$TS_CMD_GETOPT --name THIS_PROGRAM -o a -l long -- -b --long --whatever -a >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+echo "exit value: $?" >> "$TS_OUTPUT"
gnu_getopt_clean
ts_finalize_subtest
ts_init_subtest quiet_option_long
-$TS_CMD_GETOPT --quiet -o a,b: -l long1,long2 -- -c --unknown --long -b >> $TS_OUTPUT 2>> $TS_ERRLOG
-echo "exit value: $?" >> $TS_OUTPUT
+$TS_CMD_GETOPT --quiet -o a,b: -l long1,long2 -- -c --unknown --long -b >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+echo "exit value: $?" >> "$TS_OUTPUT"
gnu_getopt_clean
ts_finalize_subtest
ts_init_subtest quiet_option_short
-$TS_CMD_GETOPT -q -o a,b: -l long1,long2 -- -c --unknown --long -b >> $TS_OUTPUT 2>> $TS_ERRLOG
-echo "exit value: $?" >> $TS_OUTPUT
+$TS_CMD_GETOPT -q -o a,b: -l long1,long2 -- -c --unknown --long -b >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+echo "exit value: $?" >> "$TS_OUTPUT"
gnu_getopt_clean
ts_finalize_subtest
ts_init_subtest quiet_output_option_long
-$TS_CMD_GETOPT --quiet-output -o a,b: -l long1,long2 -- -c --unknown --long -b >> $TS_OUTPUT 2>> $TS_ERRLOG
-echo "exit value: $?" >> $TS_OUTPUT
-sed -i -e '1,4s/.*\///' -e "3s/ambiguous$/ambiguous; possibilities: '--long1' '--long2'/" $TS_OUTPUT $TS_ERRLOG
-sed -i -e "3s/is ambiguous: long$/'--long' is ambiguous; possibilities: '--long1' '--long2'/" $TS_OUTPUT $TS_ERRLOG
+$TS_CMD_GETOPT --quiet-output -o a,b: -l long1,long2 -- -c --unknown --long -b >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+echo "exit value: $?" >> "$TS_OUTPUT"
+sed -i -e '1,4s/.*\///' -e "3s/ambiguous$/ambiguous; possibilities: '--long1' '--long2'/" "$TS_OUTPUT" "$TS_ERRLOG"
+sed -i -e "3s/is ambiguous: long$/'--long' is ambiguous; possibilities: '--long1' '--long2'/" "$TS_OUTPUT" "$TS_ERRLOG"
gnu_getopt_clean
ts_finalize_subtest
ts_init_subtest quiet_output_option_short
-$TS_CMD_GETOPT -Q -o a,b: -l long1,long2 -- -c --unknown --long -b >> $TS_OUTPUT 2>> $TS_ERRLOG
-echo "exit value: $?" >> $TS_OUTPUT
-sed -i -e '1,4s/.*\///' -e "3s/ambiguous$/ambiguous; possibilities: '--long1' '--long2'/" $TS_OUTPUT $TS_ERRLOG
-sed -i "3s/is ambiguous: long$/'--long' is ambiguous; possibilities: '--long1' '--long2'/" $TS_OUTPUT $TS_ERRLOG
+$TS_CMD_GETOPT -Q -o a,b: -l long1,long2 -- -c --unknown --long -b >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+echo "exit value: $?" >> "$TS_OUTPUT"
+sed -i -e '1,4s/.*\///' -e "3s/ambiguous$/ambiguous; possibilities: '--long1' '--long2'/" "$TS_OUTPUT" "$TS_ERRLOG"
+sed -i "3s/is ambiguous: long$/'--long' is ambiguous; possibilities: '--long1' '--long2'/" "$TS_OUTPUT" "$TS_ERRLOG"
gnu_getopt_clean
ts_finalize_subtest
ts_init_subtest same_long_short_options
-$TS_CMD_GETOPT -o a -l a -- -a --a >> $TS_OUTPUT 2>> $TS_ERRLOG
-echo "exit value: $?" >> $TS_OUTPUT
+$TS_CMD_GETOPT -o a -l a -- -a --a >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+echo "exit value: $?" >> "$TS_OUTPUT"
gnu_getopt_clean
ts_finalize_subtest
ts_init_subtest test_for_enhanced_getopt
-$TS_CMD_GETOPT -T >> $TS_OUTPUT 2>> $TS_ERRLOG
-echo "exit value: $?" >> $TS_OUTPUT
+$TS_CMD_GETOPT -T >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+echo "exit value: $?" >> "$TS_OUTPUT"
gnu_getopt_clean
ts_finalize_subtest
ts_init_subtest unknown_options
-$TS_CMD_GETOPT -o a -l long -- -b --long --whatever -a >> $TS_OUTPUT 2>> $TS_ERRLOG
-echo "exit value: $?" >> $TS_OUTPUT
-sed -i '1,2s/.*\///' $TS_OUTPUT $TS_ERRLOG
+$TS_CMD_GETOPT -o a -l long -- -b --long --whatever -a >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+echo "exit value: $?" >> "$TS_OUTPUT"
+sed -i '1,2s/.*\///' "$TS_OUTPUT" "$TS_ERRLOG"
gnu_getopt_clean
ts_finalize_subtest
$TS_CMD_GETOPT -s bash -u -o a: -l long1: -- -a '$?!* ' --long \"\\\' 'More
than
one
-line' >> $TS_OUTPUT 2>> $TS_ERRLOG
-echo "exit value: $?" >> $TS_OUTPUT
+line' >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+echo "exit value: $?" >> "$TS_OUTPUT"
gnu_getopt_clean
ts_finalize_subtest
$TS_CMD_GETOPT -s tcsh --unquoted -o a: -l long1: -- -a '$?!* ' --long \"\\\' 'More
than
one
-line' >> $TS_OUTPUT 2>> $TS_ERRLOG
-echo "exit value: $?" >> $TS_OUTPUT
+line' >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+echo "exit value: $?" >> "$TS_OUTPUT"
gnu_getopt_clean
ts_finalize_subtest
$TS_CMD_GETOPT -s bash -o a: -l long1: -- -a '$?!* ' --long \"\\\' 'More
than
one
-line' >> $TS_OUTPUT 2>> $TS_ERRLOG
-echo "exit value: $?" >> $TS_OUTPUT
+line' >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+echo "exit value: $?" >> "$TS_OUTPUT"
gnu_getopt_clean
ts_finalize_subtest
$TS_CMD_GETOPT --shell tcsh -o a: -l long1: -- -a '$?!* ' --long \"\\\' 'More
than
one
-line' >> $TS_OUTPUT 2>> $TS_ERRLOG
-echo "exit value: $?" >> $TS_OUTPUT
+line' >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+echo "exit value: $?" >> "$TS_OUTPUT"
gnu_getopt_clean
ts_finalize_subtest
ts_init_subtest compatible
-$TS_CMD_GETOPT >> $TS_OUTPUT 2>> $TS_ERRLOG
-echo "exit value: $?" >> $TS_OUTPUT
-GETOPT_COMPATIBLE='' $TS_CMD_GETOPT >> $TS_OUTPUT 2>> $TS_ERRLOG
-echo "exit value: $?" >> $TS_OUTPUT
-sed -i '1,1s/.*\///' $TS_OUTPUT $TS_ERRLOG
+$TS_CMD_GETOPT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+echo "exit value: $?" >> "$TS_OUTPUT"
+GETOPT_COMPATIBLE='' $TS_CMD_GETOPT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+echo "exit value: $?" >> "$TS_OUTPUT"
+sed -i '1,1s/.*\///' "$TS_OUTPUT" "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest sh
-$TS_CMD_GETOPT --shell=sh -o ab:c:: --long a-long,b-long:,c-long:: -n 'example.sh' -- -a -b 1 -c2 --a-long --b-long 3 --c-long foo bar >> $TS_OUTPUT 2>> $TS_ERRLOG
-echo "exit value: $?" >> $TS_OUTPUT
+$TS_CMD_GETOPT --shell=sh -o ab:c:: --long a-long,b-long:,c-long:: -n 'example.sh' -- -a -b 1 -c2 --a-long --b-long 3 --c-long foo bar >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+echo "exit value: $?" >> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest csh
-$TS_CMD_GETOPT --shell=csh -o ab:c:: --long a-long,b-long:,c-long:: -n 'example.csh' -- -a -b 1 -c2 --a-long --b-long 3 --c-long foo bar >> $TS_OUTPUT 2>> $TS_ERRLOG
-echo "exit value: $?" >> $TS_OUTPUT
+$TS_CMD_GETOPT --shell=csh -o ab:c:: --long a-long,b-long:,c-long:: -n 'example.csh' -- -a -b 1 -c2 --a-long --b-long 3 --c-long foo bar >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+echo "exit value: $?" >> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest no-arguments
-$TS_CMD_GETOPT >> $TS_OUTPUT 2>> $TS_ERRLOG
-echo "exit value: $?" >> $TS_OUTPUT
-sed -i '1,1s/.*\///' $TS_OUTPUT $TS_ERRLOG
+$TS_CMD_GETOPT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+echo "exit value: $?" >> "$TS_OUTPUT"
+sed -i '1,1s/.*\///' "$TS_OUTPUT" "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest posix_correctly
-$TS_CMD_GETOPT -o +ab:c:: --long a-long,b-long:,c-long:: -n 'example' -- -a -b 1 -c2 --a-long --b-long 3 --c-long foo bar xyxxy --a-long >> $TS_OUTPUT 2>> $TS_ERRLOG
-echo "exit value: $?" >> $TS_OUTPUT
-POSIXLY_CORRECT='' $TS_CMD_GETOPT -o ab:c:: --long a-long,b-long:,c-long:: -n 'example' -- -a -b 1 -c2 --a-long --b-long 3 --c-long foo bar xyxxy --a-long >> $TS_OUTPUT 2>> $TS_ERRLOG
-echo "exit value: $?" >> $TS_OUTPUT
+$TS_CMD_GETOPT -o +ab:c:: --long a-long,b-long:,c-long:: -n 'example' -- -a -b 1 -c2 --a-long --b-long 3 --c-long foo bar xyxxy --a-long >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+echo "exit value: $?" >> "$TS_OUTPUT"
+POSIXLY_CORRECT='' $TS_CMD_GETOPT -o ab:c:: --long a-long,b-long:,c-long:: -n 'example' -- -a -b 1 -c2 --a-long --b-long 3 --c-long foo bar xyxxy --a-long >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+echo "exit value: $?" >> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest non-option
-$TS_CMD_GETOPT -o +a:b: -- -a x y -b z w >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_GETOPT -o a:b: -- -a x y -b z w >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_GETOPT -o -a:b: -- -a x y -b z w >> $TS_OUTPUT 2>> $TS_ERRLOG
-echo "exit value: $?" >> $TS_OUTPUT
+$TS_CMD_GETOPT -o +a:b: -- -a x y -b z w >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_GETOPT -o a:b: -- -a x y -b z w >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_GETOPT -o -a:b: -- -a x y -b z w >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+echo "exit value: $?" >> "$TS_OUTPUT"
ts_finalize_subtest
ts_finalize
-e 's/^Method:.*/Method: [Redacted]/' \
-e 's/^Compared:.*files/Compared: [Redacted] files/' \
-e '/^Compared:.*xattrs/d' \
- $TS_OUTPUT
+ "$TS_OUTPUT"
}
create_srcdir
ts_init_subtest "orig" # just list original dir
-show_srcdir >> $TS_OUTPUT 2>> $TS_ERRLOG
+show_srcdir >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "dryrun"
-$TS_CMD_HARDLINK --quiet --dry-run "$SRCDIR" >> $TS_OUTPUT 2>> $TS_ERRLOG
-show_srcdir >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_HARDLINK --quiet --dry-run "$SRCDIR" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+show_srcdir >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "nargs"
-$TS_CMD_HARDLINK --quiet "$SRCDIR"/dir-1/sdir-1 "$SRCDIR"/file-?-{1,2} >> $TS_OUTPUT 2>> $TS_ERRLOG
-show_srcdir >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_HARDLINK --quiet "$SRCDIR"/dir-1/sdir-1 "$SRCDIR"/file-?-{1,2} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+show_srcdir >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
# cases without and with -x support
tmp=$($TS_CMD_HARDLINK --quiet --exclude pattern "$SRCDIR"/dir-1/sdir-2 2>&1)
if test $? -ne 0; then
ts_init_subtest "noregex"
- printf "%s\n" "$tmp" >> $TS_OUTPUT 2>> $TS_ERRLOG
+ printf "%s\n" "$tmp" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
else
ts_init_subtest "regex-escapes"
- $TS_CMD_HARDLINK --quiet --exclude '.*z-"§\$%&\(\)=\?\*\+$' "$SRCDIR" >> $TS_OUTPUT 2>> $TS_ERRLOG
- show_srcdir >> $TS_OUTPUT 2>> $TS_ERRLOG
+ $TS_CMD_HARDLINK --quiet --exclude '.*z-"§\$%&\(\)=\?\*\+$' "$SRCDIR" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+ show_srcdir >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
fi
ts_init_subtest "content"
-$TS_CMD_HARDLINK --quiet --content "$SRCDIR" >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_HARDLINK --quiet --content "$SRCDIR" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
# When using -c we need to cheat with sed because it's not deterministic which
# file (i.e. which timestamp and perms) wins. TODO at least the choice of the
# permissions should be sensitive by default and/or controllable by the user.
-show_srcdir | sed 's/\(1540236\).*/\1xxx\tperm/' >> $TS_OUTPUT 2>> $TS_ERRLOG
+show_srcdir | sed 's/\(1540236\).*/\1xxx\tperm/' >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "maximum-size-8191"
create_srcdir
-echo "Number of test files: $(find "$SRCDIR" -type f | wc -l)" >> $TS_OUTPUT
-$TS_CMD_HARDLINK --maximum-size 8191 "$SRCDIR" >> $TS_OUTPUT 2>> $TS_ERRLOG
+echo "Number of test files: $(find "$SRCDIR" -type f | wc -l)" >> "$TS_OUTPUT"
+$TS_CMD_HARDLINK --maximum-size 8191 "$SRCDIR" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
summary_clean
-show_srcdir >> $TS_OUTPUT 2>> $TS_ERRLOG
+show_srcdir >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "maximum-size-8192"
create_srcdir
-echo "Number of test files: $(find "$SRCDIR" -type f | wc -l)" >> $TS_OUTPUT
-$TS_CMD_HARDLINK --maximum-size 8192 "$SRCDIR" >> $TS_OUTPUT 2>> $TS_ERRLOG
+echo "Number of test files: $(find "$SRCDIR" -type f | wc -l)" >> "$TS_OUTPUT"
+$TS_CMD_HARDLINK --maximum-size 8192 "$SRCDIR" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
summary_clean
-show_srcdir >> $TS_OUTPUT 2>> $TS_ERRLOG
+show_srcdir >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "empty-format"
TS_EXPECTED+=$BE_EXT
INPUT=$(printf \\1)
-$TS_CMD_HEXDUMP --length 1 --no-squeezing --format '2 "" "%x"' <<< $INPUT >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_HEXDUMP --length 1 --no-squeezing --format '2 "" "%x"' <<< $INPUT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
-$TS_CMD_HEXDUMP -n1 -ve '4 "%x"' -e '2 ""' <<< $INPUT >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_HEXDUMP -n1 -ve '4 "%x"' -e '2 ""' <<< $INPUT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
#basic formats
ts_init_subtest "1b_octal"
-$TS_CMD_HEXDUMP --one-byte-octal $FILES/ascii.in &> $TS_OUTPUT
+$TS_CMD_HEXDUMP --one-byte-octal $FILES/ascii.in &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "1b_hex"
-$TS_CMD_HEXDUMP --one-byte-hex $FILES/ascii.in &> $TS_OUTPUT
+$TS_CMD_HEXDUMP --one-byte-hex $FILES/ascii.in &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "1b_char"
-$TS_CMD_HEXDUMP --one-byte-char $FILES/ascii.in &> $TS_OUTPUT
+$TS_CMD_HEXDUMP --one-byte-char $FILES/ascii.in &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "canon"
-$TS_CMD_HEXDUMP -C $FILES/ascii.in &> $TS_OUTPUT
+$TS_CMD_HEXDUMP -C $FILES/ascii.in &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "2b_dec"
TS_EXPECTED+=$BE_EXT
-$TS_CMD_HEXDUMP --two-bytes-decimal $FILES/ascii.in &> $TS_OUTPUT
+$TS_CMD_HEXDUMP --two-bytes-decimal $FILES/ascii.in &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "2b_octal"
TS_EXPECTED+=$BE_EXT
-$TS_CMD_HEXDUMP --two-bytes-octal $FILES/ascii.in &> $TS_OUTPUT
+$TS_CMD_HEXDUMP --two-bytes-octal $FILES/ascii.in &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "2b_hex"
TS_EXPECTED+=$BE_EXT
-$TS_CMD_HEXDUMP --two-bytes-hex $FILES/ascii.in &> $TS_OUTPUT
+$TS_CMD_HEXDUMP --two-bytes-hex $FILES/ascii.in &> "$TS_OUTPUT"
ts_finalize_subtest
ts_finalize
ts_init_subtest "1b_octal-1"
$TS_CMD_HEXDUMP $OPTS $ADDRFMT \
-e '"%07.7_ax " 16/1 "%03o_L[red:A,red:a] " "\n"' \
- $FILES/ascii.in &> $TS_OUTPUT
+ $FILES/ascii.in &> "$TS_OUTPUT"
ts_finalize_subtest
# highlight bytes with the value of 0x41 (A) and 0x61 (a)
TS_EXPECTED+=$BE_EXT
$TS_CMD_HEXDUMP $OPTS $ADDRFMT \
-e '"%07.7_ax " 16/1 "%03o_L[red:0x41,red:0x61] " "\n"' \
- $FILES/ascii.in &> $TS_OUTPUT
+ $FILES/ascii.in &> "$TS_OUTPUT"
ts_finalize_subtest
# highlight the bytes at offsets 130 and 194 (decimal)
ts_init_subtest "1b_octal-3"
$TS_CMD_HEXDUMP $OPTS $ADDRFMT \
-e '"%07.7_ax " 16/1 "%03o_L[red@130,red@194] " "\n"' \
- $FILES/ascii.in &> $TS_OUTPUT
+ $FILES/ascii.in &> "$TS_OUTPUT"
ts_finalize_subtest
# highlight the byte at offset 194 if its value is 0x61 (a)
TS_EXPECTED+=$BE_EXT
$TS_CMD_HEXDUMP $OPTS $ADDRFMT \
-e '"%07.7_ax " 16/1 "%03o_L[red:A@130,red:0x61@194] " "\n"' \
- $FILES/ascii.in &> $TS_OUTPUT
+ $FILES/ascii.in &> "$TS_OUTPUT"
ts_finalize_subtest
# highlight the byte at offset 194 if its value is 0x61 (a)
TS_EXPECTED+=$BE_EXT
$TS_CMD_HEXDUMP $OPTS $ADDRFMT \
-e '"%07.7_ax " 16/1 "%03o_L[red:C@130,red:0x61@194] " "\n"' \
- $FILES/ascii.in &> $TS_OUTPUT
+ $FILES/ascii.in &> "$TS_OUTPUT"
ts_finalize_subtest
# highlight a range longer than the byte count of %o
ts_init_subtest "1b_octal-6"
$TS_CMD_HEXDUMP $OPTS $ADDRFMT \
-e '"%07.7_ax " 16/1 "%03o_L[red@193-194] " "\n"' \
- $FILES/ascii.in &> $TS_OUTPUT
+ $FILES/ascii.in &> "$TS_OUTPUT"
ts_finalize_subtest
# highlight bytes with the value of 0101 (A) and 0141 (a)
TS_EXPECTED+=$BE_EXT
$TS_CMD_HEXDUMP $OPTS $ADDRFMT \
-e '"%07.7_ax " 16/1 "%03o_L[red:0101,red:0141] " "\n"' \
- $FILES/ascii.in &> $TS_OUTPUT
+ $FILES/ascii.in &> "$TS_OUTPUT"
ts_finalize_subtest
# highlight bytes with the value of 0101 (A), 0x61 (a), or if the character is a caret
TS_EXPECTED+=$BE_EXT
$TS_CMD_HEXDUMP $OPTS $ADDRFMT \
-e '"%07.7_ax " 16/1 "%03o_L[red:0101,blue:0x61,green:^] " "\n"' \
- $FILES/ascii.in &> $TS_OUTPUT
+ $FILES/ascii.in &> "$TS_OUTPUT"
ts_finalize_subtest
# highlight bytes with the value of 0101 (A), 0x61 (a), or if the character at 196 is not 'c'
TS_EXPECTED+=$BE_EXT
$TS_CMD_HEXDUMP $OPTS $ADDRFMT \
-e '"%07.7_ax " 16/1 "%03o_L[red:0101,blue:0x61,!green:c@196] " "\n"' \
- $FILES/ascii.in &> $TS_OUTPUT
+ $FILES/ascii.in &> "$TS_OUTPUT"
ts_finalize_subtest
#color the addresses red and the characters in UTIL-LINUX green
ts_init_subtest "1b_char-1"
$TS_CMD_HEXDUMP $OPTS $ADDRFMT \
-e '"%07.7_ax_L[red] " 16/1 "%3_c_L[green:-,green:I,green:L,green:N,green:T,green:U,green:X] " "\n"' \
- $FILES/ascii.in &> $TS_OUTPUT
+ $FILES/ascii.in &> "$TS_OUTPUT"
ts_finalize_subtest
#color the address 0xe0 red
ts_init_subtest "1b_char-2"
$TS_CMD_HEXDUMP $OPTS $ADDRFMT \
-e '"%07.7_ax_L[red:0xe0] " 16/1 "%3_c " "\n"' \
- $FILES/ascii.in &> $TS_OUTPUT
+ $FILES/ascii.in &> "$TS_OUTPUT"
ts_finalize_subtest
#highlight ':' and '@'
ts_init_subtest "1b_char-3"
$TS_CMD_HEXDUMP $OPTS $ADDRFMT \
-e '"%07.7_ax " 16/1 "%3_c_L[red::@116,red:@@128] " "\n"' \
- $FILES/ascii.in &> $TS_OUTPUT
+ $FILES/ascii.in &> "$TS_OUTPUT"
ts_finalize_subtest
# color last address gray, the null byte blue, the spaces brown(-ish) and the text cyan
-e '"%08.8_Ax_L[gray]\n"' \
-e '"%08.8_ax " 8/1 "%02x_L[blue:0x0,brown:0x20] " " " 8/1 "%02x_L[brown:0x20] " ' \
-e '" |" 16/1 "%_p_L[cyan]" "|\n"' \
- $FILES/ascii.in &> $TS_OUTPUT
+ $FILES/ascii.in &> "$TS_OUTPUT"
ts_finalize_subtest
# color last address gray - if it's 0x280 or blue if it's 0x380
-e '"%08.8_Ax_L[blue:0x380,red:0x280]\n"' \
-e '"%08.8_ax " 8/1 "%02x_L[blue:A,blue:a] " " " 8/1 "%02x_L[blue:A,blue:a] " ' \
-e '" |" 16/1 "%_p_L[green:A,green:a]" "|\n"' \
- $FILES/ascii.in &> $TS_OUTPUT
+ $FILES/ascii.in &> "$TS_OUTPUT"
ts_finalize_subtest
# color the current print unit if one of the bytes it prints is at offset 100 (0x64)
TS_EXPECTED+=$BE_EXT
$TS_CMD_HEXDUMP $OPTS $ADDRFMT \
-e '"%07.7_ax " 8/2 " %05u_L[red@100] " "\n"' \
- $FILES/ascii.in &> $TS_OUTPUT
+ $FILES/ascii.in &> "$TS_OUTPUT"
ts_finalize_subtest
# color the current print unit if of the bytes it prints are at offsets 98 and 99
TS_EXPECTED+=$BE_EXT
$TS_CMD_HEXDUMP $OPTS $ADDRFMT \
-e '"%07.7_ax " 8/2 " %05u_L[red@98-99] " "\n"' \
- $FILES/ascii.in &> $TS_OUTPUT
+ $FILES/ascii.in &> "$TS_OUTPUT"
ts_finalize_subtest
# color the current print unit if some or all of the bytes it prints are at offsets 98 and 99
TS_EXPECTED+=$BE_EXT
$TS_CMD_HEXDUMP $OPTS $ADDRFMT \
-e '"%07.7_ax " 8/2 " %05u_L[red@97-99] " "\n"' \
- $FILES/ascii.in &> $TS_OUTPUT
+ $FILES/ascii.in &> "$TS_OUTPUT"
ts_finalize_subtest
# color the current print unit if it prints "A " at 130-131
TS_EXPECTED+=$BE_EXT
$TS_CMD_HEXDUMP $OPTS $ADDRFMT \
-e '"%07.7_ax " 8/2 " %05u_L[red:A @130-131] " "\n"' \
- $FILES/ascii.in &> $TS_OUTPUT
+ $FILES/ascii.in &> "$TS_OUTPUT"
ts_finalize_subtest
# color the current print unit if it doesn't print "B " at 130-131
TS_EXPECTED+=$BE_EXT
$TS_CMD_HEXDUMP $OPTS $ADDRFMT \
-e '"%07.7_ax " 8/2 " %05u_L[!red:B @130-131] " "\n"' \
- $FILES/ascii.in &> $TS_OUTPUT
+ $FILES/ascii.in &> "$TS_OUTPUT"
ts_finalize_subtest
# specify a string shorter than the range - error
ts_init_subtest "2b_dec-6"
$TS_CMD_HEXDUMP $OPTS $ADDRFMT \
-e '"%07.7_ax " 8/2 " %05u_L[red:A@130-131] " "\n"' \
- $FILES/ascii.in &> $TS_OUTPUT
+ $FILES/ascii.in &> "$TS_OUTPUT"
ts_finalize_subtest
# specify a negative-length range
ts_init_subtest "2b_dec-7"
$TS_CMD_HEXDUMP $OPTS $ADDRFMT \
-e '"%07.7_ax " 8/2 " %05u_L[red:A@131-130] " "\n"' \
- $FILES/ascii.in &> $TS_OUTPUT
+ $FILES/ascii.in &> "$TS_OUTPUT"
ts_finalize_subtest
# color the current print unit if of the bytes it prints are at offsets 98-102 (multiple print units)
TS_EXPECTED+=$BE_EXT
$TS_CMD_HEXDUMP $OPTS $ADDRFMT \
-e '"%07.7_ax " 8/2 " %05u_L[red@98-102] " "\n"' \
- $FILES/ascii.in &> $TS_OUTPUT
+ $FILES/ascii.in &> "$TS_OUTPUT"
ts_finalize_subtest
# color the current print unit if some or all of the bytes it prints are at offsets 97 and 99 (true)
TS_EXPECTED+=$BE_EXT
$TS_CMD_HEXDUMP $OPTS $ADDRFMT \
-e '"%07.7_ax " 8/4 " %05u_L[red@97-99] " "\n"' \
- $FILES/ascii.in &> $TS_OUTPUT
+ $FILES/ascii.in &> "$TS_OUTPUT"
ts_finalize_subtest
# color the current print unit if some or all of the bytes it prints are at offsets 96-99
TS_EXPECTED+=$BE_EXT
$TS_CMD_HEXDUMP $OPTS $ADDRFMT \
-e '"%07.7_ax " 8/4 " %05u_L[red@96-99] " "\n"' \
- $FILES/ascii.in &> $TS_OUTPUT
+ $FILES/ascii.in &> "$TS_OUTPUT"
ts_finalize_subtest
# look for @@@@
TS_EXPECTED+=$BE_EXT
$TS_CMD_HEXDUMP $OPTS $ADDRFMT \
-e '"%07.7_ax " 8/4 " %05u_L[red:@@@@] " "\n"' \
- &> $TS_OUTPUT <<< "@@@@"
+ &> "$TS_OUTPUT" <<< "@@@@"
ts_finalize_subtest
# look for @@@@ at 0-3
TS_EXPECTED+=$BE_EXT
$TS_CMD_HEXDUMP $OPTS $ADDRFMT \
-e '"%07.7_ax " 8/4 " %05u_L[red:@@@@@0-3] " "\n"' \
- &> $TS_OUTPUT <<< "@@@@"
+ &> "$TS_OUTPUT" <<< "@@@@"
ts_finalize_subtest
# look for @@@ at 0-3 (wrong byte count error)
ts_init_subtest "4b_dec-5"
$TS_CMD_HEXDUMP $OPTS $ADDRFMT \
-e '"%07.7_ax " 8/4 " %05u_L[red:@@@@0-3] " "\n"' \
- &> $TS_OUTPUT <<< "@@@@"
+ &> "$TS_OUTPUT" <<< "@@@@"
ts_finalize_subtest
# look for @@@ at 1-3 - in the format boundaries - correct
TS_EXPECTED+=$BE_EXT
$TS_CMD_HEXDUMP $OPTS $ADDRFMT \
-e '"%07.7_ax " 8/4 " %05u_L[red:@@@@1-3] " "\n"' \
- &> $TS_OUTPUT <<< "@@@@"
+ &> "$TS_OUTPUT" <<< "@@@@"
ts_finalize_subtest
# look for @@@ at 2-4 - correct range length, however steps over 2 print units - no colors
TS_EXPECTED+=$BE_EXT
$TS_CMD_HEXDUMP $OPTS $ADDRFMT \
-e '"%07.7_ax " 8/4 " %05u_L[red:@@@@2-4] " "\n"' \
- &> $TS_OUTPUT <<< "@@@@"
+ &> "$TS_OUTPUT" <<< "@@@@"
ts_finalize_subtest
ts_finalize
ts_check_test_command "$TS_CMD_IONICE"
-$TS_CMD_IONICE --pid $$ --classdata 0 --class 0 >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_IONICE --pid $$ --classdata 3 --class 7 >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_IONICE --pid $$ --classdata 4 --class 7 >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_IONICE --pid $$ --classdata 1 --class 8 >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_IONICE --classdata 3 ls /etc/passwd >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_IONICE --pid $$ >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_IONICE --pid $$ --classdata 0 --class 0 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_IONICE --pid $$ --classdata 3 --class 7 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_IONICE --pid $$ --classdata 4 --class 7 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_IONICE --pid $$ --classdata 1 --class 8 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_IONICE --classdata 3 ls /etc/passwd >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_IONICE --pid $$ >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize
ts_check_test_command "$TS_CMD_IPCS"
ts_init_subtest "shm-headers"
-$TS_CMD_IPCS --shmems --time | grep -A1 "^---" >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_IPCS --shmems --pid | grep -A1 "^---" >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_IPCS --shmems --creator | grep -A1 "^---" >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_IPCS --shmems --limits | grep "^---" >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_IPCS --shmems --summary | grep "^---" >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_IPCS --shmems --time | grep -A1 "^---" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_IPCS --shmems --pid | grep -A1 "^---" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_IPCS --shmems --creator | grep -A1 "^---" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_IPCS --shmems --limits | grep "^---" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_IPCS --shmems --summary | grep "^---" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "mesg-headers"
-$TS_CMD_IPCS --queues --time | grep -A1 "^---" >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_IPCS --queues --pid | grep -A1 "^---" >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_IPCS --queues --creator | grep -A1 "^---" >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_IPCS --queues --limits | grep "^---" >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_IPCS --queues --summary | grep "^---" >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_IPCS --queues --time | grep -A1 "^---" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_IPCS --queues --pid | grep -A1 "^---" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_IPCS --queues --creator | grep -A1 "^---" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_IPCS --queues --limits | grep "^---" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_IPCS --queues --summary | grep "^---" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "sem-headers"
-$TS_CMD_IPCS --semaphores --time | grep -A1 "^---" >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_IPCS --semaphores --pid | grep -A1 "^---" >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_IPCS --semaphores --creator | grep -A1 "^---" >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_IPCS --semaphores --limits | grep "^---" >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_IPCS --semaphores --summary | grep "^---" >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_IPCS --semaphores --time | grep -A1 "^---" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_IPCS --semaphores --pid | grep -A1 "^---" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_IPCS --semaphores --creator | grep -A1 "^---" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_IPCS --semaphores --limits | grep "^---" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_IPCS --semaphores --summary | grep "^---" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "all-headers"
-$TS_CMD_IPCS --all | grep -A1 "^---" >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_IPCS --all | grep -A1 "^---" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
-$TS_CMD_IPCS --all --time | grep -A1 "^---" >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_IPCS --all --pid | grep -A1 "^---" >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_IPCS --all --creator | grep -A1 "^---" >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_IPCS --all --limits | grep "^---" >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_IPCS --all --summary | grep "^---" >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_IPCS --all --time | grep -A1 "^---" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_IPCS --all --pid | grep -A1 "^---" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_IPCS --all --creator | grep -A1 "^---" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_IPCS --all --limits | grep "^---" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_IPCS --all --summary | grep "^---" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_finalize
ts_log "load original values"
for i in $IPCS_IDX; do
SHM_ORG[$i]=$(cat ${IPCS_PROCFILES[$i]})
-done >> $TS_OUTPUT
+done >> "$TS_OUTPUT"
ts_log "maximize kernel setting"
for i in $IPCS_IDX; do
echo ${IPCS_LIMITS[$i]} >> ${IPCS_PROCFILES[$i]}
-done >> $TS_OUTPUT
+done >> "$TS_OUTPUT"
ts_log "check for difference between kernel and IPC"
-ipcs_limits_check >> $TS_OUTPUT
+ipcs_limits_check >> "$TS_OUTPUT"
ts_log "write original values to kernel"
for i in $IPCS_IDX; do
echo ${SHM_ORG[$i]} >> ${IPCS_PROCFILES[$i]}
-done >> $TS_OUTPUT
+done >> "$TS_OUTPUT"
ts_finalize
ts_lock "ipcslimits"
ts_log "check for difference between kernel and IPC"
-ipcs_limits_check >> $TS_OUTPUT
+ipcs_limits_check >> "$TS_OUTPUT"
ts_finalize
. "$TS_SELF"/functions.sh
rm -f $TS_OUTDIR/id-msg
-$TS_CMD_IPCMK --queue 2>>$TS_OUTPUT | ipcmk_output_handler $TS_OUTPUT $TS_OUTDIR/id-msg
+$TS_CMD_IPCMK --queue 2>>"$TS_OUTPUT" | ipcmk_output_handler "$TS_OUTPUT" $TS_OUTDIR/id-msg
$TS_CMD_IPCS --queues --id "$(cat $TS_OUTDIR/id-msg)" |\
- grep -c "^Message Queue msqid=$(cat $TS_OUTDIR/id-msg)$" >>$TS_OUTPUT
-$TS_CMD_IPCRM -q "$(cat $TS_OUTDIR/id-msg)" >> $TS_OUTPUT 2>> $TS_ERRLOG
+ grep -c "^Message Queue msqid=$(cat $TS_OUTDIR/id-msg)$" >>"$TS_OUTPUT"
+$TS_CMD_IPCRM -q "$(cat $TS_OUTDIR/id-msg)" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
rm -f $TS_OUTDIR/id-msg
-$TS_CMD_IPCMK -Q 2>>$TS_OUTPUT | ipcmk_output_handler $TS_OUTPUT $TS_OUTDIR/id-msg
+$TS_CMD_IPCMK -Q 2>>"$TS_OUTPUT" | ipcmk_output_handler "$TS_OUTPUT" $TS_OUTDIR/id-msg
$TS_CMD_IPCRM -Q "$(
$TS_CMD_IPCS -q |
awk -v id="$(cat $TS_OUTDIR/id-msg)" '{if ($2 == id){print $1}}' |
uniq
-)" >> $TS_OUTPUT 2>> $TS_ERRLOG
+)" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
rm -f $TS_OUTDIR/id-msg
. "$TS_SELF"/functions.sh
rm -f $TS_OUTDIR/id-sem
-$TS_CMD_IPCMK --semaphore 1 2>>$TS_OUTPUT | ipcmk_output_handler $TS_OUTPUT $TS_OUTDIR/id-sem
-$TS_CMD_IPCS --semaphores --id "$(cat $TS_OUTDIR/id-sem)" | grep "^nsems" >>$TS_OUTPUT
-$TS_CMD_IPCRM -s "$(cat $TS_OUTDIR/id-sem)" >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_IPCMK --semaphore 1 2>>"$TS_OUTPUT" | ipcmk_output_handler "$TS_OUTPUT" $TS_OUTDIR/id-sem
+$TS_CMD_IPCS --semaphores --id "$(cat $TS_OUTDIR/id-sem)" | grep "^nsems" >>"$TS_OUTPUT"
+$TS_CMD_IPCRM -s "$(cat $TS_OUTDIR/id-sem)" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
rm -f $TS_OUTDIR/id-sem
-$TS_CMD_IPCMK --semaphore 2 2>>$TS_OUTPUT | ipcmk_output_handler $TS_OUTPUT $TS_OUTDIR/id-sem
-$TS_CMD_IPCS --semaphores --id "$(cat $TS_OUTDIR/id-sem)" | grep "^nsems" >>$TS_OUTPUT
+$TS_CMD_IPCMK --semaphore 2 2>>"$TS_OUTPUT" | ipcmk_output_handler "$TS_OUTPUT" $TS_OUTDIR/id-sem
+$TS_CMD_IPCS --semaphores --id "$(cat $TS_OUTDIR/id-sem)" | grep "^nsems" >>"$TS_OUTPUT"
$TS_CMD_IPCRM --semaphore-key "$(
$TS_CMD_IPCS --semaphores |
awk -v id="$(cat $TS_OUTDIR/id-sem)" '{if ($2 == id){print $1}}' |
uniq
-)" >> $TS_OUTPUT 2>> $TS_ERRLOG
+)" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
rm -f $TS_OUTDIR/id-sem
. "$TS_SELF"/functions.sh
rm -f $TS_OUTDIR/id-shm
-$TS_CMD_IPCMK -M 1 2>>$TS_OUTPUT | ipcmk_output_handler $TS_OUTPUT $TS_OUTDIR/id-shm
-$TS_CMD_IPCS -m -i "$(cat $TS_OUTDIR/id-shm)" | sed -n '/^bytes/s/\t.*//p' >>$TS_OUTPUT
-$TS_CMD_IPCRM -m "$(cat $TS_OUTDIR/id-shm)" >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_IPCMK -M 1 2>>"$TS_OUTPUT" | ipcmk_output_handler "$TS_OUTPUT" $TS_OUTDIR/id-shm
+$TS_CMD_IPCS -m -i "$(cat $TS_OUTDIR/id-shm)" | sed -n '/^bytes/s/\t.*//p' >>"$TS_OUTPUT"
+$TS_CMD_IPCRM -m "$(cat $TS_OUTDIR/id-shm)" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
rm -f $TS_OUTDIR/id-shm
-$TS_CMD_IPCMK -M 12 2>>$TS_OUTPUT | ipcmk_output_handler $TS_OUTPUT $TS_OUTDIR/id-shm
-$TS_CMD_IPCS -m -i "$(cat $TS_OUTDIR/id-shm)" | sed -n '/^bytes/s/\t.*//p' >>$TS_OUTPUT
+$TS_CMD_IPCMK -M 12 2>>"$TS_OUTPUT" | ipcmk_output_handler "$TS_OUTPUT" $TS_OUTDIR/id-shm
+$TS_CMD_IPCS -m -i "$(cat $TS_OUTDIR/id-shm)" | sed -n '/^bytes/s/\t.*//p' >>"$TS_OUTPUT"
$TS_CMD_IPCRM -M "$(
$TS_CMD_IPCS -m |
awk -v id="$(cat $TS_OUTDIR/id-shm)" '{if ($2 == id){print $1}}' |
uniq
-)" >> $TS_OUTPUT 2>> $TS_ERRLOG
+)" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
rm -f $TS_OUTDIR/id-shm
gzip -cd $TS_SELF/sample.iso.gz >| $TS_OUTDIR/sample.iso
ts_init_subtest "default_output"
-$TS_CMD_ISOSIZE $TS_OUTDIR/sample.iso >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_ISOSIZE $TS_OUTDIR/sample.iso >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "sector_output"
-$TS_CMD_ISOSIZE --sectors $TS_OUTDIR/sample.iso >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_ISOSIZE --sectors $TS_OUTDIR/sample.iso >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "divisor_output"
-$TS_CMD_ISOSIZE --divisor=9 $TS_OUTDIR/sample.iso >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_ISOSIZE --divisor=9 $TS_OUTDIR/sample.iso >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_finalize
HELPER_SYMLINK="$(mktemp "${TS_OUTDIR}/alXXXXXXXXXXXXX")"
ln -sf "$TS_HELPER_SIGRECEIVE" "$HELPER_SYMLINK"
-"$HELPER_SYMLINK" -s "$TS_TESTUSER" >> $TS_OUTPUT 2>> $TS_ERRLOG &
+"$HELPER_SYMLINK" -s "$TS_TESTUSER" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" &
TEST_PID=$!
check_test_sigreceive $TEST_PID
ts_log_both "test 1"
-"$TS_CMD_KILL" ${HELPER_SYMLINK##*/} >> $TS_OUTPUT 2>> $TS_ERRLOG
+"$TS_CMD_KILL" ${HELPER_SYMLINK##*/} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
if [ $? -ne 1 ]; then
echo "kill did not return 1" >> "$TS_OUTPUT"
fi
ts_log_both "test 2"
-"$TS_CMD_KILL" -a ${HELPER_SYMLINK##*/} >> $TS_OUTPUT 2>> $TS_ERRLOG
+"$TS_CMD_KILL" -a ${HELPER_SYMLINK##*/} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
if [ $? -ne 0 ]; then
echo "kill did not return 0" >> "$TS_OUTPUT"
fi
wait $TEST_PID
ts_log_both "test 3"
-"$TS_CMD_KILL" -a -p ${HELPER_SYMLINK##*/} >> $TS_OUTPUT 2>> $TS_ERRLOG
+"$TS_CMD_KILL" -a -p ${HELPER_SYMLINK##*/} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
if [ $? -ne 1 ]; then
echo "kill -a -p did not return 1" >> "$TS_OUTPUT"
fi
-sed -i "s/${HELPER_SYMLINK##*/}/${TS_HELPER_SIGRECEIVE##*/}/" $TS_OUTPUT $TS_ERRLOG
+sed -i "s/${HELPER_SYMLINK##*/}/${TS_HELPER_SIGRECEIVE##*/}/" "$TS_OUTPUT" "$TS_ERRLOG"
rm -f "$HELPER_SYMLINK"
SIG="$SIG-0"
fi
- "$HELPER_SYMLINK" >> $TS_OUTPUT 2>> $TS_ERRLOG &
+ "$HELPER_SYMLINK" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" &
TEST_PID=$!
check_test_sigreceive $TEST_PID
[ $? -eq 1 ] || echo "${HELPER_SYMLINK##*/} helper did not start" >> "$TS_OUTPUT"
- "$TS_CMD_KILL" -$SIG ${HELPER_SYMLINK##*/} >> $TS_OUTPUT 2>> $TS_ERRLOG
+ "$TS_CMD_KILL" -$SIG ${HELPER_SYMLINK##*/} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
wait $TEST_PID
if [ $? -ne $EXPECTED ]; then
echo "$SIG returned $? while $EXPECTED was expected" >> "$TS_OUTPUT"
try_option()
{
- "$HELPER_SYMLINK" >> $TS_OUTPUT 2>> $TS_ERRLOG &
+ "$HELPER_SYMLINK" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" &
TEST_PID=$!
check_test_sigreceive $TEST_PID
[ $? -eq 1 ] || echo "${HELPER_SYMLINK##*/} helper did not start" >> "$TS_OUTPUT"
- "$TS_CMD_KILL" "$@" $TEST_PID >> $TS_OUTPUT 2>> $TS_ERRLOG
+ "$TS_CMD_KILL" "$@" $TEST_PID >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
if [ $? -ne 0 ]; then
echo "kill $@ did not work" >> "$TS_OUTPUT"
all_ok=false
try_option()
{
- "$HELPER_SYMLINK" >> $TS_OUTPUT 2>> $TS_ERRLOG &
+ "$HELPER_SYMLINK" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" &
TEST_PID=$!
TEST_PIDFD_INO=$( "$TS_HELPER_KILL_PIDFDINO" ${TEST_PID} )
ts_skip_exitcode_not_supported
check_test_sigreceive "${TEST_PID}"
[ $? -eq 1 ] || echo "${HELPER_SYMLINK##*/} helper did not start" >> "$TS_OUTPUT"
- "$TS_CMD_KILL" "$@" "${TEST_PID}:${TEST_PIDFD_INO}" >> $TS_OUTPUT 2>> $TS_ERRLOG
+ "$TS_CMD_KILL" "$@" "${TEST_PID}:${TEST_PIDFD_INO}" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
if [ $? -ne 0 ]; then
echo "kill $* did not work" >> "$TS_OUTPUT"
all_ok=false
HELPER_SYMLINK="$(mktemp "${TS_OUTDIR}/prXXXXXXXXXXXXX")"
ln -sf "$TS_HELPER_SIGRECEIVE" "$HELPER_SYMLINK"
-"$HELPER_SYMLINK" >> $TS_OUTPUT 2>> $TS_ERRLOG &
+"$HELPER_SYMLINK" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" &
TEST_PID=$!
check_test_sigreceive $TEST_PID
[ $? -eq 1 ] || echo "${HELPER_SYMLINK##*/} helper did not start" >> "$TS_OUTPUT"
-KILL_PID=$("$TS_CMD_KILL" -p ${HELPER_SYMLINK##*/} 2>> $TS_OUTPUT 2>> $TS_ERRLOG)
+KILL_PID=$("$TS_CMD_KILL" -p ${HELPER_SYMLINK##*/} 2>> "$TS_OUTPUT" 2>> "$TS_ERRLOG")
if [ $? -ne 0 ]; then
echo "kill -p did not work" >> "$TS_OUTPUT"
all_ok=false
HELPER_SYMLINK="$(mktemp "${TS_OUTDIR}/quXXXXXXXXXXXXX")"
ln -sf "$TS_HELPER_SIGRECEIVE" "$HELPER_SYMLINK"
-"$HELPER_SYMLINK" >> $TS_OUTPUT 2>> $TS_ERRLOG &
+"$HELPER_SYMLINK" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" &
TEST_PID=$!
check_test_sigreceive $TEST_PID
[ $? -eq 1 ] || echo "${HELPER_SYMLINK##*/} helper did not start" >> "$TS_OUTPUT"
-"$TS_CMD_KILL" -1 --queue 42 $TEST_PID >> $TS_OUTPUT 2>> $TS_ERRLOG
+"$TS_CMD_KILL" -1 --queue 42 $TEST_PID >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
if [ $? -ne 0 ]; then
echo "kill --queue 42 failed" >> "$TS_OUTPUT"
all_ok=false
ts_init_subtest "flag-unset"
-"$TS_HELPER_PARSEPID" 1 >> $TS_OUTPUT 2>> $TS_ERRLOG
-"$TS_HELPER_PARSEPID" 1: >> $TS_OUTPUT 2>> $TS_ERRLOG
-"$TS_HELPER_PARSEPID" 1:0 >> $TS_OUTPUT 2>> $TS_ERRLOG
-"$TS_HELPER_PARSEPID" 1:122 >> $TS_OUTPUT 2>> $TS_ERRLOG
-"$TS_HELPER_PARSEPID" -- -1:122 >> $TS_OUTPUT 2>> $TS_ERRLOG
-"$TS_HELPER_PARSEPID" -- -2147 >> $TS_OUTPUT 2>> $TS_ERRLOG
-"$TS_HELPER_PARSEPID" '1:-122' >> $TS_OUTPUT 2>> $TS_ERRLOG
-"$TS_HELPER_PARSEPID" 2147 >> $TS_OUTPUT 2>> $TS_ERRLOG
-"$TS_HELPER_PARSEPID" -- 0 >> $TS_OUTPUT 2>> $TS_ERRLOG
-
-sed -i -e "s@$($TS_HELPER_STRERROR EINVAL)@EINVAL@" $TS_OUTPUT $TS_ERRLOG
-sed -i -e "s@$($TS_HELPER_STRERROR ERANGE)@ERANGE@" $TS_OUTPUT $TS_ERRLOG
+"$TS_HELPER_PARSEPID" 1 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+"$TS_HELPER_PARSEPID" 1: >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+"$TS_HELPER_PARSEPID" 1:0 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+"$TS_HELPER_PARSEPID" 1:122 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+"$TS_HELPER_PARSEPID" -- -1:122 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+"$TS_HELPER_PARSEPID" -- -2147 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+"$TS_HELPER_PARSEPID" '1:-122' >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+"$TS_HELPER_PARSEPID" 2147 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+"$TS_HELPER_PARSEPID" -- 0 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+
+sed -i -e "s@$($TS_HELPER_STRERROR EINVAL)@EINVAL@" "$TS_OUTPUT" "$TS_ERRLOG"
+sed -i -e "s@$($TS_HELPER_STRERROR ERANGE)@ERANGE@" "$TS_OUTPUT" "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "flag-zero"
-"$TS_HELPER_PARSEPID" --zero 1 >> $TS_OUTPUT 2>> $TS_ERRLOG
-"$TS_HELPER_PARSEPID" --zero 1: >> $TS_OUTPUT 2>> $TS_ERRLOG
-"$TS_HELPER_PARSEPID" --zero 1:0 >> $TS_OUTPUT 2>> $TS_ERRLOG
-"$TS_HELPER_PARSEPID" --zero 1:122 >> $TS_OUTPUT 2>> $TS_ERRLOG
-"$TS_HELPER_PARSEPID" --zero -- -1:122 >> $TS_OUTPUT 2>> $TS_ERRLOG
-"$TS_HELPER_PARSEPID" --zero -- -2147 >> $TS_OUTPUT 2>> $TS_ERRLOG
-"$TS_HELPER_PARSEPID" --zero '1:-122' >> $TS_OUTPUT 2>> $TS_ERRLOG
-"$TS_HELPER_PARSEPID" --zero 2147 >> $TS_OUTPUT 2>> $TS_ERRLOG
-"$TS_HELPER_PARSEPID" --zero 0 >> $TS_OUTPUT 2>> $TS_ERRLOG
-sed -i -e "s@$($TS_HELPER_STRERROR EINVAL)@EINVAL@" $TS_OUTPUT $TS_ERRLOG
-sed -i -e "s@$($TS_HELPER_STRERROR ERANGE)@ERANGE@" $TS_OUTPUT $TS_ERRLOG
+"$TS_HELPER_PARSEPID" --zero 1 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+"$TS_HELPER_PARSEPID" --zero 1: >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+"$TS_HELPER_PARSEPID" --zero 1:0 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+"$TS_HELPER_PARSEPID" --zero 1:122 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+"$TS_HELPER_PARSEPID" --zero -- -1:122 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+"$TS_HELPER_PARSEPID" --zero -- -2147 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+"$TS_HELPER_PARSEPID" --zero '1:-122' >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+"$TS_HELPER_PARSEPID" --zero 2147 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+"$TS_HELPER_PARSEPID" --zero 0 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+sed -i -e "s@$($TS_HELPER_STRERROR EINVAL)@EINVAL@" "$TS_OUTPUT" "$TS_ERRLOG"
+sed -i -e "s@$($TS_HELPER_STRERROR ERANGE)@ERANGE@" "$TS_OUTPUT" "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "flag-negative"
-"$TS_HELPER_PARSEPID" --negative 1 >> $TS_OUTPUT 2>> $TS_ERRLOG
-"$TS_HELPER_PARSEPID" --negative 1: >> $TS_OUTPUT 2>> $TS_ERRLOG
-"$TS_HELPER_PARSEPID" --negative -- -1:0 >> $TS_OUTPUT 2>> $TS_ERRLOG
-"$TS_HELPER_PARSEPID" --negative 1:122 >> $TS_OUTPUT 2>> $TS_ERRLOG
-"$TS_HELPER_PARSEPID" --negative '1:-122' >> $TS_OUTPUT 2>> $TS_ERRLOG
-"$TS_HELPER_PARSEPID" --negative 1:0 >> $TS_OUTPUT 2>> $TS_ERRLOG
-"$TS_HELPER_PARSEPID" --negative -- -1:122 >> $TS_OUTPUT 2>> $TS_ERRLOG
-"$TS_HELPER_PARSEPID" --negative -- -2147 >> $TS_OUTPUT 2>> $TS_ERRLOG
-"$TS_HELPER_PARSEPID" --negative -- '-2147:78' >> $TS_OUTPUT 2>> $TS_ERRLOG
-"$TS_HELPER_PARSEPID" --negative 2147 >> $TS_OUTPUT 2>> $TS_ERRLOG
-"$TS_HELPER_PARSEPID" --negative 0 >> $TS_OUTPUT 2>> $TS_ERRLOG
-sed -i -e "s@$($TS_HELPER_STRERROR EINVAL)@EINVAL@" $TS_OUTPUT $TS_ERRLOG
-sed -i -e "s@$($TS_HELPER_STRERROR ERANGE)@ERANGE@" $TS_OUTPUT $TS_ERRLOG
+"$TS_HELPER_PARSEPID" --negative 1 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+"$TS_HELPER_PARSEPID" --negative 1: >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+"$TS_HELPER_PARSEPID" --negative -- -1:0 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+"$TS_HELPER_PARSEPID" --negative 1:122 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+"$TS_HELPER_PARSEPID" --negative '1:-122' >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+"$TS_HELPER_PARSEPID" --negative 1:0 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+"$TS_HELPER_PARSEPID" --negative -- -1:122 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+"$TS_HELPER_PARSEPID" --negative -- -2147 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+"$TS_HELPER_PARSEPID" --negative -- '-2147:78' >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+"$TS_HELPER_PARSEPID" --negative 2147 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+"$TS_HELPER_PARSEPID" --negative 0 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+sed -i -e "s@$($TS_HELPER_STRERROR EINVAL)@EINVAL@" "$TS_OUTPUT" "$TS_ERRLOG"
+sed -i -e "s@$($TS_HELPER_STRERROR ERANGE)@ERANGE@" "$TS_OUTPUT" "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "flag-zero-negative"
-"$TS_HELPER_PARSEPID" --zero --negative 1 >> $TS_OUTPUT 2>> $TS_ERRLOG
-"$TS_HELPER_PARSEPID" --zero --negative 1: >> $TS_OUTPUT 2>> $TS_ERRLOG
-"$TS_HELPER_PARSEPID" --zero --negative -- -1443 >> $TS_OUTPUT 2>> $TS_ERRLOG
-"$TS_HELPER_PARSEPID" --zero --negative 1:0 >> $TS_OUTPUT 2>> $TS_ERRLOG
-"$TS_HELPER_PARSEPID" --zero --negative 1:122 >> $TS_OUTPUT 2>> $TS_ERRLOG
-"$TS_HELPER_PARSEPID" --zero --negative '1:-122' >> $TS_OUTPUT 2>> $TS_ERRLOG
-"$TS_HELPER_PARSEPID" --zero --negative -- -1:122 >> $TS_OUTPUT 2>> $TS_ERRLOG
-"$TS_HELPER_PARSEPID" --zero --negative -- -2147 >> $TS_OUTPUT 2>> $TS_ERRLOG
-"$TS_HELPER_PARSEPID" --zero --negative 2147 >> $TS_OUTPUT 2>> $TS_ERRLOG
-"$TS_HELPER_PARSEPID" --zero --negative 0 >> $TS_OUTPUT 2>> $TS_ERRLOG
-sed -i -e "s@$($TS_HELPER_STRERROR EINVAL)@EINVAL@" $TS_OUTPUT $TS_ERRLOG
-sed -i -e "s@$($TS_HELPER_STRERROR ERANGE)@ERANGE@" $TS_OUTPUT $TS_ERRLOG
+"$TS_HELPER_PARSEPID" --zero --negative 1 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+"$TS_HELPER_PARSEPID" --zero --negative 1: >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+"$TS_HELPER_PARSEPID" --zero --negative -- -1443 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+"$TS_HELPER_PARSEPID" --zero --negative 1:0 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+"$TS_HELPER_PARSEPID" --zero --negative 1:122 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+"$TS_HELPER_PARSEPID" --zero --negative '1:-122' >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+"$TS_HELPER_PARSEPID" --zero --negative -- -1:122 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+"$TS_HELPER_PARSEPID" --zero --negative -- -2147 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+"$TS_HELPER_PARSEPID" --zero --negative 2147 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+"$TS_HELPER_PARSEPID" --zero --negative 0 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+sed -i -e "s@$($TS_HELPER_STRERROR EINVAL)@EINVAL@" "$TS_OUTPUT" "$TS_ERRLOG"
+sed -i -e "s@$($TS_HELPER_STRERROR ERANGE)@ERANGE@" "$TS_OUTPUT" "$TS_ERRLOG"
ts_finalize_subtest
TEST_IMAGE_NAME=$(ts_image_init 10)
ts_init_subtest "all-defaults"
-$TS_CMD_SFDISK --unit S ${TEST_IMAGE_NAME} >> $TS_OUTPUT 2>> $TS_ERRLOG <<EOF
+$TS_CMD_SFDISK --unit S ${TEST_IMAGE_NAME} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" <<EOF
label: gpt
label-id: b181c399-4711-4c52-8b65-9e764541218d
TEST_IMAGE_NAME=$(ts_image_init 10)
ts_init_subtest "all-defaults-with-typo"
-$TS_CMD_SFDISK --unit S ${TEST_IMAGE_NAME} >> $TS_OUTPUT 2>> $TS_ERRLOG <<EOF
+$TS_CMD_SFDISK --unit S ${TEST_IMAGE_NAME} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" <<EOF
label: gpt
label-id: b181c399-4711-4c52-8b65-9e764541218d
ts_finalize_subtest
ts_init_subtest "getattr"
-ts_run $TESTPROG --getattr ${TEST_IMAGE_NAME} 1 >> $TS_OUTPUT 2>> $TS_ERRLOG
-ts_run $TESTPROG --getattr ${TEST_IMAGE_NAME} 2 >> $TS_OUTPUT 2>> $TS_ERRLOG
+ts_run $TESTPROG --getattr ${TEST_IMAGE_NAME} 1 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+ts_run $TESTPROG --getattr ${TEST_IMAGE_NAME} 2 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "setattr"
-ts_run $TESTPROG --setattr ${TEST_IMAGE_NAME} 1 0xff00000000000000 >> $TS_OUTPUT 2>> $TS_ERRLOG
-ts_run $TESTPROG --setattr ${TEST_IMAGE_NAME} 2 0x4 >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_SFDISK --part-attrs ${TEST_IMAGE_NAME} 1 >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_SFDISK --part-attrs ${TEST_IMAGE_NAME} 2 >> $TS_OUTPUT 2>> $TS_ERRLOG
+ts_run $TESTPROG --setattr ${TEST_IMAGE_NAME} 1 0xff00000000000000 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+ts_run $TESTPROG --setattr ${TEST_IMAGE_NAME} 2 0x4 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_SFDISK --part-attrs ${TEST_IMAGE_NAME} 1 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_SFDISK --part-attrs ${TEST_IMAGE_NAME} 2 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_finalize
ts_init_subtest "mbr"
$TESTPROG --label mbr --device ${TEST_IMAGE_NAME} \
- 1M 1M 1M - >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_SFDISK --list ${TEST_IMAGE_NAME} >> $TS_OUTPUT 2>> $TS_ERRLOG
+ 1M 1M 1M - >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_SFDISK --list ${TEST_IMAGE_NAME} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fdisk_clean ${TEST_IMAGE_NAME}
ts_finalize_subtest
ts_init_subtest "mbr-logic"
$TESTPROG --label mbr --device ${TEST_IMAGE_NAME} \
- 1M 1M 1M - 1M 1M ->> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_SFDISK --list ${TEST_IMAGE_NAME} >> $TS_OUTPUT 2>> $TS_ERRLOG
+ 1M 1M 1M - 1M 1M ->> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_SFDISK --list ${TEST_IMAGE_NAME} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fdisk_clean ${TEST_IMAGE_NAME}
ts_finalize_subtest
ts_init_subtest "mbr-nopartno"
$TESTPROG --nopartno --label mbr --device ${TEST_IMAGE_NAME} \
- 1M 1M 1M - 1M 1M ->> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_SFDISK --list ${TEST_IMAGE_NAME} >> $TS_OUTPUT 2>> $TS_ERRLOG
+ 1M 1M 1M - 1M 1M ->> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_SFDISK --list ${TEST_IMAGE_NAME} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fdisk_clean ${TEST_IMAGE_NAME}
ts_finalize_subtest
ts_init_subtest "gpt"
$TESTPROG --label gpt --device ${TEST_IMAGE_NAME} \
- 1M 1M 1M 1M 1M 1M - >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_SFDISK --list ${TEST_IMAGE_NAME} >> $TS_OUTPUT 2>> $TS_ERRLOG
+ 1M 1M 1M 1M 1M 1M - >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_SFDISK --list ${TEST_IMAGE_NAME} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fdisk_clean ${TEST_IMAGE_NAME}
ts_finalize_subtest
2,4096,2048 \
3,6144,2048 \
4,8192,22528 \
- >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_SFDISK --list ${TEST_IMAGE_NAME} >> $TS_OUTPUT 2>> $TS_ERRLOG
+ >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_SFDISK --list ${TEST_IMAGE_NAME} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fdisk_clean ${TEST_IMAGE_NAME}
ts_finalize_subtest
-,4096,2048 \
-,6144,2048 \
-,8192,22528 \
- >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_SFDISK --list ${TEST_IMAGE_NAME} >> $TS_OUTPUT 2>> $TS_ERRLOG
+ >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_SFDISK --list ${TEST_IMAGE_NAME} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fdisk_clean ${TEST_IMAGE_NAME}
ts_finalize_subtest
1,2048,2048 \
2,4096,2048 \
7,6144,2048 \
- >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_SFDISK --list ${TEST_IMAGE_NAME} >> $TS_OUTPUT 2>> $TS_ERRLOG
+ >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_SFDISK --list ${TEST_IMAGE_NAME} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fdisk_clean ${TEST_IMAGE_NAME}
ts_finalize_subtest
1,2048,2048 \
2,4096,2048 \
3,4096,2048 \
- >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_SFDISK --list ${TEST_IMAGE_NAME} >> $TS_OUTPUT 2>> $TS_ERRLOG
+ >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_SFDISK --list ${TEST_IMAGE_NAME} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fdisk_clean ${TEST_IMAGE_NAME}
ts_finalize_subtest
5,10240,2048 \
6,14336,2048 \
7,18432,12288 \
- >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_SFDISK --list ${TEST_IMAGE_NAME} >> $TS_OUTPUT 2>> $TS_ERRLOG
+ >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_SFDISK --list ${TEST_IMAGE_NAME} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fdisk_clean ${TEST_IMAGE_NAME}
ts_finalize_subtest
-,10240,2048 \
-,14336,2048 \
-,18432,12288 \
- >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_SFDISK --list ${TEST_IMAGE_NAME} >> $TS_OUTPUT 2>> $TS_ERRLOG
+ >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_SFDISK --list ${TEST_IMAGE_NAME} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fdisk_clean ${TEST_IMAGE_NAME}
ts_finalize_subtest
5,10240,2048 \
6,4096,2048 \
7,18432,12288 \
- >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_SFDISK --list ${TEST_IMAGE_NAME} >> $TS_OUTPUT 2>> $TS_ERRLOG
+ >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_SFDISK --list ${TEST_IMAGE_NAME} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fdisk_clean ${TEST_IMAGE_NAME}
ts_finalize_subtest
1,2048,2048 \
2,6144,2048 \
3,8192,2048 \
- >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_SFDISK --list ${TEST_IMAGE_NAME} >> $TS_OUTPUT 2>> $TS_ERRLOG
+ >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_SFDISK --list ${TEST_IMAGE_NAME} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fdisk_clean ${TEST_IMAGE_NAME}
ts_finalize_subtest
5,10240,2048 \
6,12288,2048 \
7,14336,2048 \
- >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_SFDISK --list ${TEST_IMAGE_NAME} >> $TS_OUTPUT 2>> $TS_ERRLOG
+ >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_SFDISK --list ${TEST_IMAGE_NAME} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fdisk_clean ${TEST_IMAGE_NAME}
ts_finalize_subtest
-,10240,2048 \
-,12288,2048 \
-,14336,2048 \
- >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_SFDISK --list ${TEST_IMAGE_NAME} >> $TS_OUTPUT 2>> $TS_ERRLOG
+ >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_SFDISK --list ${TEST_IMAGE_NAME} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fdisk_clean ${TEST_IMAGE_NAME}
ts_finalize_subtest
5,10240,2048 \
6,12288,2048 \
7,14336,2048 \
- >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_SFDISK --list ${TEST_IMAGE_NAME} >> $TS_OUTPUT 2>> $TS_ERRLOG
+ >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_SFDISK --list ${TEST_IMAGE_NAME} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fdisk_clean ${TEST_IMAGE_NAME}
ts_finalize_subtest
7,10240,2048 \
8,12288,2048 \
9,14336,2048 \
- >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_SFDISK --list ${TEST_IMAGE_NAME} >> $TS_OUTPUT 2>> $TS_ERRLOG
+ >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_SFDISK --list ${TEST_IMAGE_NAME} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fdisk_clean ${TEST_IMAGE_NAME}
ts_finalize_subtest
3,8192,2048 \
4,12288,2048 \
5,14336,2048 \
- >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_SFDISK --list ${TEST_IMAGE_NAME} >> $TS_OUTPUT 2>> $TS_ERRLOG
+ >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_SFDISK --list ${TEST_IMAGE_NAME} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fdisk_clean ${TEST_IMAGE_NAME}
ts_finalize_subtest
ts_check_test_command $TS_HELPER_LIBLASTLOG2_WRITE_READ_USER
-$TS_HELPER_LIBLASTLOG2_WRITE_READ_USER >> $TS_OUTPUT 2>> $TS_ERRLOG || ts_failed "returned an error"
+$TS_HELPER_LIBLASTLOG2_WRITE_READ_USER >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" || ts_failed "returned an error"
rm tst-write-read-user.db
ts_init_subtest "mount-by-devname"
mkdir -p $MOUNTPOINT &> /dev/null
-ts_run $TESTPROG --mount $DEVICE $MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
-is_mounted $DEVICE || echo "$DEVICE not mounted" >> $TS_OUTPUT 2>> $TS_ERRLOG
+ts_run $TESTPROG --mount $DEVICE $MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+is_mounted $DEVICE || echo "$DEVICE not mounted" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "umount-by-devname"
-ts_run $TESTPROG --umount $DEVICE >> $TS_OUTPUT 2>> $TS_ERRLOG
-is_mounted $DEVICE && echo "$DEVICE still mounted" >> $TS_OUTPUT 2>> $TS_ERRLOG
+ts_run $TESTPROG --umount $DEVICE >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+is_mounted $DEVICE && echo "$DEVICE still mounted" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "mount-by-label"
mkdir -p $MOUNTPOINT &> /dev/null
-ts_run $TESTPROG --mount LABEL="$LABEL" $MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
-is_mounted $DEVICE || echo "$DEVICE not mounted" >> $TS_OUTPUT 2>> $TS_ERRLOG
+ts_run $TESTPROG --mount LABEL="$LABEL" $MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+is_mounted $DEVICE || echo "$DEVICE not mounted" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "umount-by-mountpoint"
-ts_run $TESTPROG --umount $MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
-is_mounted $DEVICE && echo "$DEVICE still mounted" >> $TS_OUTPUT 2>> $TS_ERRLOG
+ts_run $TESTPROG --umount $MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+is_mounted $DEVICE && echo "$DEVICE still mounted" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "mount-by-uuid"
mkdir -p $MOUNTPOINT &> /dev/null
-ts_run $TESTPROG --mount UUID="$UUID" $MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
-is_mounted $DEVICE || echo "$DEVICE not mounted" >> $TS_OUTPUT 2>> $TS_ERRLOG
+ts_run $TESTPROG --mount UUID="$UUID" $MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+is_mounted $DEVICE || echo "$DEVICE not mounted" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
sleep 1
-ts_run $TESTPROG --umount $MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
+ts_run $TESTPROG --umount $MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
sleep 1
-is_mounted $DEVICE && echo "$DEVICE still mounted" >> $TS_OUTPUT 2>> $TS_ERRLOG
+is_mounted $DEVICE && echo "$DEVICE still mounted" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "mount-flags"
mkdir -p $MOUNTPOINT &> /dev/null
-ts_run $TESTPROG --mount -o ro,noexec,nosuid,strictatime $DEVICE $MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_FINDMNT --kernel --mountpoint $MOUNTPOINT -o VFS-OPTIONS -n >> $TS_OUTPUT 2>> $TS_ERRLOG
-is_mounted $DEVICE || echo "$DEVICE not mounted" >> $TS_OUTPUT 2>> $TS_ERRLOG
+ts_run $TESTPROG --mount -o ro,noexec,nosuid,strictatime $DEVICE $MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_FINDMNT --kernel --mountpoint $MOUNTPOINT -o VFS-OPTIONS -n >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+is_mounted $DEVICE || echo "$DEVICE not mounted" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
-ts_run $TESTPROG --mount -o remount,rw $MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_FINDMNT --kernel --mountpoint $MOUNTPOINT -o VFS-OPTIONS -n >> $TS_OUTPUT 2>> $TS_ERRLOG
+ts_run $TESTPROG --mount -o remount,rw $MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_FINDMNT --kernel --mountpoint $MOUNTPOINT -o VFS-OPTIONS -n >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
-ts_run $TESTPROG --umount $MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
-is_mounted $DEVICE && echo "$DEVICE still mounted" >> $TS_OUTPUT 2>> $TS_ERRLOG
+ts_run $TESTPROG --umount $MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+is_mounted $DEVICE && echo "$DEVICE still mounted" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
# Test that the atime option works after the migration to use the new kernel mount APIs.
-ts_run $TESTPROG --mount -o atime $DEVICE $MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_FINDMNT --kernel --mountpoint $MOUNTPOINT -o VFS-OPTIONS -n >> $TS_OUTPUT 2>> $TS_ERRLOG
-is_mounted $DEVICE || echo "$DEVICE not mounted" >> $TS_OUTPUT 2>> $TS_ERRLOG
-ts_run $TESTPROG --umount $MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
-is_mounted $DEVICE && echo "$DEVICE still mounted" >> $TS_OUTPUT 2>> $TS_ERRLOG
+ts_run $TESTPROG --mount -o atime $DEVICE $MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_FINDMNT --kernel --mountpoint $MOUNTPOINT -o VFS-OPTIONS -n >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+is_mounted $DEVICE || echo "$DEVICE not mounted" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+ts_run $TESTPROG --umount $MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+is_mounted $DEVICE && echo "$DEVICE still mounted" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
mkfs.ext2 -F $img &> /dev/null
udevadm settle
-ts_run $TESTPROG --mount -o loop $img $MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
-is_mounted $MOUNTPOINT || echo "$MOUNTPOINT not mounted" >> $TS_OUTPUT 2>> $TS_ERRLOG
+ts_run $TESTPROG --mount -o loop $img $MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+is_mounted $MOUNTPOINT || echo "$MOUNTPOINT not mounted" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
udevadm settle
-ts_run $TESTPROG --umount $MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
-is_mounted $MOUNTPOINT && echo "$MOUNTPOINT still mounted" >> $TS_OUTPUT 2>> $TS_ERRLOG
+ts_run $TESTPROG --umount $MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+is_mounted $MOUNTPOINT && echo "$MOUNTPOINT still mounted" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
TS_NOEXIST="$TS_OUTDIR/${TS_TESTNAME}-${TS_SUBNAME}-noex"
[ -d $TS_NOEXIST ] && rmdir $TS_NOEXIST
-$TS_CMD_MOUNT -o x-mount.mkdir --bind $MOUNTPOINT $TS_NOEXIST >> $TS_OUTPUT 2>> $TS_ERRLOG &&
- echo "successfully mounted" >> $TS_OUTPUT
+$TS_CMD_MOUNT -o x-mount.mkdir --bind $MOUNTPOINT $TS_NOEXIST >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" &&
+ echo "successfully mounted" >> "$TS_OUTPUT"
ts_finalize_subtest
$TS_CMD_UMOUNT $TS_NOEXIST
TS_NOEXIST="$TS_OUTDIR/${TS_TESTNAME}-${TS_SUBNAME}-noex"
[ -d $TS_NOEXIST ] && rmdir $TS_NOEXIST
-$TS_CMD_MOUNT -o X-mount.mkdir --bind $MOUNTPOINT $TS_NOEXIST >> $TS_OUTPUT 2>> $TS_ERRLOG &&
- echo "successfully mounted" >> $TS_OUTPUT
+$TS_CMD_MOUNT -o X-mount.mkdir --bind $MOUNTPOINT $TS_NOEXIST >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" &&
+ echo "successfully mounted" >> "$TS_OUTPUT"
ts_finalize_subtest
$TS_CMD_UMOUNT $TS_NOEXIST
ts_init_subtest "mount-by-devname"
mkdir -p $MOUNTPOINT &> /dev/null
-$PYTHON $TESTPROG --mount $DEVICE $MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
-is_mounted $DEVICE || echo "$DEVICE not mounted" >> $TS_OUTPUT 2>> $TS_ERRLOG
+$PYTHON $TESTPROG --mount $DEVICE $MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+is_mounted $DEVICE || echo "$DEVICE not mounted" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "umount-by-devname"
-$PYTHON $TESTPROG --umount $DEVICE >> $TS_OUTPUT 2>> $TS_ERRLOG
-is_mounted $DEVICE && echo "$DEVICE still mounted" >> $TS_OUTPUT 2>> $TS_ERRLOG
+$PYTHON $TESTPROG --umount $DEVICE >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+is_mounted $DEVICE && echo "$DEVICE still mounted" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "mount-by-label"
mkdir -p $MOUNTPOINT &> /dev/null
-$PYTHON $TESTPROG --mount LABEL="$LABEL" $MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
-is_mounted $DEVICE || echo "$DEVICE not mounted" >> $TS_OUTPUT 2>> $TS_ERRLOG
+$PYTHON $TESTPROG --mount LABEL="$LABEL" $MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+is_mounted $DEVICE || echo "$DEVICE not mounted" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "umount-by-mountpoint"
-$PYTHON $TESTPROG --umount $MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
-is_mounted $DEVICE && echo "$DEVICE still mounted" >> $TS_OUTPUT 2>> $TS_ERRLOG
+$PYTHON $TESTPROG --umount $MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+is_mounted $DEVICE && echo "$DEVICE still mounted" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "mount-by-uuid"
mkdir -p $MOUNTPOINT &> /dev/null
-$PYTHON $TESTPROG --mount UUID="$UUID" $MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
-is_mounted $DEVICE || echo "$DEVICE not mounted" >> $TS_OUTPUT 2>> $TS_ERRLOG
-$PYTHON $TESTPROG --umount $MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
-is_mounted $DEVICE && echo "$DEVICE still mounted" >> $TS_OUTPUT 2>> $TS_ERRLOG
+$PYTHON $TESTPROG --mount UUID="$UUID" $MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+is_mounted $DEVICE || echo "$DEVICE not mounted" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$PYTHON $TESTPROG --umount $MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+is_mounted $DEVICE && echo "$DEVICE still mounted" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "mount-flags"
mkdir -p $MOUNTPOINT &> /dev/null
-$PYTHON $TESTPROG --mount -o ro,noexec,nosuid,strictatime $DEVICE $MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_FINDMNT --kernel $MOUNTPOINT -o VFS-OPTIONS -n >> $TS_OUTPUT 2>> $TS_ERRLOG
-is_mounted $DEVICE || echo "$DEVICE not mounted" >> $TS_OUTPUT 2>> $TS_ERRLOG
+$PYTHON $TESTPROG --mount -o ro,noexec,nosuid,strictatime $DEVICE $MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_FINDMNT --kernel $MOUNTPOINT -o VFS-OPTIONS -n >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+is_mounted $DEVICE || echo "$DEVICE not mounted" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
-$PYTHON $TESTPROG --mount -o remount,rw $MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_FINDMNT --kernel $MOUNTPOINT -o VFS-OPTIONS -n >> $TS_OUTPUT 2>> $TS_ERRLOG
+$PYTHON $TESTPROG --mount -o remount,rw $MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_FINDMNT --kernel $MOUNTPOINT -o VFS-OPTIONS -n >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
-$PYTHON $TESTPROG --umount $MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
-is_mounted $DEVICE && echo "$DEVICE still mounted" >> $TS_OUTPUT 2>> $TS_ERRLOG
+$PYTHON $TESTPROG --umount $MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+is_mounted $DEVICE && echo "$DEVICE still mounted" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
mkfs.ext2 -F $img &> /dev/null
udevadm settle
-$PYTHON $TESTPROG --mount -o loop $img $MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
-is_mounted $MOUNTPOINT || echo "$MOUNTPOINT not mounted" >> $TS_OUTPUT 2>> $TS_ERRLOG
+$PYTHON $TESTPROG --mount -o loop $img $MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+is_mounted $MOUNTPOINT || echo "$MOUNTPOINT not mounted" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
udevadm settle
-$PYTHON $TESTPROG --umount $MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
-is_mounted $MOUNTPOINT && echo "$MOUNTPOINT still mounted" >> $TS_OUTPUT 2>> $TS_ERRLOG
+$PYTHON $TESTPROG --umount $MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+is_mounted $MOUNTPOINT && echo "$MOUNTPOINT still mounted" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "x-mount.mkdir"
-$TS_CMD_MOUNT -o x-mount.mkdir --bind $MOUNTPOINT $TS_NOEXIST >> $TS_OUTPUT 2>> $TS_ERRLOG &&
- echo "successfully mounted" >> $TS_OUTPUT
+$TS_CMD_MOUNT -o x-mount.mkdir --bind $MOUNTPOINT $TS_NOEXIST >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" &&
+ echo "successfully mounted" >> "$TS_OUTPUT"
ts_finalize_subtest
ts_log "Do tests..."
-export LIBMOUNT_UTAB=$TS_OUTPUT.utab
+export LIBMOUNT_UTAB="$TS_OUTPUT".utab
rm -f $LIBMOUNT_UTAB
> $LIBMOUNT_UTAB
ts_init_subtest "mount-by-devname"
mkdir -p $MOUNTPOINT &> /dev/null
-ts_run $TESTPROG --mount $DEVICE $MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
+ts_run $TESTPROG --mount $DEVICE $MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_is_mounted "$DEVICE" || \
- echo "(by device) cannot find $DEVICE in /proc/mounts" >> $TS_OUTPUT 2>> $TS_ERRLOG
+ echo "(by device) cannot find $DEVICE in /proc/mounts" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "umount-by-devname"
-ts_run $TESTPROG --umount $DEVICE >> $TS_OUTPUT 2>> $TS_ERRLOG
+ts_run $TESTPROG --umount $DEVICE >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_is_mounted "$DEVICE" &&
- echo "umount (device) failed: found $DEVICE in /proc/mounts" >> $TS_OUTPUT 2>> $TS_ERRLOG
+ echo "umount (device) failed: found $DEVICE in /proc/mounts" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "mount-uhelper"
mkdir -p $MOUNTPOINT &> /dev/null
-ts_run $TESTPROG --mount -o uhelper=foo,rw LABEL="$LABEL" $MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
+ts_run $TESTPROG --mount -o uhelper=foo,rw LABEL="$LABEL" $MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
grep -q "SRC=$DEVICE\b" "$LIBMOUNT_UTAB" || \
- echo "(by label) cannot find $DEVICE in $LIBMOUNT_UTAB" >> $TS_OUTPUT 2>> $TS_ERRLOG
+ echo "(by label) cannot find $DEVICE in $LIBMOUNT_UTAB" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "umount"
-ts_run $TESTPROG --umount $MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
+ts_run $TESTPROG --umount $MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
grep -q "SRC=$DEVICE\b" "$LIBMOUNT_UTAB" && \
- echo "umount (mountpoint) failed: found $DEVICE in $LIBMOUNT_UTAB" >> $TS_OUTPUT 2>> $TS_ERRLOG
+ echo "umount (mountpoint) failed: found $DEVICE in $LIBMOUNT_UTAB" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "mount-uhelper-subvol"
mkdir -p $MOUNTPOINT &> /dev/null
- ts_run $TESTPROG --mount -o uhelper=foo,rw,subvol=sub $DEVICE $MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
+ ts_run $TESTPROG --mount -o uhelper=foo,rw,subvol=sub $DEVICE $MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
grep -q "SRC=$DEVICE\b" "$LIBMOUNT_UTAB" || \
- echo "cannot find $DEVICE in $LIBMOUNT_UTAB" >> $TS_OUTPUT 2>> $TS_ERRLOG
+ echo "cannot find $DEVICE in $LIBMOUNT_UTAB" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
# Don't temporary write btrfs mount options to the test output,
# subvol= and subvolid=).
#
#ts_log "All mount options (btrfs subvolume + utab) ---"
- #$TS_CMD_FINDMNT --mtab --mountpoint $MOUNTPOINT -o OPTIONS -n >> $TS_OUTPUT 2>> $TS_ERRLOG
+ #$TS_CMD_FINDMNT --mtab --mountpoint $MOUNTPOINT -o OPTIONS -n >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
#ts_log "---"
ts_init_subtest "umount-subvol"
- ts_run $TESTPROG --umount $MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
+ ts_run $TESTPROG --umount $MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
grep -q "SRC=$DEVICE\b" "$LIBMOUNT_UTAB" && \
- echo "umount (mountpoint) failed: found $DEVICE in $LIBMOUNT_UTAB" >> $TS_OUTPUT 2>> $TS_ERRLOG
+ echo "umount (mountpoint) failed: found $DEVICE in $LIBMOUNT_UTAB" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
fi
ts_log "Do tests..."
-export LIBMOUNT_UTAB=$TS_OUTPUT.utab
+export LIBMOUNT_UTAB="$TS_OUTPUT".utab
rm -f $LIBMOUNT_UTAB
> $LIBMOUNT_UTAB
ts_init_subtest "mount-by-devname"
mkdir -p $MOUNTPOINT &> /dev/null
-$PYTHON $TESTPROG --mount $DEVICE $MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
+$PYTHON $TESTPROG --mount $DEVICE $MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_is_mounted "$DEVICE" || \
- echo "(by device) cannot find $DEVICE in /proc/mounts" >> $TS_OUTPUT 2>> $TS_ERRLOG
+ echo "(by device) cannot find $DEVICE in /proc/mounts" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "umount-by-devname"
-$PYTHON $TESTPROG --umount $DEVICE >> $TS_OUTPUT 2>> $TS_ERRLOG
+$PYTHON $TESTPROG --umount $DEVICE >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_is_mounted "$DEVICE" &&
- echo "umount (device) failed: found $DEVICE in /proc/mounts" >> $TS_OUTPUT 2>> $TS_ERRLOG
+ echo "umount (device) failed: found $DEVICE in /proc/mounts" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "mount-uhelper"
mkdir -p $MOUNTPOINT &> /dev/null
-$PYTHON $TESTPROG --mount -o uhelper=foo,rw LABEL="$LABEL" $MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
+$PYTHON $TESTPROG --mount -o uhelper=foo,rw LABEL="$LABEL" $MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
grep -q "SRC=$DEVICE\b" "$LIBMOUNT_UTAB" || \
- echo "(by label) cannot find $DEVICE in $LIBMOUNT_UTAB" >> $TS_OUTPUT 2>> $TS_ERRLOG
+ echo "(by label) cannot find $DEVICE in $LIBMOUNT_UTAB" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "umount"
-$PYTHON $TESTPROG --umount $MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
+$PYTHON $TESTPROG --umount $MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
grep -q "SRC=$DEVICE\b" "$LIBMOUNT_UTAB" && \
- echo "umount (mountpoint) failed: found $DEVICE in $LIBMOUNT_UTAB" >> $TS_OUTPUT 2>> $TS_ERRLOG
+ echo "umount (mountpoint) failed: found $DEVICE in $LIBMOUNT_UTAB" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "mount-uhelper-subvol"
mkdir -p $MOUNTPOINT &> /dev/null
- $PYTHON $TESTPROG --mount -o uhelper=foo,rw,subvol=sub $DEVICE $MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
+ $PYTHON $TESTPROG --mount -o uhelper=foo,rw,subvol=sub $DEVICE $MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
grep -q "SRC=$DEVICE\b" "$LIBMOUNT_UTAB" || \
- echo "cannot find $DEVICE in $LIBMOUNT_UTAB" >> $TS_OUTPUT 2>> $TS_ERRLOG
+ echo "cannot find $DEVICE in $LIBMOUNT_UTAB" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
# Don't temporary write btrfs mount options to the test output,
# subvol= and subvolid=).
#
#ts_log "All mount options (btrfs subvolume + utab) ---"
- #$TS_CMD_FINDMNT --mtab $MOUNTPOINT -o OPTIONS -n >> $TS_OUTPUT 2>> $TS_ERRLOG
+ #$TS_CMD_FINDMNT --mtab $MOUNTPOINT -o OPTIONS -n >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
#ts_log "---"
ts_init_subtest "umount-subvol"
- $PYTHON $TESTPROG --umount $MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
+ $PYTHON $TESTPROG --umount $MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
grep -q $DEVICE $LIBMOUNT_UTAB && \
- echo "umount (mountpoint) failed: found $DEVICE in $LIBMOUNT_UTAB" >> $TS_OUTPUT 2>> $TS_ERRLOG
+ echo "umount (mountpoint) failed: found $DEVICE in $LIBMOUNT_UTAB" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
fi
# CACHE | LOCKS
ts_init_subtest "set-from-code"
-ts_run $TESTPROG 20 2>&1 | grep -o '0x.*' &> $TS_OUTPUT
+ts_run $TESTPROG 20 2>&1 | grep -o '0x.*' &> "$TS_OUTPUT"
ts_finalize_subtest
# CACHE | LOCKS
ts_init_subtest "set-from-env-str"
-LIBMOUNT_DEBUG=cache,locks ts_run $TESTPROG 2>&1 | grep -o '0x.*' &> $TS_OUTPUT
+LIBMOUNT_DEBUG=cache,locks ts_run $TESTPROG 2>&1 | grep -o '0x.*' &> "$TS_OUTPUT"
ts_finalize_subtest
# CACHE | LOCKS
ts_init_subtest "set-from-env-int"
-LIBMOUNT_DEBUG=20 ts_run $TESTPROG 2>&1 | grep -o '0x.*' &> $TS_OUTPUT
+LIBMOUNT_DEBUG=20 ts_run $TESTPROG 2>&1 | grep -o '0x.*' &> "$TS_OUTPUT"
ts_finalize_subtest
ts_finalize
NPROCESSES=50
-> $TS_OUTPUT.debug
-echo 0 > $TS_OUTPUT
+> "$TS_OUTPUT".debug
+echo 0 > "$TS_OUTPUT"
SYNCTIME=$(( $(date +%s) + 5 ))
for id in $(seq 0 $(( $NPROCESSES - 1 ))); do
- ts_run $TESTPROG --lock --synctime $SYNCTIME $TS_OUTPUT $NLOOPS >> $TS_OUTPUT.debug 2>&1 &
+ ts_run $TESTPROG --lock --synctime $SYNCTIME "$TS_OUTPUT" $NLOOPS >> "$TS_OUTPUT".debug 2>&1 &
done
wait
ts_init_subtest "file"
[ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
-$TS_CMD_MOUNT "$BACKFILE" "$TS_MOUNTPOINT" >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_UMOUNT "$TS_MOUNTPOINT" >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNT "$BACKFILE" "$TS_MOUNTPOINT" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_UMOUNT "$TS_MOUNTPOINT" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
udevadm settle
ts_log "Success"
ts_finalize_subtest
ts_init_subtest "file-o-loop"
[ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
-$TS_CMD_MOUNT -oloop "$BACKFILE" "$TS_MOUNTPOINT" >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_UMOUNT "$TS_MOUNTPOINT" >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNT -oloop "$BACKFILE" "$TS_MOUNTPOINT" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_UMOUNT "$TS_MOUNTPOINT" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
udevadm settle
ts_log "Success"
ts_finalize_subtest
ts_init_subtest "dev-loop"
[ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
-LODEV=$( $TS_CMD_LOSETUP --find --nooverlap --show $BACKFILE 2>> $TS_OUTPUT )
-$TS_CMD_MOUNT $LODEV "$TS_MOUNTPOINT" >> $TS_OUTPUT 2>> $TS_ERRLOG
-verify_mount_dev "$LODEV" "$TS_MOUNTPOINT" >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_UMOUNT "$TS_MOUNTPOINT" >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_LOSETUP --detach $LODEV >> $TS_OUTPUT 2>> $TS_ERRLOG
+LODEV=$( $TS_CMD_LOSETUP --find --nooverlap --show $BACKFILE 2>> "$TS_OUTPUT" )
+$TS_CMD_MOUNT $LODEV "$TS_MOUNTPOINT" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+verify_mount_dev "$LODEV" "$TS_MOUNTPOINT" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_UMOUNT "$TS_MOUNTPOINT" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_LOSETUP --detach $LODEV >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
udevadm settle
ts_log "Success"
ts_finalize_subtest
ts_skip_subtest "no-reentrant"
else
[ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
- LODEV=$( $TS_CMD_LOSETUP --find 2>> $TS_OUTPUT )
- $TS_CMD_MOUNT -oloop=$LODEV "$BACKFILE" "$TS_MOUNTPOINT" >> $TS_OUTPUT 2>> $TS_ERRLOG
- verify_mount_dev "$LODEV" "$TS_MOUNTPOINT" >> $TS_OUTPUT 2>> $TS_ERRLOG
- $TS_CMD_UMOUNT "$TS_MOUNTPOINT" >> $TS_OUTPUT 2>> $TS_ERRLOG
+ LODEV=$( $TS_CMD_LOSETUP --find 2>> "$TS_OUTPUT" )
+ $TS_CMD_MOUNT -oloop=$LODEV "$BACKFILE" "$TS_MOUNTPOINT" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+ verify_mount_dev "$LODEV" "$TS_MOUNTPOINT" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+ $TS_CMD_UMOUNT "$TS_MOUNTPOINT" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
udevadm settle
ts_log "Success"
ts_finalize_subtest
ts_init_subtest "reuse"
[ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
-LODEV=$( $TS_CMD_LOSETUP --find --nooverlap --show "$BACKFILE" 2>> $TS_OUTPUT )
-$TS_CMD_MOUNT "$BACKFILE" "$TS_MOUNTPOINT" >> $TS_OUTPUT 2>> $TS_ERRLOG
-verify_mount_dev "$LODEV" "$TS_MOUNTPOINT" >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_UMOUNT "$TS_MOUNTPOINT" >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_LOSETUP --detach $LODEV >> $TS_OUTPUT 2>> $TS_ERRLOG
+LODEV=$( $TS_CMD_LOSETUP --find --nooverlap --show "$BACKFILE" 2>> "$TS_OUTPUT" )
+$TS_CMD_MOUNT "$BACKFILE" "$TS_MOUNTPOINT" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+verify_mount_dev "$LODEV" "$TS_MOUNTPOINT" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_UMOUNT "$TS_MOUNTPOINT" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_LOSETUP --detach $LODEV >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
udevadm settle
ts_log "Success"
ts_finalize_subtest
ts_init_subtest "conflict"
[ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
-LODEV=$( $TS_CMD_LOSETUP --find --nooverlap --show --offset=1000 "$BACKFILE" 2>> $TS_OUTPUT )
+LODEV=$( $TS_CMD_LOSETUP --find --nooverlap --show --offset=1000 "$BACKFILE" 2>> "$TS_OUTPUT" )
$TS_CMD_MOUNT "$BACKFILE" "$TS_MOUNTPOINT" 2>&1 \
- | sed 's/:.*:/: <target>/; s/for .*/for <source>/' > $TS_OUTPUT
-$TS_CMD_LOSETUP --detach $LODEV >> $TS_OUTPUT 2>> $TS_ERRLOG
+ | sed 's/:.*:/: <target>/; s/for .*/for <source>/' > "$TS_OUTPUT"
+$TS_CMD_LOSETUP --detach $LODEV >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
udevadm settle
ts_log "Success"
ts_finalize_subtest
ts_init_subtest "o-loop-val-initialized"
[ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
-LODEV=$( $TS_CMD_LOSETUP --show -f "$BACKFILE" 2>>$TS_OUTPUT)
+LODEV=$( $TS_CMD_LOSETUP --show -f "$BACKFILE" 2>>"$TS_OUTPUT")
$TS_CMD_MOUNT -oloop=$LODEV "$BACKFILE" "$TS_MOUNTPOINT" 2>&1 \
- | sed 's/:.*:/: <target>/; s/for .*/for <source>/' > $TS_OUTPUT
-$TS_CMD_LOSETUP --detach $LODEV >> $TS_OUTPUT 2>> $TS_ERRLOG
+ | sed 's/:.*:/: <target>/; s/for .*/for <source>/' > "$TS_OUTPUT"
+$TS_CMD_LOSETUP --detach $LODEV >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
udevadm settle
ts_log "Success"
ts_finalize_subtest
ts_init_subtest "o-loop-val-conflict"
[ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
cp "$BACKFILE" "$BACKFILE"-2
-LODEV=$( $TS_CMD_LOSETUP --show -f "$BACKFILE"-2 2>> $TS_OUTPUT)
+LODEV=$( $TS_CMD_LOSETUP --show -f "$BACKFILE"-2 2>> "$TS_OUTPUT")
$TS_CMD_MOUNT -oloop=$LODEV "$BACKFILE" "$TS_MOUNTPOINT" 2>&1 \
- | sed 's/:.*:/: <target>/; s/for .*/for <source>/' > $TS_OUTPUT
-$TS_CMD_LOSETUP --detach $LODEV >> $TS_OUTPUT 2>> $TS_ERRLOG
+ | sed 's/:.*:/: <target>/; s/for .*/for <source>/' > "$TS_OUTPUT"
+$TS_CMD_LOSETUP --detach $LODEV >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
rm "$BACKFILE"-2
udevadm settle
ts_log "Success"
ts_init_subtest "explicit-rw"
[ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
-$TS_CMD_MOUNT -o rw "$BACKFILE" "$TS_MOUNTPOINT" >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNT -o rw "$BACKFILE" "$TS_MOUNTPOINT" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
FINDMNT_RES=$( $TS_CMD_FINDMNT -Q 'OPTIONS =~ "[,]?rw[,]?"' -no OPTIONS --mountpoint "$TS_MOUNTPOINT" )
[ -n "$FINDMNT_RES" ] || ts_log "$TS_MOUNTPOINT not mounted as read-write"
-$TS_CMD_UMOUNT "$TS_MOUNTPOINT" >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_UMOUNT "$TS_MOUNTPOINT" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
udevadm settle
ts_log "Success"
ts_finalize_subtest
[ -d "$TS_MOUNTPOINT-1" ] || mkdir -p $TS_MOUNTPOINT-1
[ -d "$TS_MOUNTPOINT-2" ] || mkdir -p $TS_MOUNTPOINT-2
-echo "second should fail" >>$TS_OUTPUT
-$TS_CMD_MOUNT -oloop "$IMG" "$TS_MOUNTPOINT-1" >> $TS_OUTPUT 2>> $TS_ERRLOG
+echo "second should fail" >>"$TS_OUTPUT"
+$TS_CMD_MOUNT -oloop "$IMG" "$TS_MOUNTPOINT-1" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
$TS_CMD_MOUNT -oloop,offset=$OFFSET "$IMG" "$TS_MOUNTPOINT-2" 2>&1 \
- | sed 's/:.*:/: <target>/; s/for .*/for <source>/' >> $TS_OUTPUT
-$TS_CMD_UMOUNT "$TS_MOUNTPOINT-1" >> $TS_OUTPUT 2>> $TS_ERRLOG
+ | sed 's/:.*:/: <target>/; s/for .*/for <source>/' >> "$TS_OUTPUT"
+$TS_CMD_UMOUNT "$TS_MOUNTPOINT-1" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
-echo "should succeed" >>$TS_OUTPUT
-$TS_CMD_MOUNT -oloop,sizelimit=$OFFSET "$IMG" "$TS_MOUNTPOINT-1" >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_MOUNT -oloop,offset=$OFFSET "$IMG" "$TS_MOUNTPOINT-2" >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_UMOUNT "$TS_MOUNTPOINT-1" >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_UMOUNT "$TS_MOUNTPOINT-2" >> $TS_OUTPUT 2>> $TS_ERRLOG
+echo "should succeed" >>"$TS_OUTPUT"
+$TS_CMD_MOUNT -oloop,sizelimit=$OFFSET "$IMG" "$TS_MOUNTPOINT-1" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_MOUNT -oloop,offset=$OFFSET "$IMG" "$TS_MOUNTPOINT-2" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_UMOUNT "$TS_MOUNTPOINT-1" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_UMOUNT "$TS_MOUNTPOINT-2" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
-echo "both should fail" >>$TS_OUTPUT
+echo "both should fail" >>"$TS_OUTPUT"
LOOPDEV=$($TS_CMD_LOSETUP --show -f --offset 1 --sizelimit $OFFSET "$IMG")
$TS_CMD_MOUNT -oloop,sizelimit=$OFFSET "$IMG" "$TS_MOUNTPOINT-1" 2>&1 \
- | sed 's/:.*:/: <target>/; s/for .*/for <source>/' >> $TS_OUTPUT
+ | sed 's/:.*:/: <target>/; s/for .*/for <source>/' >> "$TS_OUTPUT"
$TS_CMD_MOUNT -oloop,offset=$OFFSET "$IMG" "$TS_MOUNTPOINT-2" 2>&1 \
- | sed 's/:.*:/: <target>/; s/for .*/for <source>/' >> $TS_OUTPUT
+ | sed 's/:.*:/: <target>/; s/for .*/for <source>/' >> "$TS_OUTPUT"
$TS_CMD_LOSETUP --detach $LOOPDEV
ts_log "Success"
TESTPROG="$TS_HELPER_LIBMOUNT_OPTLIST"
ts_init_subtest "append"
-ts_run $TESTPROG --append-str "aaa,bbb=BBB,context=\"foo,bar,gogo\",ccc" "ddd" &> $TS_OUTPUT
+ts_run $TESTPROG --append-str "aaa,bbb=BBB,context=\"foo,bar,gogo\",ccc" "ddd" &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "append-value"
-ts_run $TESTPROG --append-str "aaa,bbb=BBB,ccc" "ddd=DDD" &> $TS_OUTPUT
+ts_run $TESTPROG --append-str "aaa,bbb=BBB,ccc" "ddd=DDD" &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "append-empty-value"
-ts_run $TESTPROG --append-str "aaa,bbb=BBB,ccc" "ddd=" &> $TS_OUTPUT
+ts_run $TESTPROG --append-str "aaa,bbb=BBB,ccc" "ddd=" &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "prepend"
-ts_run $TESTPROG --prepend-str "aaa,bbb=BBB,ccc" "ddd" &> $TS_OUTPUT
+ts_run $TESTPROG --prepend-str "aaa,bbb=BBB,ccc" "ddd" &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "prepend-list"
-ts_run $TESTPROG --prepend-str "aaa,bbb=BBB,ccc" "ddd,eee=EEE,fff" &> $TS_OUTPUT
+ts_run $TESTPROG --prepend-str "aaa,bbb=BBB,ccc" "ddd,eee=EEE,fff" &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "prepend-value"
-ts_run $TESTPROG --prepend-str "aaa,bbb=BBB,ccc" "ddd=DDD" &> $TS_OUTPUT
+ts_run $TESTPROG --prepend-str "aaa,bbb=BBB,ccc" "ddd=DDD" &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "prepend-empty-value"
-ts_run $TESTPROG --prepend-str "aaa,bbb=BBB,ccc" "ddd=" &> $TS_OUTPUT
+ts_run $TESTPROG --prepend-str "aaa,bbb=BBB,ccc" "ddd=" &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "set"
-ts_run $TESTPROG --set-str "aaa,bbb=BBB,ccc" "new,data,for,list" &> $TS_OUTPUT
+ts_run $TESTPROG --set-str "aaa,bbb=BBB,ccc" "new,data,for,list" &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "get-str"
-ts_run $TESTPROG --get-str "aaa,bbb=BBB,ccc,defaults" &> $TS_OUTPUT
+ts_run $TESTPROG --get-str "aaa,bbb=BBB,ccc,defaults" &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "get-str-linux"
-ts_run $TESTPROG --get-str "noexec,noauto,user,defaults" linux &> $TS_OUTPUT
+ts_run $TESTPROG --get-str "noexec,noauto,user,defaults" linux &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "get-str-user"
-ts_run $TESTPROG --get-str "noexec,noauto,user,defaults" user &> $TS_OUTPUT
+ts_run $TESTPROG --get-str "noexec,noauto,user,defaults" user &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "get-flg-linux"
-ts_run $TESTPROG --get-flg "noexec,noauto,user,defaults" linux &> $TS_OUTPUT
+ts_run $TESTPROG --get-flg "noexec,noauto,user,defaults" linux &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "get-flg-user"
-ts_run $TESTPROG --get-flg "noexec,noauto,user,defaults" user &> $TS_OUTPUT
+ts_run $TESTPROG --get-flg "noexec,noauto,user,defaults" user &> "$TS_OUTPUT"
ts_finalize_subtest
ts_finalize
TESTPROG="$TS_HELPER_LIBMOUNT_OPTSTR"
ts_init_subtest "append"
-ts_run $TESTPROG --append "aaa,bbb=BBB,context=\"foo,bar,gogo\",ccc" "ddd" &> $TS_OUTPUT
+ts_run $TESTPROG --append "aaa,bbb=BBB,context=\"foo,bar,gogo\",ccc" "ddd" &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "append-value"
-ts_run $TESTPROG --append "aaa,bbb=BBB,ccc" "ddd" "DDD" &> $TS_OUTPUT
+ts_run $TESTPROG --append "aaa,bbb=BBB,ccc" "ddd" "DDD" &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "append-empty-value"
-ts_run $TESTPROG --append "aaa,bbb=BBB,ccc" "ddd" "" &> $TS_OUTPUT
+ts_run $TESTPROG --append "aaa,bbb=BBB,ccc" "ddd" "" &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "prepend"
-ts_run $TESTPROG --prepend "aaa,bbb=BBB,ccc" "ddd" &> $TS_OUTPUT
+ts_run $TESTPROG --prepend "aaa,bbb=BBB,ccc" "ddd" &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "prepend-list"
-ts_run $TESTPROG --prepend "aaa,bbb=BBB,ccc" "ddd,eee=EEE,fff" &> $TS_OUTPUT
+ts_run $TESTPROG --prepend "aaa,bbb=BBB,ccc" "ddd,eee=EEE,fff" &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "prepend-value"
-ts_run $TESTPROG --prepend "aaa,bbb=BBB,ccc" "ddd" "DDD" &> $TS_OUTPUT
+ts_run $TESTPROG --prepend "aaa,bbb=BBB,ccc" "ddd" "DDD" &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "prepend-empty-value"
-ts_run $TESTPROG --prepend "aaa,bbb=BBB,ccc" "ddd" "" &> $TS_OUTPUT
+ts_run $TESTPROG --prepend "aaa,bbb=BBB,ccc" "ddd" "" &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "set-remove"
-ts_run $TESTPROG --set "aaa,bbb=BBB,ccc" "bbb" &> $TS_OUTPUT
+ts_run $TESTPROG --set "aaa,bbb=BBB,ccc" "bbb" &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "set-small"
-ts_run $TESTPROG --set "aaa,bbb=BBB,ccc" "bbb" "X" &> $TS_OUTPUT
+ts_run $TESTPROG --set "aaa,bbb=BBB,ccc" "bbb" "X" &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "set-large"
-ts_run $TESTPROG --set "aaa,bbb=BBB,ccc" "bbb" "XXX-YYY-ZZZ" &> $TS_OUTPUT
+ts_run $TESTPROG --set "aaa,bbb=BBB,ccc" "bbb" "XXX-YYY-ZZZ" &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "set-empty"
-ts_run $TESTPROG --set "aaa,bbb=BBB,ccc" "bbb" "" &> $TS_OUTPUT
+ts_run $TESTPROG --set "aaa,bbb=BBB,ccc" "bbb" "" &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "set-new"
-ts_run $TESTPROG --set "aaa,bbb=BBB,ccc" "aaa" "XXX" &> $TS_OUTPUT
+ts_run $TESTPROG --set "aaa,bbb=BBB,ccc" "aaa" "XXX" &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "set-new-empty"
-ts_run $TESTPROG --set "aaa,bbb=BBB,ccc" "aaa" "" &> $TS_OUTPUT
+ts_run $TESTPROG --set "aaa,bbb=BBB,ccc" "aaa" "" &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "set-new-end"
-ts_run $TESTPROG --set "aaa,bbb=BBB,ccc" "ccc" "XXX" &> $TS_OUTPUT
+ts_run $TESTPROG --set "aaa,bbb=BBB,ccc" "ccc" "XXX" &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "set-new-end-empty"
-ts_run $TESTPROG --set "aaa,bbb=BBB,ccc" "ccc" "" &> $TS_OUTPUT
+ts_run $TESTPROG --set "aaa,bbb=BBB,ccc" "ccc" "" &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "get"
-ts_run $TESTPROG --get "aaa,bbb=BBB,ccc" "aaa" &> $TS_OUTPUT
+ts_run $TESTPROG --get "aaa,bbb=BBB,ccc" "aaa" &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "get-value"
-ts_run $TESTPROG --get "aaa,bbb=BBB,ccc" "bbb" &> $TS_OUTPUT
+ts_run $TESTPROG --get "aaa,bbb=BBB,ccc" "bbb" &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "remove"
-ts_run $TESTPROG --remove "aaa,bbb=BBB,ccc" "aaa" &> $TS_OUTPUT
+ts_run $TESTPROG --remove "aaa,bbb=BBB,ccc" "aaa" &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "remove-quoted"
-ts_run $TESTPROG --remove "aaa,context=\"foo,bar,gogo\",bbb=BBB,ccc" "context" &> $TS_OUTPUT
+ts_run $TESTPROG --remove "aaa,context=\"foo,bar,gogo\",bbb=BBB,ccc" "context" &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "remove-value"
-ts_run $TESTPROG --remove "aaa,bbb=BBB,ccc" "bbb" &> $TS_OUTPUT
+ts_run $TESTPROG --remove "aaa,bbb=BBB,ccc" "bbb" &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "remove-empty-value"
-ts_run $TESTPROG --remove "aaa,bbb=,ccc" "bbb" &> $TS_OUTPUT
+ts_run $TESTPROG --remove "aaa,bbb=,ccc" "bbb" &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "split"
-ts_run $TESTPROG --split "aaa,bbb=BBB,ccc,x-bar,x-foo=foodata,user=kzak,noexec,nosuid,loop=/dev/loop0" &> $TS_OUTPUT
+ts_run $TESTPROG --split "aaa,bbb=BBB,ccc,x-bar,x-foo=foodata,user=kzak,noexec,nosuid,loop=/dev/loop0" &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "flags"
-ts_run $TESTPROG --flags "aaa,bbb=BBB,x-foo,ccc,user=kzak,nodev,noexec,nosuid,loop=/dev/loop0" &> $TS_OUTPUT
+ts_run $TESTPROG --flags "aaa,bbb=BBB,x-foo,ccc,user=kzak,nodev,noexec,nosuid,loop=/dev/loop0" &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "apply-linux"
# Use kernel mount options man (--linux), add noatime, remove noexec and nosuid,
# and keep unknown(e.g. user=kzak)
-ts_run $TESTPROG --apply --linux "user=kzak,noexec,nosuid" 0x400 &> $TS_OUTPUT
+ts_run $TESTPROG --apply --linux "user=kzak,noexec,nosuid" 0x400 &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "apply-user"
# Use userspace options map (--user), add user and nofail, remove loop,
# and keep unknown (e.g. noexec, nosuid)
-ts_run $TESTPROG --apply --user "noexec,nosuid,loop=/dev/looop0" 0x408 &> $TS_OUTPUT
+ts_run $TESTPROG --apply --user "noexec,nosuid,loop=/dev/looop0" 0x408 &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "apply-user-small-x"
# Use userspace options map (--user), remove X-* and loop=, keep unknown 'something' and
# keep by flags specified x-*
ts_run $TESTPROG --apply --user \
- "something,loop=/dev/looop0,x-gvfs-hide,x-gdu.hide,x-canary,X-foo" 0x00002000 &> $TS_OUTPUT
+ "something,loop=/dev/looop0,x-gvfs-hide,x-gdu.hide,x-canary,X-foo" 0x00002000 &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "apply-user-large-X"
# Use userspace options map (--user), remove x-* and loop=, keep unknown 'something' and
# keep by flags specified X-*
ts_run $TESTPROG --apply --user \
- "something,loop=/dev/looop0,x-gvfs-hide,x-gdu.hide,x-canary,X-foo,X-bar" 0x00020000 &> $TS_OUTPUT
+ "something,loop=/dev/looop0,x-gvfs-hide,x-gdu.hide,x-canary,X-foo,X-bar" 0x00020000 &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "apply-user-Xx"
# Use userspace options map (--user), remove loop=, keep unknown 'something' and
# keep by flags specified X-* and x-*, add by flag specified nofail
ts_run $TESTPROG --apply --user \
- "something,loop=/dev/looop0,x-gvfs-hide,x-gdu.hide,x-canary,X-foo,X-bar" 0x00022400 &> $TS_OUTPUT
+ "something,loop=/dev/looop0,x-gvfs-hide,x-gdu.hide,x-canary,X-foo,X-bar" 0x00022400 &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "deduplicate"
-ts_run $TESTPROG --dedup bbb,ccc,AAA,xxx,AAA=a,AAA=bbb,ddd,AAA=ccc,fff=eee AAA &> $TS_OUTPUT
+ts_run $TESTPROG --dedup bbb,ccc,AAA,xxx,AAA=a,AAA=bbb,ddd,AAA=ccc,fff=eee AAA &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "deduplicate-empty"
-ts_run $TESTPROG --dedup bbb,ccc,AAA,xxx,AAA=a,AAA=bbb,ddd,AAA=,fff=eee AAA &> $TS_OUTPUT
+ts_run $TESTPROG --dedup bbb,ccc,AAA,xxx,AAA=a,AAA=bbb,ddd,AAA=,fff=eee AAA &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "match"
-ts_run $TESTPROG --match "xxx,yyy,zzz" "nozzz" &>> $TS_OUTPUT
-ts_run $TESTPROG --match "xxx,yyy,zzz" "xxx,noeee" &>> $TS_OUTPUT
-ts_run $TESTPROG --match "bar,zzz" "nofoo" &>> $TS_OUTPUT
-ts_run $TESTPROG --match "nofoo,bar" "nofoo" &>> $TS_OUTPUT
-ts_run $TESTPROG --match "nofoo,bar" "+nofoo" &>> $TS_OUTPUT
-ts_run $TESTPROG --match "bar,zzz" "+nofoo" &>> $TS_OUTPUT
-ts_run $TESTPROG --match "bar,zzz" "" &>> $TS_OUTPUT
-ts_run $TESTPROG --match "bar,zzz" "+" &>> $TS_OUTPUT
-ts_run $TESTPROG --match "" "" &>> $TS_OUTPUT
-ts_run $TESTPROG --match "" "foo" &>> $TS_OUTPUT
-ts_run $TESTPROG --match "" "nofoo" &>> $TS_OUTPUT
-ts_run $TESTPROG --match "" "no,foo" &>> $TS_OUTPUT
-ts_run $TESTPROG --match "no" "+no" &>> $TS_OUTPUT
+ts_run $TESTPROG --match "xxx,yyy,zzz" "nozzz" &>> "$TS_OUTPUT"
+ts_run $TESTPROG --match "xxx,yyy,zzz" "xxx,noeee" &>> "$TS_OUTPUT"
+ts_run $TESTPROG --match "bar,zzz" "nofoo" &>> "$TS_OUTPUT"
+ts_run $TESTPROG --match "nofoo,bar" "nofoo" &>> "$TS_OUTPUT"
+ts_run $TESTPROG --match "nofoo,bar" "+nofoo" &>> "$TS_OUTPUT"
+ts_run $TESTPROG --match "bar,zzz" "+nofoo" &>> "$TS_OUTPUT"
+ts_run $TESTPROG --match "bar,zzz" "" &>> "$TS_OUTPUT"
+ts_run $TESTPROG --match "bar,zzz" "+" &>> "$TS_OUTPUT"
+ts_run $TESTPROG --match "" "" &>> "$TS_OUTPUT"
+ts_run $TESTPROG --match "" "foo" &>> "$TS_OUTPUT"
+ts_run $TESTPROG --match "" "nofoo" &>> "$TS_OUTPUT"
+ts_run $TESTPROG --match "" "no,foo" &>> "$TS_OUTPUT"
+ts_run $TESTPROG --match "no" "+no" &>> "$TS_OUTPUT"
ts_finalize_subtest
ts_finalize
[ -x $TESTPROG ] || ts_skip "test not compiled"
ts_init_subtest "mount"
-ts_run $TESTPROG --diff $TS_SELF/files/mountinfo_u $TS_SELF/files/mountinfo &> $TS_OUTPUT
+ts_run $TESTPROG --diff $TS_SELF/files/mountinfo_u $TS_SELF/files/mountinfo &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "umount"
-ts_run $TESTPROG --diff $TS_SELF/files/mountinfo $TS_SELF/files/mountinfo_u &> $TS_OUTPUT
+ts_run $TESTPROG --diff $TS_SELF/files/mountinfo $TS_SELF/files/mountinfo_u &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "remount"
-ts_run $TESTPROG --diff $TS_SELF/files/mountinfo $TS_SELF/files/mountinfo_re &> $TS_OUTPUT
+ts_run $TESTPROG --diff $TS_SELF/files/mountinfo $TS_SELF/files/mountinfo_re &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "move"
-ts_run $TESTPROG --diff $TS_SELF/files/mountinfo $TS_SELF/files/mountinfo_mv &> $TS_OUTPUT
+ts_run $TESTPROG --diff $TS_SELF/files/mountinfo $TS_SELF/files/mountinfo_mv &> "$TS_OUTPUT"
ts_finalize_subtest
ts_finalize
[ -x $TESTPROG ] || ts_skip "test not compiled"
ts_init_subtest "parse-fstab"
-ts_run $TESTPROG --parse "$TS_SELF/files/fstab" &> $TS_OUTPUT
-sed -i -e 's/fs: 0x.*/fs:/g' $TS_OUTPUT
+ts_run $TESTPROG --parse "$TS_SELF/files/fstab" &> "$TS_OUTPUT"
+sed -i -e 's/fs: 0x.*/fs:/g' "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "parse-fstab-full"
-ts_run $TESTPROG --parse "$TS_SELF/files/fstab.comment" --comments &> $TS_OUTPUT
-sed -i -e 's/fs: 0x.*/fs:/g' $TS_OUTPUT
+ts_run $TESTPROG --parse "$TS_SELF/files/fstab.comment" --comments &> "$TS_OUTPUT"
+sed -i -e 's/fs: 0x.*/fs:/g' "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "parse-mtab"
-ts_run $TESTPROG --parse "$TS_SELF/files/mtab" &> $TS_OUTPUT
-sed -i -e 's/fs: 0x.*/fs:/g' $TS_OUTPUT
+ts_run $TESTPROG --parse "$TS_SELF/files/mtab" &> "$TS_OUTPUT"
+sed -i -e 's/fs: 0x.*/fs:/g' "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "parse-fstab-broken"
-ts_run $TESTPROG --parse "$TS_SELF/files/fstab.broken" &> $TS_OUTPUT
-sed -i -e 's/.*fstab.broken:[[:digit:]]*: parse error//g; s/fs: 0x.*/fs:/g' $TS_OUTPUT
+ts_run $TESTPROG --parse "$TS_SELF/files/fstab.broken" &> "$TS_OUTPUT"
+sed -i -e 's/.*fstab.broken:[[:digit:]]*: parse error//g; s/fs: 0x.*/fs:/g' "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "parse-mountinfo"
-ts_run $TESTPROG --parse "$TS_SELF/files/mountinfo" &> $TS_OUTPUT
-sed -i -e 's/fs: 0x.*/fs:/g' $TS_OUTPUT
+ts_run $TESTPROG --parse "$TS_SELF/files/mountinfo" &> "$TS_OUTPUT"
+sed -i -e 's/fs: 0x.*/fs:/g' "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "parse-mountinfo-nosrc"
-ts_run $TESTPROG --parse "$TS_SELF/files/mountinfo_nosrc" &> $TS_OUTPUT
-sed -i -e 's/fs: 0x.*/fs:/g' $TS_OUTPUT
+ts_run $TESTPROG --parse "$TS_SELF/files/mountinfo_nosrc" &> "$TS_OUTPUT"
+sed -i -e 's/fs: 0x.*/fs:/g' "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "parse-swaps"
-ts_run $TESTPROG --parse "$TS_SELF/files/swaps" &> $TS_OUTPUT
-sed -i -e 's/fs: 0x.*/fs:/g' $TS_OUTPUT
+ts_run $TESTPROG --parse "$TS_SELF/files/swaps" &> "$TS_OUTPUT"
+sed -i -e 's/fs: 0x.*/fs:/g' "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "copy"
-ts_run $TESTPROG --copy-fs "$TS_SELF/files/fstab" &> $TS_OUTPUT
-sed -i -e 's/fs: 0x.*/fs:/g' $TS_OUTPUT
+ts_run $TESTPROG --copy-fs "$TS_SELF/files/fstab" &> "$TS_OUTPUT"
+sed -i -e 's/fs: 0x.*/fs:/g' "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "find-source"
-ts_run $TESTPROG --find-forward "$TS_SELF/files/fstab" source UUID=fef7ccb3-821c-4de8-88dc-71472be5946f &> $TS_OUTPUT
-sed -i -e 's/fs: 0x.*/fs:/g' $TS_OUTPUT
+ts_run $TESTPROG --find-forward "$TS_SELF/files/fstab" source UUID=fef7ccb3-821c-4de8-88dc-71472be5946f &> "$TS_OUTPUT"
+sed -i -e 's/fs: 0x.*/fs:/g' "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "find-target"
-ts_run $TESTPROG --find-forward "$TS_SELF/files/fstab" target /home/foo &> $TS_OUTPUT
-sed -i -e 's/fs: 0x.*/fs:/g' $TS_OUTPUT
+ts_run $TESTPROG --find-forward "$TS_SELF/files/fstab" target /home/foo &> "$TS_OUTPUT"
+sed -i -e 's/fs: 0x.*/fs:/g' "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "find-target2"
-ts_run $TESTPROG --find-forward "$TS_SELF/files/fstab" target /any/foo &> $TS_OUTPUT
-sed -i -e 's/fs: 0x.*/fs:/g' $TS_OUTPUT
+ts_run $TESTPROG --find-forward "$TS_SELF/files/fstab" target /any/foo &> "$TS_OUTPUT"
+sed -i -e 's/fs: 0x.*/fs:/g' "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "find-target3"
-ts_run $TESTPROG --find-forward "$TS_SELF/files/fstab" target /any/foo/ &> $TS_OUTPUT
-sed -i -e 's/fs: 0x.*/fs:/g' $TS_OUTPUT
+ts_run $TESTPROG --find-forward "$TS_SELF/files/fstab" target /any/foo/ &> "$TS_OUTPUT"
+sed -i -e 's/fs: 0x.*/fs:/g' "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "find-pair"
-ts_run $TESTPROG --find-pair "$TS_SELF/files/mtab" /dev/mapper/kzak-home /home/kzak &> $TS_OUTPUT
-sed -i -e 's/fs: 0x.*/fs:/g' $TS_OUTPUT
+ts_run $TESTPROG --find-pair "$TS_SELF/files/mtab" /dev/mapper/kzak-home /home/kzak &> "$TS_OUTPUT"
+sed -i -e 's/fs: 0x.*/fs:/g' "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "find-fs"
-ts_run $TESTPROG --find-fs "$TS_SELF/files/mountinfo" /home/kzak &> $TS_OUTPUT
-sed -i -e 's/fs: 0x.*/fs:/g' $TS_OUTPUT
+ts_run $TESTPROG --find-fs "$TS_SELF/files/mountinfo" /home/kzak &> "$TS_OUTPUT"
+sed -i -e 's/fs: 0x.*/fs:/g' "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "is-mounted-btrfs"
-ts_run $TESTPROG --is-mounted "$TS_SELF/files/fstab_btrfs" "$TS_SELF/files/mountinfo_btrfs" &> $TS_OUTPUT
+ts_run $TESTPROG --is-mounted "$TS_SELF/files/fstab_btrfs" "$TS_SELF/files/mountinfo_btrfs" &> "$TS_OUTPUT"
ts_finalize_subtest
ts_finalize
[ -x $TESTPROG ] || ts_die "test script missing"
ts_init_subtest "parse-fstab"
-$PYTHON $TESTPROG --parse "$TS_SELF/files/fstab" &> $TS_OUTPUT
-sed -i -e 's/fs: 0x.*/fs:/g' $TS_OUTPUT
+$PYTHON $TESTPROG --parse "$TS_SELF/files/fstab" &> "$TS_OUTPUT"
+sed -i -e 's/fs: 0x.*/fs:/g' "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "parse-fstab-full"
-$PYTHON $TESTPROG --parse "$TS_SELF/files/fstab.comment" --comments &> $TS_OUTPUT
-sed -i -e 's/fs: 0x.*/fs:/g' $TS_OUTPUT
+$PYTHON $TESTPROG --parse "$TS_SELF/files/fstab.comment" --comments &> "$TS_OUTPUT"
+sed -i -e 's/fs: 0x.*/fs:/g' "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "parse-mtab"
-$PYTHON $TESTPROG --parse "$TS_SELF/files/mtab" &> $TS_OUTPUT
-sed -i -e 's/fs: 0x.*/fs:/g' $TS_OUTPUT
+$PYTHON $TESTPROG --parse "$TS_SELF/files/mtab" &> "$TS_OUTPUT"
+sed -i -e 's/fs: 0x.*/fs:/g' "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "parse-fstab-broken"
-$PYTHON $TESTPROG --parse "$TS_SELF/files/fstab.broken" &> $TS_OUTPUT
-sed -i -e 's/.*fstab.broken:[[:digit:]]*: parse error//g; s/fs: 0x.*/fs:/g' $TS_OUTPUT
+$PYTHON $TESTPROG --parse "$TS_SELF/files/fstab.broken" &> "$TS_OUTPUT"
+sed -i -e 's/.*fstab.broken:[[:digit:]]*: parse error//g; s/fs: 0x.*/fs:/g' "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "parse-mountinfo"
-$PYTHON $TESTPROG --parse "$TS_SELF/files/mountinfo" &> $TS_OUTPUT
-sed -i -e 's/fs: 0x.*/fs:/g' $TS_OUTPUT
+$PYTHON $TESTPROG --parse "$TS_SELF/files/mountinfo" &> "$TS_OUTPUT"
+sed -i -e 's/fs: 0x.*/fs:/g' "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "copy"
-$PYTHON $TESTPROG --copy-fs "$TS_SELF/files/fstab" &> $TS_OUTPUT
-sed -i -e 's/fs: 0x.*/fs:/g' $TS_OUTPUT
+$PYTHON $TESTPROG --copy-fs "$TS_SELF/files/fstab" &> "$TS_OUTPUT"
+sed -i -e 's/fs: 0x.*/fs:/g' "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "find-source"
-$PYTHON $TESTPROG --find-forward "$TS_SELF/files/fstab" source UUID=fef7ccb3-821c-4de8-88dc-71472be5946f &> $TS_OUTPUT
-sed -i -e 's/fs: 0x.*/fs:/g' $TS_OUTPUT
+$PYTHON $TESTPROG --find-forward "$TS_SELF/files/fstab" source UUID=fef7ccb3-821c-4de8-88dc-71472be5946f &> "$TS_OUTPUT"
+sed -i -e 's/fs: 0x.*/fs:/g' "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "find-target"
-$PYTHON $TESTPROG --find-forward "$TS_SELF/files/fstab" target /home/foo &> $TS_OUTPUT
-sed -i -e 's/fs: 0x.*/fs:/g' $TS_OUTPUT
+$PYTHON $TESTPROG --find-forward "$TS_SELF/files/fstab" target /home/foo &> "$TS_OUTPUT"
+sed -i -e 's/fs: 0x.*/fs:/g' "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "find-target2"
-$PYTHON $TESTPROG --find-forward "$TS_SELF/files/fstab" target /any/foo &> $TS_OUTPUT
-sed -i -e 's/fs: 0x.*/fs:/g' $TS_OUTPUT
+$PYTHON $TESTPROG --find-forward "$TS_SELF/files/fstab" target /any/foo &> "$TS_OUTPUT"
+sed -i -e 's/fs: 0x.*/fs:/g' "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "find-target3"
-$PYTHON $TESTPROG --find-forward "$TS_SELF/files/fstab" target /any/foo/ &> $TS_OUTPUT
-sed -i -e 's/fs: 0x.*/fs:/g' $TS_OUTPUT
+$PYTHON $TESTPROG --find-forward "$TS_SELF/files/fstab" target /any/foo/ &> "$TS_OUTPUT"
+sed -i -e 's/fs: 0x.*/fs:/g' "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "find-pair"
-$PYTHON $TESTPROG --find-pair "$TS_SELF/files/mtab" /dev/mapper/kzak-home /home/kzak &> $TS_OUTPUT
-sed -i -e 's/fs: 0x.*/fs:/g' $TS_OUTPUT
+$PYTHON $TESTPROG --find-pair "$TS_SELF/files/mtab" /dev/mapper/kzak-home /home/kzak &> "$TS_OUTPUT"
+sed -i -e 's/fs: 0x.*/fs:/g' "$TS_OUTPUT"
ts_finalize_subtest
ts_finalize
ts_udevadm_settle "$TS_DEVICE" "LABEL" "UUID"
ts_init_subtest "fstab-label2uuid"
-ts_run $TESTPROG --find-forward $FSTAB source "UUID=$UUID" &> $TS_OUTPUT
-sed -i -e 's/fs: 0x.*/fs:/g' $TS_OUTPUT
+ts_run $TESTPROG --find-forward $FSTAB source "UUID=$UUID" &> "$TS_OUTPUT"
+sed -i -e 's/fs: 0x.*/fs:/g' "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "fstab-label2dev"
-ts_run $TESTPROG --find-forward $FSTAB source $TS_DEVICE &> $TS_OUTPUT
-sed -i -e 's/fs: 0x.*/fs:/g' $TS_OUTPUT
+ts_run $TESTPROG --find-forward $FSTAB source $TS_DEVICE &> "$TS_OUTPUT"
+sed -i -e 's/fs: 0x.*/fs:/g' "$TS_OUTPUT"
ts_finalize_subtest
#
ts_init_subtest "fstab-uuid"
# has to return /mnt/mountpoint2
-ts_run $TESTPROG --find-forward $FSTAB source "UUID=$UUID" &> $TS_OUTPUT
-sed -i -e 's/fs: 0x.*/fs:/g' $TS_OUTPUT
+ts_run $TESTPROG --find-forward $FSTAB source "UUID=$UUID" &> "$TS_OUTPUT"
+sed -i -e 's/fs: 0x.*/fs:/g' "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "fstab-label"
# has to return /mnt/mountpoint
-ts_run $TESTPROG --find-forward $FSTAB source "LABEL=$LABEL" &> $TS_OUTPUT
-sed -i -e 's/fs: 0x.*/fs:/g' $TS_OUTPUT
+ts_run $TESTPROG --find-forward $FSTAB source "LABEL=$LABEL" &> "$TS_OUTPUT"
+sed -i -e 's/fs: 0x.*/fs:/g' "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "fstab-dev2label"
# has to return /mnt/mountpoint
-ts_run $TESTPROG --find-forward $FSTAB source $TS_DEVICE &> $TS_OUTPUT
-sed -i -e 's/fs: 0x.*/fs:/g' $TS_OUTPUT
+ts_run $TESTPROG --find-forward $FSTAB source $TS_DEVICE &> "$TS_OUTPUT"
+sed -i -e 's/fs: 0x.*/fs:/g' "$TS_OUTPUT"
ts_finalize_subtest
#
ts_init_subtest "fstab-dev"
# has to return /mnt/mountpoint3
-ts_run $TESTPROG --find-forward $FSTAB source $TS_DEVICE &> $TS_OUTPUT
-sed -i -e 's/fs: 0x.*/fs:/g' $TS_OUTPUT
-sed -i -e 's/source: .*//g' $TS_OUTPUT # devname is generated, remove it
+ts_run $TESTPROG --find-forward $FSTAB source $TS_DEVICE &> "$TS_OUTPUT"
+sed -i -e 's/fs: 0x.*/fs:/g' "$TS_OUTPUT"
+sed -i -e 's/source: .*//g' "$TS_OUTPUT" # devname is generated, remove it
ts_finalize_subtest
ts_finalize
ts_udevadm_settle "$DEVICE" "LABEL" "UUID"
ts_init_subtest "fstab-label2uuid"
-$PYTHON $TESTPROG --find-forward $FSTAB source "UUID=$UUID" &> $TS_OUTPUT
-sed -i -e 's/fs: 0x.*/fs:/g' $TS_OUTPUT
+$PYTHON $TESTPROG --find-forward $FSTAB source "UUID=$UUID" &> "$TS_OUTPUT"
+sed -i -e 's/fs: 0x.*/fs:/g' "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "fstab-label2dev"
-$PYTHON $TESTPROG --find-forward $FSTAB source $TS_DEVICE &> $TS_OUTPUT
-sed -i -e 's/fs: 0x.*/fs:/g' $TS_OUTPUT
+$PYTHON $TESTPROG --find-forward $FSTAB source $TS_DEVICE &> "$TS_OUTPUT"
+sed -i -e 's/fs: 0x.*/fs:/g' "$TS_OUTPUT"
ts_finalize_subtest
#
ts_init_subtest "fstab-uuid"
# has to return /mnt/mountpoint2
-$PYTHON $TESTPROG --find-forward $FSTAB source "UUID=$UUID" &> $TS_OUTPUT
-sed -i -e 's/fs: 0x.*/fs:/g' $TS_OUTPUT
+$PYTHON $TESTPROG --find-forward $FSTAB source "UUID=$UUID" &> "$TS_OUTPUT"
+sed -i -e 's/fs: 0x.*/fs:/g' "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "fstab-label"
# has to return /mnt/mountpoint
-$PYTHON $TESTPROG --find-forward $FSTAB source "LABEL=$LABEL" &> $TS_OUTPUT
-sed -i -e 's/fs: 0x.*/fs:/g' $TS_OUTPUT
+$PYTHON $TESTPROG --find-forward $FSTAB source "LABEL=$LABEL" &> "$TS_OUTPUT"
+sed -i -e 's/fs: 0x.*/fs:/g' "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "fstab-dev2label"
# has to return /mnt/mountpoint
-$PYTHON $TESTPROG --find-forward $FSTAB source $TS_DEVICE &> $TS_OUTPUT
-sed -i -e 's/fs: 0x.*/fs:/g' $TS_OUTPUT
+$PYTHON $TESTPROG --find-forward $FSTAB source $TS_DEVICE &> "$TS_OUTPUT"
+sed -i -e 's/fs: 0x.*/fs:/g' "$TS_OUTPUT"
ts_finalize_subtest
#
ts_init_subtest "fstab-dev"
# has to return /mnt/mountpoint3
-$PYTHON $TESTPROG --find-forward $FSTAB source $TS_DEVICE &> $TS_OUTPUT
-sed -i -e 's/fs: 0x.*/fs:/g' $TS_OUTPUT
-sed -i -e 's/source: .*//g' $TS_OUTPUT # devname is generated, remove it
+$PYTHON $TESTPROG --find-forward $FSTAB source $TS_DEVICE &> "$TS_OUTPUT"
+sed -i -e 's/fs: 0x.*/fs:/g' "$TS_OUTPUT"
+sed -i -e 's/source: .*//g' "$TS_OUTPUT" # devname is generated, remove it
ts_finalize_subtest
ts_finalize
# IMPORTANT notes:
#
-# - the $TS_OUTPUT variable is between ts_init_subtest and ts_finalize_subtest
-# redefined to subtest specific namespace -- it means that $TS_OUTPUT is a
+# - the "$TS_OUTPUT" variable is between ts_init_subtest and ts_finalize_subtest
+# redefined to subtest specific namespace -- it means that "$TS_OUTPUT" is a
# different file within a subtest.
#
-# - all this test uses global $TS_OUTPUT.mountinfo
+# - all this test uses global "$TS_OUTPUT".mountinfo
#
# utab
#
-export LIBMOUNT_UTAB=$TS_OUTPUT.utab
+export LIBMOUNT_UTAB="$TS_OUTPUT".utab
rm -f $LIBMOUNT_UTAB
> $LIBMOUNT_UTAB
ts_run $TESTPROG --add /dev/sdb1 /mnt/bar ext3 "ro,user"
ts_run $TESTPROG --add /dev/sda2 /mnt/xyz ext3 "rw,loop=/dev/loop0,uhelper=hal"
ts_run $TESTPROG --add none /proc proc "rw,user"
-cp $LIBMOUNT_UTAB $TS_OUTPUT # save the utab aside
+cp $LIBMOUNT_UTAB "$TS_OUTPUT" # save the utab aside
ts_finalize_subtest # checks the utab
ts_init_subtest "utab-move"
ts_run $TESTPROG --move /mnt/bar /mnt/newbar
ts_run $TESTPROG --move /mnt/xyz /mnt/newxyz
-cp $LIBMOUNT_UTAB $TS_OUTPUT # save the utab aside
+cp $LIBMOUNT_UTAB "$TS_OUTPUT" # save the utab aside
ts_finalize_subtest # checks the utab
ts_init_subtest "utab-remount"
ts_run $TESTPROG --remount /mnt/newbar "ro,noatime"
ts_run $TESTPROG --remount /mnt/newxyz "rw,user"
-cp $LIBMOUNT_UTAB $TS_OUTPUT # save the utab aside
+cp $LIBMOUNT_UTAB "$TS_OUTPUT" # save the utab aside
ts_finalize_subtest # checks the utab
ts_init_subtest "utab-umount"
ts_run $TESTPROG --remove /mnt/newbar
ts_run $TESTPROG --remove /proc
-cp $LIBMOUNT_UTAB $TS_OUTPUT # save the utab aside
+cp $LIBMOUNT_UTAB "$TS_OUTPUT" # save the utab aside
ts_finalize_subtest # checks the utab
#
# fstab - replace
#
-export LIBMOUNT_FSTAB=$TS_OUTPUT.fstab
+export LIBMOUNT_FSTAB="$TS_OUTPUT".fstab
rm -f $LIBMOUNT_FSTAB
cp "$TS_SELF/files/fstab.comment" $LIBMOUNT_FSTAB
ts_init_subtest "fstab-replace"
ts_run $TESTPROG --replace "LABEL=foo" "/mnt/foo"
-cp $LIBMOUNT_FSTAB $TS_OUTPUT # save the fstab aside
+cp $LIBMOUNT_FSTAB "$TS_OUTPUT" # save the fstab aside
ts_finalize_subtest #checks the fstab
ts_finalize
#
# fstab - replace
#
-export LIBMOUNT_FSTAB=$TS_OUTPUT.fstab
+export LIBMOUNT_FSTAB="$TS_OUTPUT".fstab
rm -f $LIBMOUNT_FSTAB
cp "$TS_SELF/files/fstab.comment" $LIBMOUNT_FSTAB
ts_init_subtest "fstab-replace"
$PYTHON $TESTPROG --replace "LABEL=foo" "/mnt/foo" >/dev/null 2>&1
-cp $LIBMOUNT_FSTAB $TS_OUTPUT # save the fstab aside
+cp $LIBMOUNT_FSTAB "$TS_OUTPUT" # save the fstab aside
ts_finalize_subtest #checks the fstab
ts_finalize
[ -x $TESTPROG ] || ts_skip "test not compiled"
ts_init_subtest "match-fstype"
-ts_run $TESTPROG --match-fstype ext3 "ext2,ext3,cifs" &> $TS_OUTPUT
+ts_run $TESTPROG --match-fstype ext3 "ext2,ext3,cifs" &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "match-fstype-neg"
-ts_run $TESTPROG --match-fstype cifs "ext2,ext3,nocifs" &> $TS_OUTPUT
+ts_run $TESTPROG --match-fstype cifs "ext2,ext3,nocifs" &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "match-fstype-neg2"
-ts_run $TESTPROG --match-fstype cifs "noext2,ext3,cifs" &> $TS_OUTPUT
+ts_run $TESTPROG --match-fstype cifs "noext2,ext3,cifs" &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "match-options"
-ts_run $TESTPROG --match-options "aaa,bbb=BBB,ccc,ddd" "ccc" &> $TS_OUTPUT
+ts_run $TESTPROG --match-options "aaa,bbb=BBB,ccc,ddd" "ccc" &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "match-options-list"
-ts_run $TESTPROG --match-options "aaa,bbb=BBB,ccc,ddd" "ccc,aaa,ddd" &> $TS_OUTPUT
+ts_run $TESTPROG --match-options "aaa,bbb=BBB,ccc,ddd" "ccc,aaa,ddd" &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "match-options-neg"
-ts_run $TESTPROG --match-options "aaa,bbb=BBB,ccc,ddd" "noxxx" &> $TS_OUTPUT
+ts_run $TESTPROG --match-options "aaa,bbb=BBB,ccc,ddd" "noxxx" &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "match-options-neg-list"
-ts_run $TESTPROG --match-options "aaa,bbb=BBB,ccc,ddd" "ddd,noaaa" &> $TS_OUTPUT
+ts_run $TESTPROG --match-options "aaa,bbb=BBB,ccc,ddd" "ddd,noaaa" &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "match-options-neg-list2"
-ts_run $TESTPROG --match-options "aaa,bbb=BBB,ccc,ddd" "noxxx,ccc,aaa" &> $TS_OUTPUT
+ts_run $TESTPROG --match-options "aaa,bbb=BBB,ccc,ddd" "noxxx,ccc,aaa" &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "starts-with"
-ts_run $TESTPROG --starts-with "AAAbbbCCC" "AAA" &> $TS_OUTPUT
+ts_run $TESTPROG --starts-with "AAAbbbCCC" "AAA" &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "ends-with"
-ts_run $TESTPROG --ends-with "AAAbbbCCC" "CCC" &> $TS_OUTPUT
+ts_run $TESTPROG --ends-with "AAAbbbCCC" "CCC" &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "mountpoint"
if [ -d /proc ]; then
- ts_run $TESTPROG --mountpoint /proc &> $TS_OUTPUT
+ ts_run $TESTPROG --mountpoint /proc &> "$TS_OUTPUT"
ts_finalize_subtest
else
ts_skip_subtest "no /proc"
ts_init_subtest "mountpoint-subdir"
if [ -d /proc/sys/kernel ]; then
- ts_run $TESTPROG --mountpoint /proc/sys/kernel &> $TS_OUTPUT
+ ts_run $TESTPROG --mountpoint /proc/sys/kernel &> "$TS_OUTPUT"
ts_finalize_subtest
else
ts_skip_subtest "no /proc"
fi
ts_init_subtest "mountpoint-root"
-ts_run $TESTPROG --mountpoint / &> $TS_OUTPUT
+ts_run $TESTPROG --mountpoint / &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "kernel-cmdline"
export LIBMOUNT_KERNEL_CMDLINE="$TS_SELF/files/kernel_cmdline"
-ts_run $TESTPROG --kernel-cmdline selinux= >> $TS_OUTPUT 2>> $TS_ERRLOG
-ts_run $TESTPROG --kernel-cmdline selinux >> $TS_OUTPUT 2>> $TS_ERRLOG
-ts_run $TESTPROG --kernel-cmdline ro >> $TS_OUTPUT 2>> $TS_ERRLOG
-ts_run $TESTPROG --kernel-cmdline ro= >> $TS_OUTPUT 2>> $TS_ERRLOG
-ts_run $TESTPROG --kernel-cmdline root= >> $TS_OUTPUT 2>> $TS_ERRLOG
+ts_run $TESTPROG --kernel-cmdline selinux= >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+ts_run $TESTPROG --kernel-cmdline selinux >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+ts_run $TESTPROG --kernel-cmdline ro >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+ts_run $TESTPROG --kernel-cmdline ro= >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+ts_run $TESTPROG --kernel-cmdline root= >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_finalize
TESTPROG="$TS_HELPER_LIBSMARTCOLS_CONTINUOUS_JSON"
ts_check_test_command "$TESTPROG"
-ts_run $TESTPROG --width 80 >> $TS_OUTPUT 2>> $TS_ERRLOG
+ts_run $TESTPROG --width 80 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize
for name in "${!FILTERS[@]}"; do
ts_init_subtest "$prefix-$name"
- echo "expr: ${FILTERS[$name]}" >> $TS_OUTPUT
- echo >> $TS_OUTPUT
+ echo "expr: ${FILTERS[$name]}" >> "$TS_OUTPUT"
+ echo >> "$TS_OUTPUT"
ts_run $TESTPROG --nlines 10 --width 80 \
--filter "${FILTERS[$name]}" \
--column $TS_SELF/files/col-name \
--column $TS_SELF/files/col-number \
$TS_SELF/files/data-string \
$TS_SELF/files/data-number \
- >> $TS_OUTPUT 2> /dev/null
+ >> "$TS_OUTPUT" 2> /dev/null
ts_finalize_subtest
done
FILTERS=()
for name in "${!FILTERS[@]}"; do
ts_init_subtest "$prefix-$name"
- echo "expr: ${FILTERS[$name]}" >> $TS_OUTPUT
- echo >> $TS_OUTPUT
+ echo "expr: ${FILTERS[$name]}" >> "$TS_OUTPUT"
+ echo >> "$TS_OUTPUT"
ts_run $TESTPROG --nlines 10 --width 80 \
--filter "${FILTERS[$name]}" \
--column $TS_SELF/files/col-name \
--column $TS_SELF/files/col-float \
$TS_SELF/files/data-string \
$TS_SELF/files/data-float \
- >> $TS_OUTPUT 2> /dev/null
+ >> "$TS_OUTPUT" 2> /dev/null
ts_finalize_subtest
done
FILTERS=()
for name in "${!FILTERS[@]}"; do
ts_init_subtest "$prefix-$name"
- echo "expr: ${FILTERS[$name]}" >> $TS_OUTPUT
- echo >> $TS_OUTPUT
+ echo "expr: ${FILTERS[$name]}" >> "$TS_OUTPUT"
+ echo >> "$TS_OUTPUT"
ts_run $TESTPROG --nlines 10 --width 80 \
--filter "${FILTERS[$name]}" \
--column $TS_SELF/files/col-name \
--column $TS_SELF/files/col-bool \
$TS_SELF/files/data-string \
$TS_SELF/files/data-bool \
- >> $TS_OUTPUT 2> /dev/null
+ >> "$TS_OUTPUT" 2> /dev/null
ts_finalize_subtest
done
FILTERS=()
for name in "${!FILTERS[@]}"; do
ts_init_subtest "$prefix-$name"
- echo "expr: ${FILTERS[$name]}" >> $TS_OUTPUT
- echo >> $TS_OUTPUT
+ echo "expr: ${FILTERS[$name]}" >> "$TS_OUTPUT"
+ echo >> "$TS_OUTPUT"
ts_run $TESTPROG --nlines 10 --width 80 \
--filter "${FILTERS[$name]}" \
--column $TS_SELF/files/col-name \
$TS_SELF/files/data-string \
- >> $TS_OUTPUT 2> /dev/null
+ >> "$TS_OUTPUT" 2> /dev/null
ts_finalize_subtest
done
FILTERS=()
for name in "${!FILTERS[@]}"; do
ts_init_subtest "$prefix-$name"
- echo "expr: ${FILTERS[$name]}" >> $TS_OUTPUT
- echo >> $TS_OUTPUT
+ echo "expr: ${FILTERS[$name]}" >> "$TS_OUTPUT"
+ echo >> "$TS_OUTPUT"
ts_run $TESTPROG --nlines 10 --width 80 \
--filter "${FILTERS[$name]}" \
--column $TS_SELF/files/col-number \
$TS_SELF/files/data-number \
- 2>> $TS_OUTPUT 1> /dev/null
+ 2>> "$TS_OUTPUT" 1> /dev/null
- sed -i -e 's/syntax error.*/<bison syntax error message removed>/g' $TS_OUTPUT
+ sed -i -e 's/syntax error.*/<bison syntax error message removed>/g' "$TS_OUTPUT"
ts_finalize_subtest
done
FILTERS=()
$TS_SELF/files/data-id \
$TS_SELF/files/data-parent \
$TS_SELF/files/data-string-long \
- >> $TS_OUTPUT 2>> $TS_ERRLOG
+ >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "tree-json"
$TS_SELF/files/data-id \
$TS_SELF/files/data-parent \
$TS_SELF/files/data-string-long \
- >> $TS_OUTPUT 2>> $TS_ERRLOG
+ >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "tree-middle"
$TS_SELF/files/data-parent \
$TS_SELF/files/data-string \
$TS_SELF/files/data-string-long \
- >> $TS_OUTPUT 2>> $TS_ERRLOG
+ >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "tree-end"
$TS_SELF/files/data-parent \
$TS_SELF/files/data-string-long \
$TS_SELF/files/data-string \
- >> $TS_OUTPUT 2>> $TS_ERRLOG
+ >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "trunc"
$TS_SELF/files/data-string \
$TS_SELF/files/data-number \
$TS_SELF/files/data-string-long \
- >> $TS_OUTPUT 2>> $TS_ERRLOG
+ >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "right"
$TS_SELF/files/data-string \
$TS_SELF/files/data-number \
$TS_SELF/files/data-string-long \
- >> $TS_OUTPUT 2>> $TS_ERRLOG
+ >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "right-maxout"
--column $TS_SELF/files/col-number \
$TS_SELF/files/data-string \
$TS_SELF/files/data-number \
- >> $TS_OUTPUT 2>> $TS_ERRLOG
+ >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "padding-default"
$TS_SELF/files/data-number \
$TS_SELF/files/data-string-empty \
$TS_SELF/files/data-string-empty \
- >> $TS_OUTPUT 2> /dev/null
+ >> "$TS_OUTPUT" 2> /dev/null
ts_finalize_subtest
ts_init_subtest "padding-maxout"
$TS_SELF/files/data-number \
$TS_SELF/files/data-string-empty \
$TS_SELF/files/data-string-empty \
- >> $TS_OUTPUT 2> /dev/null
+ >> "$TS_OUTPUT" 2> /dev/null
ts_finalize_subtest
ts_init_subtest "padding-minout"
$TS_SELF/files/data-number \
$TS_SELF/files/data-string-empty \
$TS_SELF/files/data-string-empty \
- >> $TS_OUTPUT 2> /dev/null
+ >> "$TS_OUTPUT" 2> /dev/null
ts_finalize_subtest
unset LIBSMARTCOLS_DEBUG_PADDING
$TS_SELF/files/data-string \
$TS_SELF/files/data-number-tiny \
$TS_SELF/files/data-number \
- >> $TS_OUTPUT 2>> $TS_ERRLOG
+ >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "noextremes"
$TS_SELF/files/data-number \
$TS_SELF/files/data-string \
$TS_SELF/files/data-number \
- >> $TS_OUTPUT 2>> $TS_ERRLOG
+ >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "hidden"
$TS_SELF/files/data-string \
$TS_SELF/files/data-string-long \
$TS_SELF/files/data-number \
- >> $TS_OUTPUT 2>> $TS_ERRLOG
+ >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "wrap"
$TS_SELF/files/data-string \
$TS_SELF/files/data-number \
$TS_SELF/files/data-string-long \
- >> $TS_OUTPUT 2>> $TS_ERRLOG
+ >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "wrap-tree"
$TS_SELF/files/data-id \
$TS_SELF/files/data-parent \
$TS_SELF/files/data-string-long \
- >> $TS_OUTPUT 2>> $TS_ERRLOG
+ >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "wrapnl"
$TS_SELF/files/data-string \
$TS_SELF/files/data-number \
$TS_SELF/files/data-string-nl \
- >> $TS_OUTPUT 2>> $TS_ERRLOG
+ >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "wrapnl-tree"
$TS_SELF/files/data-id \
$TS_SELF/files/data-parent \
$TS_SELF/files/data-string-nl \
- >> $TS_OUTPUT 2>> $TS_ERRLOG
+ >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "wrapzero"
$TS_SELF/files/data-string \
$TS_SELF/files/data-number \
$TS_SELF/files/data-string-zero \
- >> $TS_OUTPUT 2>> $TS_ERRLOG
+ >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "wrapzero-tree"
$TS_SELF/files/data-id \
$TS_SELF/files/data-parent \
$TS_SELF/files/data-string-zero \
- >> $TS_OUTPUT 2>> $TS_ERRLOG
+ >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "raw"
$TS_SELF/files/data-string \
$TS_SELF/files/data-number \
$TS_SELF/files/data-string-long \
- >> $TS_OUTPUT 2>> $TS_ERRLOG
+ >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "export"
$TS_SELF/files/data-string \
$TS_SELF/files/data-number \
$TS_SELF/files/data-string-long \
- >> $TS_OUTPUT 2>> $TS_ERRLOG
+ >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "column-separator"
$TS_SELF/files/data-string \
$TS_SELF/files/data-number \
$TS_SELF/files/data-string-long \
- >> $TS_OUTPUT 2>> $TS_ERRLOG
+ >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_log "...done."
ts_check_test_command "$TESTPROG"
# Single-shot test: output must match expected file exactly.
-ts_run $TESTPROG >> $TS_OUTPUT 2>> $TS_ERRLOG
+ts_run $TESTPROG >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize
TESTPROG="$TS_HELPER_LIBSMARTCOLS_TITLE"
ts_check_test_command "$TESTPROG"
-ts_run $TESTPROG --width 80 >> $TS_OUTPUT 2>> $TS_ERRLOG
+ts_run $TESTPROG --width 80 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize
ts_init_subtest 'one-call'
printf "a\nb\n" |
- $TS_CMD_LINE >> $TS_OUTPUT 2>> $TS_ERRLOG
-echo "ret: $?" >> $TS_OUTPUT
+ $TS_CMD_LINE >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+echo "ret: $?" >> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest 'two-calls'
printf "1\n2\n" |
- ($TS_CMD_LINE && $TS_CMD_LINE) >> $TS_OUTPUT 2>> $TS_ERRLOG
-echo "ret: $?" >> $TS_OUTPUT
+ ($TS_CMD_LINE && $TS_CMD_LINE) >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+echo "ret: $?" >> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest 'text-without-eol'
printf "abc" |
- $TS_CMD_LINE >> $TS_OUTPUT 2>> $TS_ERRLOG
-echo "ret: $?" >> $TS_OUTPUT
+ $TS_CMD_LINE >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+echo "ret: $?" >> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest 'empty-input'
printf "" |
- $TS_CMD_LINE >> $TS_OUTPUT 2>> $TS_ERRLOG
-echo "ret: $?" >> $TS_OUTPUT
+ $TS_CMD_LINE >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+echo "ret: $?" >> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest 'wait-for-eof'
(printf "xyz" && cat </dev/null) |
- $TS_CMD_LINE >> $TS_OUTPUT 2>> $TS_ERRLOG
-echo "ret: $?" >> $TS_OUTPUT
+ $TS_CMD_LINE >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+echo "ret: $?" >> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest 'empty-input-wait-for-eof'
-$TS_CMD_LINE </dev/null >> $TS_OUTPUT 2>> $TS_ERRLOG
-echo "ret: $?" >> $TS_OUTPUT
+$TS_CMD_LINE </dev/null >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+echo "ret: $?" >> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest 'large-line'
dd if=/dev/zero bs=1k count=1k 2>/dev/null |
- $TS_CMD_LINE line | $TS_CMD_HEXDUMP -C >> $TS_OUTPUT 2>> $TS_ERRLOG
-echo "ret: $?" >> $TS_OUTPUT
+ $TS_CMD_LINE line | $TS_CMD_HEXDUMP -C >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+echo "ret: $?" >> "$TS_OUTPUT"
ts_finalize_subtest
ts_finalize
function logger_fun {
# logger without --no-act to write all data to the socket
echo "socket data, ${TS_SUBNAME}:" |socat -u - UNIX-CONNECT:$DEVLOG
- $TS_HELPER_LOGGER --socket $DEVLOG --stderr "$@" >> $TS_OUTPUT 2>> $TS_ERRLOG
+ $TS_HELPER_LOGGER --socket $DEVLOG --stderr "$@" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
echo "ret: $?" >> "$TS_OUTPUT"
echo |socat -u - UNIX-CONNECT:$DEVLOG
}
local fmt="$1"
shift
echo "socket data, ${TS_SUBNAME}:" |socat -u - UNIX-CONNECT:$DEVLOG
- printf "$fmt" | $TS_HELPER_LOGGER --socket $DEVLOG --stderr "$@" >> $TS_OUTPUT 2>> $TS_ERRLOG
+ printf "$fmt" | $TS_HELPER_LOGGER --socket $DEVLOG --stderr "$@" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
echo "ret: $?" >> "$TS_OUTPUT"
echo |socat -u - UNIX-CONNECT:$DEVLOG
}
sleep 1
kill $SOCAT_PID
wait $SOCAT_PID &>/dev/null
-cat "$SOCKIN" >> $TS_OUTPUT 2>> $TS_ERRLOG
+cat "$SOCKIN" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
rm -f "$DEVLOG" "$SOCKIN"
ts_finalize_subtest
SOCAT_PID="$!"
function logger_fun {
- $TS_HELPER_LOGGER -u $DEVLOG --stderr --no-act "$@" >> $TS_OUTPUT 2>> $TS_ERRLOG
+ $TS_HELPER_LOGGER -u $DEVLOG --stderr --no-act "$@" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
echo "ret: $?" >> "$TS_ERRLOG" # keep all in stderr
}
sleep 1
kill $SOCAT_PID
wait $SOCAT_PID &>/dev/null
-cat "$SOCKIN" >> $TS_OUTPUT 2>> $TS_ERRLOG
+cat "$SOCKIN" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
rm -f "$DEVLOG" "$SOCKIN"
ts_finalize_subtest
fi
printf "%s\n%s\n%s\n" MESSAGE_ID=b8f74e14bc714bfc8040a5106dc9376a MESSAGE="a b c 1 2 3" |
-$TS_HELPER_LOGGER -u /bad/boy --no-act --journald --stderr >> $TS_OUTPUT 2>> $TS_ERRLOG
-echo "ret: $?" >> $TS_ERRLOG # keep it on stderr too
+$TS_HELPER_LOGGER -u /bad/boy --no-act --journald --stderr >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+echo "ret: $?" >> "$TS_ERRLOG" # keep it on stderr too
ts_finalize
SOCAT_PID="$!"
function logger_fun {
- $TS_HELPER_LOGGER -u $DEVLOG --stderr --no-act "$@" >> $TS_OUTPUT 2>> $TS_ERRLOG
+ $TS_HELPER_LOGGER -u $DEVLOG --stderr --no-act "$@" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
echo "ret: $?" >> "$TS_ERRLOG" # keep all on stderr
}
sleep 1
kill $SOCAT_PID
wait $SOCAT_PID &>/dev/null
-cat "$SOCKIN" >> $TS_OUTPUT 2>> $TS_ERRLOG
+cat "$SOCKIN" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
rm -f "$DEVLOG" "$SOCKIN"
ts_finalize_subtest
$TS_HELPER_ISLOCAL "$TS_SELF/islocal.data" root nobody "" youngman youngman2 \
abcdefghx nobo long rot al malformed \
- nonl znobody >> $TS_OUTPUT
+ nonl znobody >> "$TS_OUTPUT"
ts_finalize
ts_check_test_command "$TS_HELPER_LOGINDEFS"
# list all items
-$TS_HELPER_LOGINDEFS "$TS_SELF/logindefs.data" | sed 's:'$TS_SELF'/::g' >> $TS_OUTPUT
+$TS_HELPER_LOGINDEFS "$TS_SELF/logindefs.data" | sed 's:'$TS_SELF'/::g' >> "$TS_OUTPUT"
# search
-$TS_HELPER_LOGINDEFS "$TS_SELF/logindefs.data" str STRING >> $TS_OUTPUT
-$TS_HELPER_LOGINDEFS "$TS_SELF/logindefs.data" num NUMBER >> $TS_OUTPUT
-$TS_HELPER_LOGINDEFS "$TS_SELF/logindefs.data" bool BOOLEAN >> $TS_OUTPUT
-$TS_HELPER_LOGINDEFS "$TS_SELF/logindefs.data" str EMPTY >> $TS_OUTPUT
+$TS_HELPER_LOGINDEFS "$TS_SELF/logindefs.data" str STRING >> "$TS_OUTPUT"
+$TS_HELPER_LOGINDEFS "$TS_SELF/logindefs.data" num NUMBER >> "$TS_OUTPUT"
+$TS_HELPER_LOGINDEFS "$TS_SELF/logindefs.data" bool BOOLEAN >> "$TS_OUTPUT"
+$TS_HELPER_LOGINDEFS "$TS_SELF/logindefs.data" str EMPTY >> "$TS_OUTPUT"
-$TS_HELPER_LOGINDEFS "$TS_SELF/logindefs.data" str UNKNOWN >> $TS_OUTPUT
+$TS_HELPER_LOGINDEFS "$TS_SELF/logindefs.data" str UNKNOWN >> "$TS_OUTPUT"
ts_finalize
ts_check_test_command "$TS_CMD_LOOK"
-$TS_CMD_LOOK apple-pie $TS_TOPDIR/ts/look/words >> $TS_OUTPUT
+$TS_CMD_LOOK apple-pie $TS_TOPDIR/ts/look/words >> "$TS_OUTPUT"
ts_finalize
# Before checking for loop support we would need to test if losetup -f works at
# all. At least we do a simple executable test for now.
-$TS_CMD_LOSETUP --version >/dev/null 2>$TS_OUTPUT || ts_failed
-$TS_CMD_LOSETUP --unknownopt >>$TS_OUTPUT 2>/dev/null && ts_failed
-test -s $TS_OUTPUT && ts_failed
+$TS_CMD_LOSETUP --version >/dev/null 2>"$TS_OUTPUT" || ts_failed
+$TS_CMD_LOSETUP --unknownopt >>"$TS_OUTPUT" 2>/dev/null && ts_failed
+test -s "$TS_OUTPUT" && ts_failed
ts_skip_nonroot
ts_check_losetup
if [ -z "$LODEV" ]; then
ts_log "Failed to create loop device"
fi
-lo_print $LODEV >> $TS_OUTPUT
+lo_print $LODEV >> "$TS_OUTPUT"
$TS_CMD_LOSETUP --detach $LODEV
ts_finalize_subtest
if [ -z "$LODEV" ]; then
ts_log "Failed to create loop device"
fi
-lo_print $LODEV >> $TS_OUTPUT
+lo_print $LODEV >> "$TS_OUTPUT"
$TS_CMD_LOSETUP --detach $LODEV
ts_finalize_subtest
if [ -z "$LODEV" ]; then
ts_log "Failed to create loop device"
fi
-lo_print $LODEV >> $TS_OUTPUT
+lo_print $LODEV >> "$TS_OUTPUT"
$TS_CMD_LOSETUP -d $LODEV
ts_finalize_subtest
if [ -z "$LODEV" ]; then
ts_log "Failed to create loop device"
fi
-lo_print $LODEV >> $TS_OUTPUT
+lo_print $LODEV >> "$TS_OUTPUT"
$TS_CMD_LOSETUP -d $LODEV
ts_finalize_subtest
if [ -z "$LODEV" ]; then
ts_log "Failed to create loop device"
fi
-lo_print $LODEV >> $TS_OUTPUT
+lo_print $LODEV >> "$TS_OUTPUT"
udevadm settle
$TS_CMD_LOSETUP -d $LODEV
ts_finalize_subtest
if [ -z "$LODEV" ]; then
ts_log "Failed to create loop device"
fi
-lo_print $LODEV >> $TS_OUTPUT
+lo_print $LODEV >> "$TS_OUTPUT"
udevadm settle
$TS_CMD_LOSETUP -d $LODEV
ts_finalize_subtest
if [ -z "$LODEV" ]; then
ts_log "Failed to create loop device"
fi
-lo_print $LODEV >> $TS_OUTPUT
+lo_print $LODEV >> "$TS_OUTPUT"
udevadm settle
$TS_CMD_LOSETUP -d $LODEV
ts_finalize_subtest
if [ -z "$LODEV" ]; then
ts_log "Failed to create loop device"
fi
-lo_print $LODEV >> $TS_OUTPUT
+lo_print $LODEV >> "$TS_OUTPUT"
udevadm settle
$TS_CMD_LOSETUP -d $LODEV
ts_finalize_subtest
fi
udevadm settle
if test "$LODEV" = "$LODEVR" ; then
- echo "equal" >>$TS_OUTPUT
+ echo "equal" >>"$TS_OUTPUT"
else
- echo "different" >>$TS_OUTPUT
+ echo "different" >>"$TS_OUTPUT"
if test -n "$LODEVR" ; then
$TS_CMD_LOSETUP -d "$LODEVR"
fi
fi
udevadm settle
if test "$LODEV" = "$LODEVR" ; then
- echo "equal" >>$TS_OUTPUT
+ echo "equal" >>"$TS_OUTPUT"
else
- echo "different" >>$TS_OUTPUT
+ echo "different" >>"$TS_OUTPUT"
if test -n "$LODEVR" ; then
$TS_CMD_LOSETUP -d "$LODEVR"
fi
fi
udevadm settle
if test "$LODEV" = "$LODEVR" ; then
- echo "equal" >>$TS_OUTPUT
+ echo "equal" >>"$TS_OUTPUT"
else
- echo "different" >>$TS_OUTPUT
+ echo "different" >>"$TS_OUTPUT"
if test -n "$LODEVR" ; then
$TS_CMD_LOSETUP -d "$LODEVR"
fi
fi
udevadm settle
if test "$LODEV" = "$LODEVR" ; then
- echo "equal" >>$TS_OUTPUT
+ echo "equal" >>"$TS_OUTPUT"
else
- echo "different" >>$TS_OUTPUT
+ echo "different" >>"$TS_OUTPUT"
if test -n "$LODEVR" ; then
$TS_CMD_LOSETUP -d "$LODEVR"
fi
fi
udevadm settle
if test "$LODEV" = "$LODEVR" ; then
- echo "equal" >>$TS_OUTPUT
+ echo "equal" >>"$TS_OUTPUT"
else
- echo "different" >>$TS_OUTPUT
+ echo "different" >>"$TS_OUTPUT"
if test -n "$LODEVR" ; then
$TS_CMD_LOSETUP -d "$LODEVR"
fi
fi
udevadm settle
if test "$LODEV" = "$LODEVR" ; then
- echo "equal" >>$TS_OUTPUT
+ echo "equal" >>"$TS_OUTPUT"
else
- echo "different" >>$TS_OUTPUT
+ echo "different" >>"$TS_OUTPUT"
if test -n "$LODEVR" ; then
$TS_CMD_LOSETUP -d "$LODEVR"
fi
cols=$(cat $cols_file)
${TS_CMD_LSBLK} --sysroot "${dumpdir}/${name}" \
--output $cols \
- >> ${TS_OUTPUT} 2>> $TS_ERRLOG
+ >> ${TS_OUTPUT} 2>> "$TS_ERRLOG"
ts_finalize_subtest
done
# Architecture information is not applicable with -s.
"${TS_CMD_LSCPU}" --sysroot "${dumpdir}/${name}" | \
- grep -v "Architecture" >> ${TS_OUTPUT} 2>> $TS_ERRLOG
+ grep -v "Architecture" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
- echo >>"${TS_OUTPUT}"
+ echo >>"$TS_OUTPUT"
"${TS_CMD_LSCPU}" --parse --sysroot "${dumpdir}/${name}" \
- >> ${TS_OUTPUT} 2>> $TS_ERRLOG
+ >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
- echo >>"${TS_OUTPUT}"
+ echo >>"$TS_OUTPUT"
"${TS_CMD_LSCPU}" --parse --physical --sysroot "${dumpdir}/${name}" \
- >> ${TS_OUTPUT} 2>> $TS_ERRLOG
+ >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
if [[ ! -e "${dumpdir}/${name}/sys/kernel/cpu_byteorder" ]]; then
# LE/BE depends on binary if we can't read it from the dump
- sed -i -e '/Byte Order:.*/d' $TS_OUTPUT
+ sed -i -e '/Byte Order:.*/d' "$TS_OUTPUT"
fi
ts_finalize_subtest
fi
wait ${MKFDS_PID}
-} > $TS_OUTPUT 2>&1
+} > "$TS_OUTPUT" 2>&1
ts_finalize
"$TS_CMD_LSFD" --threads -o COMMAND,PID,USER,MODE,TYPE,NAME,KTHREAD \
-Q '(PID < 3) and ((ASSOC == "cwd") or (ASSOC == "rtd"))'
echo $?
-} > $TS_OUTPUT 2>&1
+} > "$TS_OUTPUT" 2>&1
ts_finalize
$TS_CMD_LSFD -Q ')'
$TS_CMD_LSFD -Q '(FD == 1)garbage'
$TS_CMD_LSFD -Q 'NOSUCHCOLUMN'
-} > $TS_OUTPUT 2>&1
+} > "$TS_OUTPUT" 2>&1
sed -i -e 's/syntax error.*/<bison syntax error message removed>/g' \
- $TS_OUTPUT $TS_ERRLOG
+ "$TS_OUTPUT" "$TS_ERRLOG"
ts_finalize
echo "output TUN.IFACE: $output"
fi
fi
- } > $TS_OUTPUT 2>&1
+ } > "$TS_OUTPUT" 2>&1
ts_finalize_subtest
ts_init_subtest "$tname"-devnetns
echo "expected TUN.DEVNETNS: $netns"
echo "output TUN.DEVNETNS: $output"
fi
- } > $TS_OUTPUT 2>&1
+ } > "$TS_OUTPUT" 2>&1
fi
ts_finalize_subtest
ts_init_subtest "$tname"-socknetns
if [[ -n "$IFNAME" ]]; then
cdev_tun_test_socknetns \
- "$IFNAME" "${PID}" "${EXPR}" "$netns" > $TS_OUTPUT 2>&1
+ "$IFNAME" "${PID}" "${EXPR}" "$netns" > "$TS_OUTPUT" 2>&1
fi
ts_finalize_subtest
echo DONE >&"${MKFDS[1]}"
fi
wait ${MKFDS_PID}
-} > $TS_OUTPUT 2>&1
+} > "$TS_OUTPUT" 2>&1
ts_finalize
echo DONE >&"${MKFDS[1]}"
fi
wait ${MKFDS_PID}
-} > $TS_OUTPUT 2>&1
+} > "$TS_OUTPUT" 2>&1
ts_finalize
echo DONE >&"${MKFDS[1]}"
fi
wait ${MKFDS_PID}
-} > $TS_OUTPUT 2>&1
+} > "$TS_OUTPUT" 2>&1
ts_finalize
break
fi
done
-done > $TS_OUTPUT 2>&1
+done > "$TS_OUTPUT" 2>&1
if [[ "$ERR" == "$ENOPROTOOPT" ]]; then
ts_skip "packet socket doesn't support attaching a buffer on this platform"
echo DONE >&"${MKFDS[1]}"
fi
wait ${MKFDS_PID}
-} > $TS_OUTPUT 2>&1
+} > "$TS_OUTPUT" 2>&1
ts_finalize
fi
wait ${MKFDS_PID}
RC=$?
-} > $TS_OUTPUT 2>&1
+} > "$TS_OUTPUT" 2>&1
if [ "$RC" == "$TS_EXIT_NOTSUPP" ]; then
ts_skip "pidfd_open(2) is not available"
fi
sed -i -E -e 's/UNKN|REG/[STTYPE]/' -e 's/pidfs|anon_inodefs/[SOURCE]/' \
- $TS_OUTPUT
+ "$TS_OUTPUT"
ts_finalize
echo DONE >&"${MKFDS[1]}"
fi
wait ${MKFDS_PID}
-} > $TS_OUTPUT 2>&1
+} > "$TS_OUTPUT" 2>&1
ts_finalize
echo DONE >&"${MKFDS[1]}"
fi
wait ${MKFDS_PID}
-} > $TS_OUTPUT 2>&1
+} > "$TS_OUTPUT" 2>&1
ts_finalize
echo DONE >&"${MKFDS[1]}"
fi
wait ${MKFDS_PID}
-} > $TS_OUTPUT 2>&1
+} > "$TS_OUTPUT" 2>&1
ts_finalize
echo DONE >&"${MKFDS[1]}"
fi
wait ${MKFDS_PID}
-} > $TS_OUTPUT 2>&1
+} > "$TS_OUTPUT" 2>&1
ts_finalize
echo DONE >&"${MKFDS[1]}"
fi
wait ${MKFDS_PID}
-} > $TS_OUTPUT 2>&1
+} > "$TS_OUTPUT" 2>&1
ts_finalize
echo DONE >&"${MKFDS[1]}"
fi
wait ${MKFDS_PID}
-} > $TS_OUTPUT 2>&1
+} > "$TS_OUTPUT" 2>&1
ts_finalize
if read -r -u "${MKFDS[0]}" FD1; then
if inode1=$(${TS_CMD_LSFD} --noheadings --raw --pid "$PID" --filter "FD == $FD1" -oINODE); then
if [[ -n "$INODE1" && "$INODE1" == "$inode1" ]]; then
- echo inode1: OK >> $TS_OUTPUT
+ echo inode1: OK >> "$TS_OUTPUT"
else
- echo inode1: FAILED "$INODE1" == "$inode1" >> $TS_OUTPUT
+ echo inode1: FAILED "$INODE1" == "$inode1" >> "$TS_OUTPUT"
echo >&"${MKFDS[1]}"
ts_failed "inode doesn't match in the second file open"
echo DONE >&"${MKFDS[1]}"
fi
wait ${MKFDS_PID}
-} > $TS_OUTPUT 2>&1
+} > "$TS_OUTPUT" 2>&1
ts_finalize
--counter=GROUP:'(NAME == "/etc/group")' \
--counter=PASSWD:'(NAME == "/etc/passwd")' \
--counter=PROC:'(ASSOC == "exe")' \
- > $TS_OUTPUT 2>&1
+ > "$TS_OUTPUT" 2>&1
for PID in ${PIDS}; do
kill -CONT "${PID}"
echo -e "\n---\n" >>${TS_OUTPUT}
echo "\$ lsmem $opts" >>${TS_OUTPUT}
- ${TS_CMD_LSMEM} $opts --sysroot "${dumpdir}/${name}" >> $TS_OUTPUT 2>> $TS_ERRLOG
+ ${TS_CMD_LSMEM} $opts --sysroot "${dumpdir}/${name}" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
}
echo DONE >&"${MKFDS[1]}"
fi
wait "${MKFDS_PID}"
-} > $TS_OUTPUT 2>&1
+} > "$TS_OUTPUT" 2>&1
ts_finalize
fi
wait "${MKFDS_PID}"
RC=$?
-} > $TS_OUTPUT 2>&1
+} > "$TS_OUTPUT" 2>&1
if [ "$RC" == "$EPERM" ]; then
ts_skip "unshare(2) is not permitted on this platform"
fi
cleanup
fi
exit $RESULT
-) >> $TS_ERRLOG 2>&1 &
+) >> "$TS_ERRLOG" 2>&1 &
mainpid=$!
(
exec 4< $FIFO_WAIT
wait $mainpid
RESULT=$?
-echo $RESULT >> $TS_OUTPUT
+echo $RESULT >> "$TS_OUTPUT"
cleanup
ts_finalize
wait "${MKFDS_PID}"
RC=$?
-} > $TS_OUTPUT 2>&1
+} > "$TS_OUTPUT" 2>&1
if [[ "$RC" == "$EPERM" ]]; then
ts_skip "unshare(2) is not permitted on this platform"
fi
} > $FIFO
test "$IP_ID" = "$LSNS_ID"
-echo $? >> $TS_OUTPUT
+echo $? >> "$TS_OUTPUT"
cleanup
ts_finalize
does_combination_include ${NSFS_NAMES_1LINE//,/ }
RESULT=$?
-echo $RESULT >> $TS_OUTPUT
+echo $RESULT >> "$TS_OUTPUT"
if [ $RESULT -ne 0 ]; then
echo
$TS_CMD_MCOOKIE -f /etc/services |
# The sed will convert only 32 characters long hexadecimal string
# to expected string, but nothing else.
- sed 's/^[0-9a-f]\{32\}$/the string meets expectations/' >> $TS_OUTPUT 2>> $TS_ERRLOG
+ sed 's/^[0-9a-f]\{32\}$/the string meets expectations/' >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize
cat $TS_SELF/data | while read data
do
- echo -n $data | $TS_HELPER_MD5 >> $TS_OUTPUT
+ echo -n $data | $TS_HELPER_MD5 >> "$TS_OUTPUT"
done
ts_finalize
local ret
ts_log "#####################################"
ts_log_both "$ mkfs.minix $1 image"
- $TS_CMD_MKMINIX $1 $img >> $TS_OUTPUT 2>> $TS_ERRLOG
+ $TS_CMD_MKMINIX $1 $img >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ret=$?
- echo "return mkfs: $ret" >> $TS_OUTPUT
+ echo "return mkfs: $ret" >> "$TS_OUTPUT"
test $ret = 0 || return $ret
ts_log_both "$ fsck.minix -lavsf image"
- $TS_CMD_FSCKMINIX -lavsf $img >> $TS_OUTPUT 2>> $TS_ERRLOG
+ $TS_CMD_FSCKMINIX -lavsf $img >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ret=$?
- echo "return fsck: $ret" >> $TS_OUTPUT
+ echo "return fsck: $ret" >> "$TS_OUTPUT"
return $ret
}
# escape "@" with "\@" in $img. This way sed correctly
# replaces paths containing "@" characters
-sed -i "s@${img//\@/\\\@}@image@g" $TS_OUTPUT
+sed -i "s@${img//\@/\\\@}@image@g" "$TS_OUTPUT"
ts_finalize
TS_EXPECTED+=$BE_EXT
img=${TS_OUTPUT}.img
dd if=/dev/zero bs=1024 count=16 of=$img >/dev/null 2>&1
- $TS_HELPER_MKFS_MINIX $2 $img >> $TS_OUTPUT 2>> $TS_ERRLOG
- echo "mkfs return value: $?" >> $TS_OUTPUT
- $TS_CMD_FSCKMINIX $img >> $TS_OUTPUT 2>> $TS_ERRLOG
- echo "fsck return value: $?" >> $TS_OUTPUT
- $TS_CMD_HEXDUMP -C $img >> $TS_OUTPUT 2>> $TS_ERRLOG
+ $TS_HELPER_MKFS_MINIX $2 $img >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+ echo "mkfs return value: $?" >> "$TS_OUTPUT"
+ $TS_CMD_FSCKMINIX $img >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+ echo "fsck return value: $?" >> "$TS_OUTPUT"
+ $TS_CMD_HEXDUMP -C $img >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
rm -f $img
ts_finalize_subtest
}
ts_init_subtest "auto-fix"
img=${TS_OUTPUT}.img
cp "$TS_SELF/broken-root" $img
-$TS_CMD_FSCKMINIX -sav $img >> $TS_OUTPUT 2>> $TS_ERRLOG
-echo "fsck reports changed and uncorrected: $?" >> $TS_OUTPUT
-$TS_CMD_HEXDUMP -C $img >> $TS_OUTPUT 2>> $TS_ERRLOG
-sed -i 's/Filesystem on .* is dirty/Filesystem auto-fix is dirty/' $TS_OUTPUT $TS_ERRLOG
+$TS_CMD_FSCKMINIX -sav $img >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+echo "fsck reports changed and uncorrected: $?" >> "$TS_OUTPUT"
+$TS_CMD_HEXDUMP -C $img >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+sed -i 's/Filesystem on .* is dirty/Filesystem auto-fix is dirty/' "$TS_OUTPUT" "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "bug.773892"
"$TS_CMD_FSCKMINIX" -f "$TS_SELF/debian.bug.773892" 2>&1 >/dev/null
-echo "fsck reports uncorrected: $?" >> $TS_OUTPUT
+echo "fsck reports uncorrected: $?" >> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "broken-root"
-"$TS_CMD_FSCKMINIX" "$TS_SELF/broken-root" >> $TS_OUTPUT 2>> $TS_ERRLOG
-echo "fsck reports uncorrected: $?" >> $TS_OUTPUT
+"$TS_CMD_FSCKMINIX" "$TS_SELF/broken-root" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+echo "fsck reports uncorrected: $?" >> "$TS_OUTPUT"
ts_finalize_subtest
ts_finalize
mkfs_and_mount_minix() {
ts_init_subtest $1
ts_log "create minix fs $2"
- $TS_CMD_MKMINIX $2 $dev >> $TS_OUTPUT 2>> $TS_ERRLOG
- echo "mkfs return value: $?" >> $TS_OUTPUT
+ $TS_CMD_MKMINIX $2 $dev >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+ echo "mkfs return value: $?" >> "$TS_OUTPUT"
udevadm settle
[ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
ts_mount "minix" $dev $TS_MOUNTPOINT
ts_skip_subtest "tmpfs unsupported"
mkdir -p $TS_MOUNTPOINT &> /dev/null
-$TS_CMD_MOUNT -t tmpfs tmpfs $TS_MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNT -t tmpfs tmpfs $TS_MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
[ $? -eq 0 ] || ts_skip "tmpfs mount failed"
# reuse the same TS_MOUNTPOINT in all subtests
mkdir -p ${BASE}/aaa/bbb
mkdir -p ${BASE}/ccc/ddd
ln -s ${BASE}/ccc ${BASE}/aaa/bbb/ccc-sym
-$TESTPROG ${BASE}/aaa/bbb/ccc-sym/ddd | sed "s:${BASE}::g" >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TESTPROG ${BASE}/aaa/bbb/ccc-sym/ddd | sed "s:${BASE}::g" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
$TS_CMD_SETPRIV --reuid="$uid" --regid="$gid" --clear-groups \
--inh-caps=-all --reset-env \
-- $TESTPROG ${BASE}/root-sym/foo \
- | sed "s:${BASE}::g" >> $TS_OUTPUT 2>> $TS_ERRLOG
+ | sed "s:${BASE}::g" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
else
' "$SRC")
for color in $COLOR_NAMES; do
- printf "%15s: " "$color" >> $TS_OUTPUT
- $TS_HELPER_COLORS --mode always --color "$color" >> $TS_OUTPUT 2>> $TS_ERRLOG
+ printf "%15s: " "$color" >> "$TS_OUTPUT"
+ $TS_HELPER_COLORS --mode always --color "$color" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
done
ts_finalize
# Test 1: Main config file in /etc
ts_init_subtest "main-etc"
echo "main config" > "$ETC_DIR/proj/example.conf"
-find "$TESTDIR" -type f | sed "s|$TESTDIR|@TESTDIR@|g" | sort >> $TS_OUTPUT
+find "$TESTDIR" -type f | sed "s|$TESTDIR|@TESTDIR@|g" | sort >> "$TS_OUTPUT"
$TS_HELPER_CONFIGS --etc "$ETC_DIR" --run "$RUN_DIR" --usr "$USR_DIR" \
--project "proj" --name "example" --suffix "conf" \
- | sed "s|$TESTDIR|@TESTDIR@|g" >> $TS_OUTPUT 2>> $TS_ERRLOG
+ | sed "s|$TESTDIR|@TESTDIR@|g" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
rm -f "$ETC_DIR/proj/example.conf"
ts_finalize_subtest
# Test 2: Main config file in /usr (fallback)
ts_init_subtest "main-usr"
echo "usr config" > "$USR_DIR/proj/example.conf"
-find "$TESTDIR" -type f | sed "s|$TESTDIR|@TESTDIR@|g" | sort >> $TS_OUTPUT
+find "$TESTDIR" -type f | sed "s|$TESTDIR|@TESTDIR@|g" | sort >> "$TS_OUTPUT"
$TS_HELPER_CONFIGS --etc "$ETC_DIR" --run "$RUN_DIR" --usr "$USR_DIR" \
--project "proj" --name "example" --suffix "conf" \
- | sed "s|$TESTDIR|@TESTDIR@|g" >> $TS_OUTPUT 2>> $TS_ERRLOG
+ | sed "s|$TESTDIR|@TESTDIR@|g" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
rm -f "$USR_DIR/proj/example.conf"
ts_finalize_subtest
mkdir -p "$ETC_DIR/proj/example.conf.d"
echo "etc drop-in 1" > "$ETC_DIR/proj/example.conf.d/10-first.conf"
echo "etc drop-in 2" > "$ETC_DIR/proj/example.conf.d/20-second.conf"
-find "$TESTDIR" -type f | sed "s|$TESTDIR|@TESTDIR@|g" | sort >> $TS_OUTPUT
+find "$TESTDIR" -type f | sed "s|$TESTDIR|@TESTDIR@|g" | sort >> "$TS_OUTPUT"
$TS_HELPER_CONFIGS --etc "$ETC_DIR" --run "$RUN_DIR" --usr "$USR_DIR" \
--project "proj" --name "example" --suffix "conf" \
- | sed "s|$TESTDIR|@TESTDIR@|g" >> $TS_OUTPUT 2>> $TS_ERRLOG
+ | sed "s|$TESTDIR|@TESTDIR@|g" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
rm -rf "$ETC_DIR/proj/example.conf.d"
ts_finalize_subtest
mkdir -p "$USR_DIR/proj/example.conf.d"
echo "usr drop-in 1" > "$USR_DIR/proj/example.conf.d/10-first.conf"
echo "usr drop-in 2" > "$USR_DIR/proj/example.conf.d/20-second.conf"
-find "$TESTDIR" -type f | sed "s|$TESTDIR|@TESTDIR@|g" | sort >> $TS_OUTPUT
+find "$TESTDIR" -type f | sed "s|$TESTDIR|@TESTDIR@|g" | sort >> "$TS_OUTPUT"
$TS_HELPER_CONFIGS --etc "$ETC_DIR" --run "$RUN_DIR" --usr "$USR_DIR" \
--project "proj" --name "example" --suffix "conf" \
- | sed "s|$TESTDIR|@TESTDIR@|g" >> $TS_OUTPUT 2>> $TS_ERRLOG
+ | sed "s|$TESTDIR|@TESTDIR@|g" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
rm -rf "$USR_DIR/proj/example.conf.d"
ts_finalize_subtest
echo "usr drop-in" > "$USR_DIR/proj/example.conf.d/10-base.conf"
echo "run drop-in" > "$RUN_DIR/proj/example.conf.d/20-override.conf"
echo "etc drop-in" > "$ETC_DIR/proj/example.conf.d/30-local.conf"
-find "$TESTDIR" -type f | sed "s|$TESTDIR|@TESTDIR@|g" | sort >> $TS_OUTPUT
+find "$TESTDIR" -type f | sed "s|$TESTDIR|@TESTDIR@|g" | sort >> "$TS_OUTPUT"
$TS_HELPER_CONFIGS --etc "$ETC_DIR" --run "$RUN_DIR" --usr "$USR_DIR" \
--project "proj" --name "example" --suffix "conf" \
- | sed "s|$TESTDIR|@TESTDIR@|g" >> $TS_OUTPUT 2>> $TS_ERRLOG
+ | sed "s|$TESTDIR|@TESTDIR@|g" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
rm -f "$ETC_DIR/proj/example.conf"
rm -rf "$ETC_DIR/proj/example.conf.d"
rm -rf "$RUN_DIR/proj/example.conf.d"
mkdir -p "$USR_DIR/proj/example.conf.d"
echo "usr version" > "$USR_DIR/proj/example.conf.d/10-config.conf"
echo "etc version" > "$ETC_DIR/proj/example.conf.d/10-config.conf"
-find "$TESTDIR" -type f | sed "s|$TESTDIR|@TESTDIR@|g" | sort >> $TS_OUTPUT
+find "$TESTDIR" -type f | sed "s|$TESTDIR|@TESTDIR@|g" | sort >> "$TS_OUTPUT"
$TS_HELPER_CONFIGS --etc "$ETC_DIR" --run "$RUN_DIR" --usr "$USR_DIR" \
--project "proj" --name "example" --suffix "conf" \
- | sed "s|$TESTDIR|@TESTDIR@|g" >> $TS_OUTPUT 2>> $TS_ERRLOG
+ | sed "s|$TESTDIR|@TESTDIR@|g" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
rm -rf "$ETC_DIR/proj/example.conf.d"
rm -rf "$USR_DIR/proj/example.conf.d"
ts_finalize_subtest
ts_init_subtest "no-project"
mkdir -p "$ETC_DIR"
echo "root config" > "$ETC_DIR/test.conf"
-find "$TESTDIR" -type f | sed "s|$TESTDIR|@TESTDIR@|g" | sort >> $TS_OUTPUT
+find "$TESTDIR" -type f | sed "s|$TESTDIR|@TESTDIR@|g" | sort >> "$TS_OUTPUT"
$TS_HELPER_CONFIGS --etc "$ETC_DIR" --run "$RUN_DIR" --usr "$USR_DIR" \
--name "test" --suffix "conf" \
- | sed "s|$TESTDIR|@TESTDIR@|g" >> $TS_OUTPUT 2>> $TS_ERRLOG
+ | sed "s|$TESTDIR|@TESTDIR@|g" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
rm -f "$ETC_DIR/test.conf"
ts_finalize_subtest
echo "mmm from usr" > "$USR_DIR/proj/example.conf.d/mmm.conf"
echo "bbb from etc" > "$ETC_DIR/proj/example.conf.d/bbb.conf"
echo "mmm from etc" > "$ETC_DIR/proj/example.conf.d/mmm.conf" # masks usr/mmm.conf
-find "$TESTDIR" -type f | sed "s|$TESTDIR|@TESTDIR@|g" | sort >> $TS_OUTPUT
+find "$TESTDIR" -type f | sed "s|$TESTDIR|@TESTDIR@|g" | sort >> "$TS_OUTPUT"
$TS_HELPER_CONFIGS --etc "$ETC_DIR" --run "$RUN_DIR" --usr "$USR_DIR" \
--project "proj" --name "example" --suffix "conf" \
- | sed "s|$TESTDIR|@TESTDIR@|g" >> $TS_OUTPUT 2>> $TS_ERRLOG
+ | sed "s|$TESTDIR|@TESTDIR@|g" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
rm -f "$ETC_DIR/proj/example.conf"
rm -rf "$ETC_DIR/proj/example.conf.d"
rm -rf "$USR_DIR/proj/example.conf.d"
fi
ts_init_subtest "safe-ascii"
-$TS_HELPER_MBSENCODE --safe "${STRINGS[@]}" >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_HELPER_MBSENCODE --safe "${STRINGS[@]}" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "invalid-ascii"
if [ "$HAVE_WIDECHAR" = true ]; then
- $TS_HELPER_MBSENCODE --invalid "${STRINGS[@]}" >> $TS_OUTPUT 2>> $TS_ERRLOG
+ $TS_HELPER_MBSENCODE --invalid "${STRINGS[@]}" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
else
ts_skip_subtest 'No widechar support'
ts_init_subtest "safe-utf8"
if [ "$HAVE_WIDECHAR" = true ]; then
LC_ALL=C.UTF-8 \
- $TS_HELPER_MBSENCODE --safe "${STRINGS[@]}" >> $TS_OUTPUT 2>> $TS_ERRLOG
+ $TS_HELPER_MBSENCODE --safe "${STRINGS[@]}" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
else
ts_skip_subtest 'No widechar support'
ts_init_subtest "invalid-utf8"
if [ "$HAVE_WIDECHAR" = true ]; then
LC_ALL=C.UTF-8 \
- $TS_HELPER_MBSENCODE --invalid "${STRINGS[@]}" >> $TS_OUTPUT 2>> $TS_ERRLOG
+ $TS_HELPER_MBSENCODE --invalid "${STRINGS[@]}" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
else
ts_skip_subtest 'No widechar support'
ts_check_test_command "$TS_HELPER_STRUTILS"
-$TS_HELPER_STRUTILS --optstr ",,key=\"v,a,l,u,e\",foo,,,,bar=BAR,\"/path/with/,comma\"=data,," >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_HELPER_STRUTILS --optstr ",,key=\"v,a,l,u,e\",foo,,,,bar=BAR,\"/path/with/,comma\"=data,," >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize
ts_check_test_command "$TS_HELPER_STRUTILS"
# true values
-$TS_HELPER_STRUTILS --strtobool 1 >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_HELPER_STRUTILS --strtobool y >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_HELPER_STRUTILS --strtobool t >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_HELPER_STRUTILS --strtobool yes >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_HELPER_STRUTILS --strtobool true >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_HELPER_STRUTILS --strtobool on >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_HELPER_STRUTILS --strtobool enable >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_HELPER_STRUTILS --strtobool 1 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_HELPER_STRUTILS --strtobool y >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_HELPER_STRUTILS --strtobool t >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_HELPER_STRUTILS --strtobool yes >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_HELPER_STRUTILS --strtobool true >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_HELPER_STRUTILS --strtobool on >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_HELPER_STRUTILS --strtobool enable >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
# true values (case insensitive)
-$TS_HELPER_STRUTILS --strtobool YES >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_HELPER_STRUTILS --strtobool True >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_HELPER_STRUTILS --strtobool ON >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_HELPER_STRUTILS --strtobool YES >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_HELPER_STRUTILS --strtobool True >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_HELPER_STRUTILS --strtobool ON >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
# false values
-$TS_HELPER_STRUTILS --strtobool 0 >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_HELPER_STRUTILS --strtobool no >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_HELPER_STRUTILS --strtobool not >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_HELPER_STRUTILS --strtobool false >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_HELPER_STRUTILS --strtobool off >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_HELPER_STRUTILS --strtobool disable >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_HELPER_STRUTILS --strtobool 0 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_HELPER_STRUTILS --strtobool no >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_HELPER_STRUTILS --strtobool not >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_HELPER_STRUTILS --strtobool false >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_HELPER_STRUTILS --strtobool off >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_HELPER_STRUTILS --strtobool disable >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
# false values (case insensitive)
-$TS_HELPER_STRUTILS --strtobool NO >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_HELPER_STRUTILS --strtobool False >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_HELPER_STRUTILS --strtobool OFF >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_HELPER_STRUTILS --strtobool NO >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_HELPER_STRUTILS --strtobool False >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_HELPER_STRUTILS --strtobool OFF >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize
ts_check_test_command "$TS_HELPER_STRUTILS"
-$TS_HELPER_STRUTILS --size -1 >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_HELPER_STRUTILS --size 0 >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_HELPER_STRUTILS --size 1 >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_HELPER_STRUTILS --size 123 >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_HELPER_STRUTILS --size 18446744073709551615 >> $TS_OUTPUT 2>> $TS_ERRLOG
-
-$TS_HELPER_STRUTILS --size 1K >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_HELPER_STRUTILS --size 1KiB >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_HELPER_STRUTILS --size 1M >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_HELPER_STRUTILS --size 1MiB >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_HELPER_STRUTILS --size 1G >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_HELPER_STRUTILS --size 1GiB >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_HELPER_STRUTILS --size 1T >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_HELPER_STRUTILS --size 1TiB >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_HELPER_STRUTILS --size 1P >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_HELPER_STRUTILS --size 1PiB >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_HELPER_STRUTILS --size 1E >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_HELPER_STRUTILS --size 1EiB >> $TS_OUTPUT 2>> $TS_ERRLOG
-
-$TS_HELPER_STRUTILS --size 1KB >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_HELPER_STRUTILS --size 1MB >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_HELPER_STRUTILS --size 1GB >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_HELPER_STRUTILS --size 1TB >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_HELPER_STRUTILS --size 1PB >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_HELPER_STRUTILS --size 1EB >> $TS_OUTPUT 2>> $TS_ERRLOG
-
-$TS_HELPER_STRUTILS --size "" >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_HELPER_STRUTILS --size " " >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_HELPER_STRUTILS --size " 1" >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_HELPER_STRUTILS --size "1 " >> $TS_OUTPUT 2>> $TS_ERRLOG
-
-$TS_HELPER_STRUTILS --size 0x0a >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_HELPER_STRUTILS --size 0xff00 >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_HELPER_STRUTILS --size 0x80000000 >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_HELPER_STRUTILS --size -1 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_HELPER_STRUTILS --size 0 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_HELPER_STRUTILS --size 1 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_HELPER_STRUTILS --size 123 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_HELPER_STRUTILS --size 18446744073709551615 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+
+$TS_HELPER_STRUTILS --size 1K >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_HELPER_STRUTILS --size 1KiB >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_HELPER_STRUTILS --size 1M >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_HELPER_STRUTILS --size 1MiB >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_HELPER_STRUTILS --size 1G >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_HELPER_STRUTILS --size 1GiB >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_HELPER_STRUTILS --size 1T >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_HELPER_STRUTILS --size 1TiB >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_HELPER_STRUTILS --size 1P >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_HELPER_STRUTILS --size 1PiB >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_HELPER_STRUTILS --size 1E >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_HELPER_STRUTILS --size 1EiB >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+
+$TS_HELPER_STRUTILS --size 1KB >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_HELPER_STRUTILS --size 1MB >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_HELPER_STRUTILS --size 1GB >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_HELPER_STRUTILS --size 1TB >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_HELPER_STRUTILS --size 1PB >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_HELPER_STRUTILS --size 1EB >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+
+$TS_HELPER_STRUTILS --size "" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_HELPER_STRUTILS --size " " >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_HELPER_STRUTILS --size " 1" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_HELPER_STRUTILS --size "1 " >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+
+$TS_HELPER_STRUTILS --size 0x0a >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_HELPER_STRUTILS --size 0xff00 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_HELPER_STRUTILS --size 0x80000000 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize
ts_init_subtest $name
rm -f "$outimg"
- truncate -s $(( PAGESIZE * 10 )) "$outimg" >> $TS_ERRLOG 2>&1
+ truncate -s $(( PAGESIZE * 10 )) "$outimg" >> "$TS_ERRLOG" 2>&1
"$TS_CMD_MKSWAP" -q -L label -U "$UUID" -e "$ENDIANNESS" -p "$PAGESIZE" "$outimg" \
>> "$TS_OUTPUT" 2>/dev/null \
outimg="$TS_OUTDIR/offset.img"
rm -f "$outimg"
-truncate -s $(( 4096 * 10 )) "$outimg" > $TS_ERRLOG 2>&1
+truncate -s $(( 4096 * 10 )) "$outimg" > "$TS_ERRLOG" 2>&1
rm -f "$outimg.offset"
-truncate -s $(( 4096 * 10 + $offset )) "$outimg.offset" > $TS_ERRLOG 2>&1
+truncate -s $(( 4096 * 10 + $offset )) "$outimg.offset" > "$TS_ERRLOG" 2>&1
"$TS_CMD_MKSWAP" -q -U "$UUID" -p 4096 "$outimg" \
>> "$TS_OUTPUT" 2>/dev/null \
export TERM=linux
printf "abba\nbar\nfoo\nxyzzy\n" |
- $TS_HELPER_MORE +/foo >> $TS_OUTPUT 2>> $TS_ERRLOG
+ $TS_HELPER_MORE +/foo >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize
ts_check_test_command "$TS_HELPER_MORE"
printf "a\n\n\nb\n" |
- $TS_HELPER_MORE --squeeze >> $TS_OUTPUT 2>> $TS_ERRLOG
+ $TS_HELPER_MORE --squeeze >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize
## create a private directory
ts_init_subtest "init"
-$TS_CMD_MOUNT --bind --make-private $ROOT_MOUNTPOINT $ROOT_MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNT --bind --make-private $ROOT_MOUNTPOINT $ROOT_MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
$TS_CMD_FINDMNT -nr --mountpoint $ROOT_MOUNTPOINT -o PROPAGATION | grep -q private \
|| ts_log "Cannot find private $ROOT_MOUNTPOINT"
ts_finalize_subtest
## mount the device
ts_init_subtest "rw-mount"
-$TS_CMD_MOUNT --options rw $DEVICE $A_MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNT --options rw $DEVICE $A_MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_is_mounted $DEVICE || ts_log "Cannot find $DEVICE in /proc/mounts"
ts_finalize_subtest
## move device and set it read-only for VFS (FS is still rw)
ts_init_subtest "ro-move"
-$TS_CMD_MOUNT --move --options ro $A_MOUNTPOINT $B_MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNT --move --options ro $A_MOUNTPOINT $B_MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
findmnt -nr -o VFS-OPTIONS --mountpoint $B_MOUNTPOINT | grep -q 'ro' \
|| ts_log "Cannot find ro VFS"
findmnt -nr -o FS-OPTIONS --mountpoint $B_MOUNTPOINT | grep -q 'rw' \
## remount to set FS to read-only (VFS is still ro)
ts_init_subtest "ro-remount"
-$TS_CMD_MOUNT --options remount,ro,noexec $B_MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNT --options remount,ro,noexec $B_MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
findmnt -nr -o VFS-OPTIONS --mountpoint $B_MOUNTPOINT | grep -q 'ro' \
|| ts_log "Cannot find ro VFS"
findmnt -nr -o FS-OPTIONS --mountpoint $B_MOUNTPOINT | grep -q 'ro' \
## remount to set FS and VFS to read-write
ts_init_subtest "rw-remount"
-$TS_CMD_MOUNT --options remount,rw $B_MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNT --options remount,rw $B_MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
findmnt -nr -o VFS-OPTIONS --mountpoint $B_MOUNTPOINT | grep -q 'rw' \
|| ts_log "Cannot find rw VFS"
findmnt -nr -o FS-OPTIONS --mountpoint $B_MOUNTPOINT | grep -q 'rw' \
## bind as read-only (VFS), set shared propagation,
## and remove noexec (but keep FS rw)
ts_init_subtest "ro-shared-bind"
-$TS_CMD_MOUNT --make-shared --bind --options ro,exec $B_MOUNTPOINT $A_MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNT --make-shared --bind --options ro,exec $B_MOUNTPOINT $A_MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
findmnt -nr -o VFS-OPTIONS --mountpoint $A_MOUNTPOINT | grep -q 'ro' \
|| ts_log "Cannot find ro VFS"
findmnt -nr -o FS-OPTIONS --mountpoint $A_MOUNTPOINT | grep -q 'rw' \
[ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
-$TS_CMD_MOUNT $DEVICE $TS_MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNT $DEVICE $TS_MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_is_mounted $DEVICE || ts_die "Cannot find $DEVICE in /proc/mounts"
grep -q "\(^\| \)$DEVICE " $MTAB_FILE ||
- echo "mount failed: cannot find $DEVICE in $MTAB_FILE" >> $TS_OUTPUT 2>> $TS_ERRLOG
+ echo "mount failed: cannot find $DEVICE in $MTAB_FILE" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
$TS_CMD_UMOUNT $DEVICE || ts_die "Cannot umount $DEVICE"
grep -q "\(^\| \)$DEVICE " $MTAB_FILE &&
- echo "umount failed: found $DEVICE in $MTAB_FILE" >> $TS_OUTPUT 2>> $TS_ERRLOG
+ echo "umount failed: found $DEVICE in $MTAB_FILE" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_log "Success"
ts_finalize
[ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
$TS_CMD_MOUNT --options verity.hashdevice=$HASH_DEVICE,verity.roothash=$HASH,verity.hashoffset=0 \
$VERITY_DEVICE_ABS \
- $TS_MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_UMOUNT --lazy $TS_MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
+ $TS_MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_UMOUNT --lazy $TS_MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
[ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
$TS_CMD_MOUNT --options verity.hashdevice=$HASH_DEVICE,verity.roothashfile=$ROOT_HASH_FILE \
$VERITY_DEVICE_ABS \
- $TS_MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_UMOUNT --lazy $TS_MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
+ $TS_MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_UMOUNT --lazy $TS_MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "later-fsopen"
$TS_CMD_ENOSYS -s fsopen -- "$TS_CMD_MOUNT" --types foo,bar,ext2 "$DEVICE" "$MOUNTPOINT" \
- >> $TS_OUTPUT 2>> $TS_ERRLOG
+ >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_is_mounted $DEVICE || ts_log "Cannot find $DEVICE in /proc/mounts"
mkdir -p ${MOUNTPOINT}/subdir
-$TS_CMD_UMOUNT $MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_UMOUNT $MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "subdir"
$TS_CMD_ENOSYS -s fsopen -s open_tree -- \
"$TS_CMD_MOUNT" --options X-mount.subdir=subdir "$DEVICE" "$MOUNTPOINT" \
- >> $TS_OUTPUT 2>> $TS_ERRLOG
+ >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_is_mounted $DEVICE || ts_log "Cannot find $DEVICE in /proc/mounts"
$TS_CMD_UMOUNT $MOUNTPOINT
ts_finalize_subtest
ts_init_subtest "mount_setattr"
-"$TS_CMD_MOUNT" "$DEVICE" "$MOUNTPOINT" >> $TS_OUTPUT 2>> $TS_ERRLOG
+"$TS_CMD_MOUNT" "$DEVICE" "$MOUNTPOINT" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_is_mounted $DEVICE || ts_log "Cannot find $DEVICE in /proc/mounts"
$TS_CMD_ENOSYS -s mount_setattr -- \
"$TS_CMD_MOUNT" --options remount,ro "$MOUNTPOINT" \
- >> $TS_OUTPUT 2>> $TS_ERRLOG
+ >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
$TS_CMD_FINDMNT --kernel --mountpoint "$MOUNTPOINT" --options "ro" &> /dev/null
[ "$?" == "0" ] || ts_die "Cannot find read-only in $MOUNTPOINT in /proc/self/mountinfo"
$TS_CMD_ENOSYS -s mount_setattr -- \
"$TS_CMD_MOUNT" --make-slave "$MOUNTPOINT" \
- >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_FINDMNT -n --kernel --mountpoint "$MOUNTPOINT" -o PROPAGATION >> $TS_OUTPUT
+ >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_FINDMNT -n --kernel --mountpoint "$MOUNTPOINT" -o PROPAGATION >> "$TS_OUTPUT"
$TS_CMD_UMOUNT $MOUNTPOINT
ts_finalize_subtest
ts_init_subtest "one-type"
[ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
-$TS_CMD_MOUNT --types ext2 $DEVICE $TS_MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNT --types ext2 $DEVICE $TS_MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_is_mounted $DEVICE || ts_die "Cannot find $DEVICE in /proc/mounts"
$TS_CMD_UMOUNT $TS_MOUNTPOINT
ts_log "Success"
ts_init_subtest "more-types"
[ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
-$TS_CMD_MOUNT --types foo,bar,ext2 $DEVICE $TS_MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNT --types foo,bar,ext2 $DEVICE $TS_MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_is_mounted $DEVICE || ts_die "Cannot find $DEVICE in /proc/mounts"
$TS_CMD_UMOUNT $TS_MOUNTPOINT
ts_log "Success"
ts_init_subtest "more-types-fstab"
[ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
ts_fstab_add $DEVICE $TS_MOUNTPOINT "foo,bar,ext2"
-$TS_CMD_MOUNT --fstab "$TS_FSTAB" $TS_MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNT --fstab "$TS_FSTAB" $TS_MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fstab_clean
ts_is_mounted $DEVICE || ts_die "Cannot find $DEVICE in /proc/mounts"
$TS_CMD_UMOUNT $TS_MOUNTPOINT
ts_init_subtest "type-pattern"
[ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
-$TS_CMD_MOUNT --internal-only --types nofoo,bar $DEVICE $TS_MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNT --internal-only --types nofoo,bar $DEVICE $TS_MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_is_mounted $DEVICE || ts_die "Cannot find $DEVICE in /proc/mounts"
$TS_CMD_UMOUNT $TS_MOUNTPOINT
ts_log "Success"
ts_init_subtest "basic"
-$TS_CMD_MOUNT --all --fstab "${TS_FSTAB}" >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNT --all --fstab "${TS_FSTAB}" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
[ $? == 0 ] || ts_log "mount failed"
udevadm settle
$TS_CMD_UMOUNT ${MOUNTPOINT}{A,B,C,D}
ts_init_subtest "filter-type"
-$TS_CMD_MOUNT --all --fstab "${TS_FSTAB}" --types ext4 >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNT --all --fstab "${TS_FSTAB}" --types ext4 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
[ $? == 0 ] || ts_log "mount failed"
udevadm settle
$TS_CMD_UMOUNT ${MOUNTPOINT}D
ts_init_subtest "filter-notype"
-$TS_CMD_MOUNT --all --fstab "${TS_FSTAB}" --types noext4 >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNT --all --fstab "${TS_FSTAB}" --types noext4 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
[ $? == 0 ] || ts_log "mount failed"
udevadm settle
$TS_CMD_UMOUNT ${MOUNTPOINT}{A,B,C}
ts_init_subtest "filter-option"
-$TS_CMD_MOUNT --all --fstab "${TS_FSTAB}" --test-opts ro >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNT --all --fstab "${TS_FSTAB}" --test-opts ro >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
[ $? == 0 ] || ts_log "mount failed"
udevadm settle
$TS_CMD_UMOUNT ${MOUNTPOINT}C
ts_init_subtest "override-option"
-$TS_CMD_MOUNT --all --fstab "${TS_FSTAB}" --options ro >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNT --all --fstab "${TS_FSTAB}" --options ro >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
[ $? == 0 ] || ts_log "mount failed"
udevadm settle
$TS_CMD_UMOUNT ${MOUNTPOINT}{A,B,C,D}
ts_init_subtest "relative-path"
cd "$TS_OUTDIR" > /dev/null
-$TS_CMD_MOUNT --all --fstab $(basename "${TS_FSTAB}") >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNT --all --fstab $(basename "${TS_FSTAB}") >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
[ $? == 0 ] || ts_log "mount failed"
udevadm settle
$TS_CMD_UMOUNT ${MOUNTPOINT}{A,B,C,D}
$TS_CMD_MOUNT --all \
--fstab "${TS_FSTAB}" \
--target-prefix $MY_ROOT \
- --options X-mount.mkdir >> $TS_OUTPUT 2>> $TS_ERRLOG
+ --options X-mount.mkdir >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
[ $? == 0 ] || ts_log "mount failed"
udevadm settle
$TS_CMD_UMOUNT $MY_ROOT/foo/{A,B,C,D}
mkdir -p $MY_SOURCE
mkdir -p $TS_MOUNTPOINT
-$TS_CMD_MOUNT --fstab "$TS_FSTAB" $TS_MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNT --fstab "$TS_FSTAB" $TS_MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
[ "$?" = "0" ] || ts_log "error: mount $TS_MOUNTPOINT"
$TS_CMD_FINDMNT --mountpoint "$TS_MOUNTPOINT" &> /dev/null
ts_fstab_addline "$TS_MOUNTPOINT_SUBVOLID" "$TS_MOUNTPOINT_BIND" "auto" "bind"
ts_fstab_close
-$TS_CMD_MOUNT --fstab "$TS_FSTAB" --all >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_MOUNT --fstab "$TS_FSTAB" --all >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNT --fstab "$TS_FSTAB" --all >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_MOUNT --fstab "$TS_FSTAB" --all >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
-$TS_CMD_UMOUNT "$TS_MOUNTPOINT_BIND" >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_UMOUNT "$TS_MOUNTPOINT_DEFAULT" >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_UMOUNT "$TS_MOUNTPOINT_SUBVOL" >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_UMOUNT "$TS_MOUNTPOINT_SUBVOLID" >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_UMOUNT "$TS_MOUNTPOINT_BIND" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_UMOUNT "$TS_MOUNTPOINT_DEFAULT" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_UMOUNT "$TS_MOUNTPOINT_SUBVOL" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_UMOUNT "$TS_MOUNTPOINT_SUBVOLID" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
# check that everything was unmounted
-$TS_CMD_MOUNT | grep "$TS_MOUNTPOINT_ANY" >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNT | grep "$TS_MOUNTPOINT_ANY" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fstab_clean # this unlock too
ts_log "Success"
ts_fstab_addline "$TS_MOUNTPOINT_SUBVOL/bind-mnt" "$TS_MOUNTPOINT_BIND" "auto" "bind"
ts_fstab_close
-$TS_CMD_MOUNT --fstab "$TS_FSTAB" --all >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_MOUNT --fstab "$TS_FSTAB" --all >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNT --fstab "$TS_FSTAB" --all >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_MOUNT --fstab "$TS_FSTAB" --all >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
-$TS_CMD_UMOUNT "$TS_MOUNTPOINT_BIND" >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_UMOUNT "$TS_MOUNTPOINT_DEFAULT" >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_UMOUNT "$TS_MOUNTPOINT_SUBVOL" >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_UMOUNT "$TS_MOUNTPOINT_SUBVOLID" >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_UMOUNT "$TS_MOUNTPOINT_BIND" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_UMOUNT "$TS_MOUNTPOINT_DEFAULT" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_UMOUNT "$TS_MOUNTPOINT_SUBVOL" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_UMOUNT "$TS_MOUNTPOINT_SUBVOLID" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
# check that everything was unmounted
-$TS_CMD_MOUNT | grep "$TS_MOUNTPOINT_ANY" >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNT | grep "$TS_MOUNTPOINT_ANY" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fstab_clean # this unlock too
ts_log "Success"
ts_fstab_add $DEVICE
ts_init_subtest "mountpoint"
-$TS_CMD_MOUNT --fstab "$TS_FSTAB" $MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNT --fstab "$TS_FSTAB" $MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_is_mounted $DEVICE || ts_log "Cannot find $DEVICE in /proc/mounts"
-$TS_CMD_UMOUNT $DEVICE || >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_UMOUNT $DEVICE || >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "device-name"
-$TS_CMD_MOUNT --fstab "$TS_FSTAB" $DEVICE >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNT --fstab "$TS_FSTAB" $DEVICE >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_is_mounted $DEVICE || ts_log "Cannot find $DEVICE in /proc/mounts"
-$TS_CMD_UMOUNT $DEVICE >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_UMOUNT $DEVICE >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_fstab_clean
ts_fstab_add "LABEL=$LABEL"
ts_udevadm_settle "$DEVICE" "LABEL"
-$TS_CMD_MOUNT --fstab "$TS_FSTAB" $DEVICE >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNT --fstab "$TS_FSTAB" $DEVICE >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_is_mounted $DEVICE || ts_die "Cannot find $DEVICE in /proc/mounts"
$TS_CMD_UMOUNT $DEVICE || ts_die "Cannot umount $DEVICE"
ts_fstab_add "UUID=$UUID"
ts_udevadm_settle "$DEVICE" "UUID"
-$TS_CMD_MOUNT --fstab "$TS_FSTAB" $DEVICE >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNT --fstab "$TS_FSTAB" $DEVICE >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_is_mounted $DEVICE || ts_die "Cannot find $DEVICE in /proc/mounts"
$TS_CMD_UMOUNT $DEVICE || ts_die "Cannot umount $DEVICE"
ts_udevadm_settle "$DEVICE" "LABEL"
ts_init_subtest "no-option"
-$TS_CMD_MOUNT --fstab "$TS_FSTAB" $MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNT --fstab "$TS_FSTAB" $MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_is_mounted $DEVICE || ts_log "Cannot find $DEVICE in /proc/mounts"
-$TS_CMD_UMOUNT $DEVICE >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_UMOUNT $DEVICE >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "L-option"
-$TS_CMD_MOUNT --fstab "$TS_FSTAB" --label $LABEL >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNT --fstab "$TS_FSTAB" --label $LABEL >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_is_mounted $DEVICE || ts_log "Cannot find $DEVICE in /proc/mounts"
-$TS_CMD_UMOUNT $DEVICE >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_UMOUNT $DEVICE >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "LABEL-option"
-$TS_CMD_MOUNT -T "$TS_FSTAB" LABEL=$LABEL >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNT -T "$TS_FSTAB" LABEL=$LABEL >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_is_mounted $DEVICE || ts_log "Cannot find $DEVICE in /proc/mounts"
-$TS_CMD_UMOUNT $DEVICE >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_UMOUNT $DEVICE >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
[ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
ts_init_subtest "L-option"
-$TS_CMD_MOUNT --fstab "$TS_FSTAB" --label $LABEL >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNT --fstab "$TS_FSTAB" --label $LABEL >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_is_mounted $DEVICE || ts_log "Cannot find $DEVICE in /proc/mounts"
-$TS_CMD_UMOUNT $DEVICE >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_UMOUNT $DEVICE >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "LABEL-option"
-$TS_CMD_MOUNT --fstab "$TS_FSTAB" "LABEL=$LABEL" >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNT --fstab "$TS_FSTAB" "LABEL=$LABEL" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_is_mounted $DEVICE || ts_log "Cannot find $DEVICE in /proc/mounts"
-$TS_CMD_UMOUNT $DEVICE >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_UMOUNT $DEVICE >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_fstab_clean
[ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
ts_init_subtest "L-option"
-$TS_CMD_MOUNT --fstab "$TS_FSTAB" --label $LABEL >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNT --fstab "$TS_FSTAB" --label $LABEL >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_is_mounted $DEVICE || ts_log "Cannot find $DEVICE in /proc/mounts"
-$TS_CMD_UMOUNT $DEVICE >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_UMOUNT $DEVICE >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "LABEL-option"
-$TS_CMD_MOUNT --fstab "$TS_FSTAB" "LABEL=$LABEL" >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNT --fstab "$TS_FSTAB" "LABEL=$LABEL" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_is_mounted $DEVICE || ts_log "Cannot find $DEVICE in /proc/mounts"
-$TS_CMD_UMOUNT $DEVICE >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_UMOUNT $DEVICE >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_fstab_clean
ts_fstab_open
ts_fstab_addline "$IMG" "$TS_MOUNTPOINT-1" "ext2" "loop"
-$TS_CMD_MOUNT --fstab "$TS_FSTAB" --all >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNT --fstab "$TS_FSTAB" --all >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fstab_addline "$IMG" "$TS_MOUNTPOINT-2" "ext2" "loop"
-$TS_CMD_MOUNT --fstab "$TS_FSTAB" --all >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNT --fstab "$TS_FSTAB" --all >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fstab_close
-$TS_CMD_UMOUNT "$TS_MOUNTPOINT-1" >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_UMOUNT "$TS_MOUNTPOINT-2" >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_UMOUNT "$TS_MOUNTPOINT-1" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_UMOUNT "$TS_MOUNTPOINT-2" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fstab_clean
mkdir -p $TS_MOUNTPOINT
-$TS_CMD_MOUNT --fstab "$TS_FSTAB" $TS_MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNT --fstab "$TS_FSTAB" $TS_MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
[ "$?" = "0" ] || ts_log "error: mount $TS_MOUNTPOINT"
$TS_CMD_FINDMNT --mountpoint "$TS_MOUNTPOINT" &> /dev/null
ts_fstab_add $LINKNAME $TS_MOUNTPOINT "auto" "defaults,user"
# variant A) -- UID=0
-$TS_CMD_MOUNT --fstab "$TS_FSTAB" $LINKNAME >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNT --fstab "$TS_FSTAB" $LINKNAME >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_is_mounted $DEVICE || ts_die "A) Cannot find $DEVICE in /proc/mounts"
$TS_CMD_UMOUNT $LINKNAME || ts_die "A) Cannot umount $LINKNAME"
#ts_init_suid $TS_CMD_MOUNT
#ts_init_suid $TS_CMD_UMOUNT
#
-#su $TS_TESTUSER -c "$TS_CMD_MOUNT -v -v -v $LINKNAME" >> $TS_OUTPUT 2>> $TS_ERRLOG
+#su $TS_TESTUSER -c "$TS_CMD_MOUNT -v -v -v $LINKNAME" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
#ts_is_mounted $DEVICE
# || ts_die "B) Cannot find $DEVICE in /proc/mounts"
-#su $TS_TESTUSER -c "$TS_CMD_UMOUNT $LINKNAME" >> $TS_OUTPUT 2>> $TS_ERRLOG \
+#su $TS_TESTUSER -c "$TS_CMD_UMOUNT $LINKNAME" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" \
# || ts_die "B) Cannot umount $LINKNAME"
ts_fstab_clean
ts_udevadm_settle "$DEVICE" "UUID"
ts_init_subtest "no-option"
-$TS_CMD_MOUNT --fstab "$TS_FSTAB" $MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNT --fstab "$TS_FSTAB" $MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_is_mounted $DEVICE || ts_log "Cannot find $DEVICE in /proc/mounts"
-$TS_CMD_UMOUNT $DEVICE >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_UMOUNT $DEVICE >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "U-option"
-$TS_CMD_MOUNT --fstab "$TS_FSTAB" --uuid $UUID >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNT --fstab "$TS_FSTAB" --uuid $UUID >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_is_mounted $DEVICE || ts_log "Cannot find $DEVICE in /proc/mounts"
-$TS_CMD_UMOUNT $DEVICE >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_UMOUNT $DEVICE >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "UUID-option"
-$TS_CMD_MOUNT --fstab "$TS_FSTAB" UUID=$UUID >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNT --fstab "$TS_FSTAB" UUID=$UUID >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_is_mounted $DEVICE || ts_log "Cannot find $DEVICE in /proc/mounts"
-$TS_CMD_UMOUNT $DEVICE >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_UMOUNT $DEVICE >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_fstab_clean
[ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
ts_init_subtest "U-option"
-$TS_CMD_MOUNT --fstab "$TS_FSTAB" --uuid $UUID >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNT --fstab "$TS_FSTAB" --uuid $UUID >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_is_mounted $DEVICE || ts_log "Cannot find $DEVICE in /proc/mounts"
-$TS_CMD_UMOUNT $DEVICE >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_UMOUNT $DEVICE >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "UUID-option"
-$TS_CMD_MOUNT --fstab "$TS_FSTAB" "UUID=$UUID" >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNT --fstab "$TS_FSTAB" "UUID=$UUID" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_is_mounted $DEVICE || ts_log "Cannot find $DEVICE in /proc/mounts"
-$TS_CMD_UMOUNT $DEVICE >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_UMOUNT $DEVICE >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_fstab_clean
[ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
ts_init_subtest "U-option"
-$TS_CMD_MOUNT --fstab "$TS_FSTAB" --uuid $UUID >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNT --fstab "$TS_FSTAB" --uuid $UUID >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_is_mounted $DEVICE || ts_log "Cannot find $DEVICE in /proc/mounts"
-$TS_CMD_UMOUNT $DEVICE >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_UMOUNT $DEVICE >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "UUID-option"
-$TS_CMD_MOUNT --fstab "$TS_FSTAB" "UUID=$UUID" >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNT --fstab "$TS_FSTAB" "UUID=$UUID" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_is_mounted $DEVICE || ts_log "Cannot find $DEVICE in /proc/mounts"
-$TS_CMD_UMOUNT $DEVICE >> $TS_OUTPUT 2>>$TS_ERRLOG
+$TS_CMD_UMOUNT $DEVICE >> "$TS_OUTPUT" 2>>"$TS_ERRLOG"
ts_finalize_subtest
ts_fstab_clean
ts_init_subtest "L-option"
[ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
-$TS_CMD_MOUNT --label $LABEL $TS_MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNT --label $LABEL $TS_MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_is_mounted $DEVICE || ts_log "Cannot find $DEVICE in /proc/mounts"
-$TS_CMD_UMOUNT $DEVICE >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_UMOUNT $DEVICE >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "LABEL-option"
[ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
-$TS_CMD_MOUNT LABEL=$LABEL $TS_MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNT LABEL=$LABEL $TS_MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_is_mounted $DEVICE || ts_log "Cannot find $DEVICE in /proc/mounts"
-$TS_CMD_UMOUNT $DEVICE >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_UMOUNT $DEVICE >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_finalize
[ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
-$TS_CMD_MOUNT $IMAGE $TS_MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNT $IMAGE $TS_MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
DEVICE=$(awk '/regfile/ { print $1 }' /proc/mounts)
expected="$1"; shift
what="$1"; shift
where="$1"; shift
- $TS_CMD_MOUNT "$@" "$what" "$where" >> $TS_OUTPUT 2>> $TS_ERRLOG
+ $TS_CMD_MOUNT "$@" "$what" "$where" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
actual=$(stat --format="%A %u %g" "$where")
- [ "$actual" = "$expected" ] || echo "$*: $actual != $expected" >> $TS_ERRLOG
- $TS_CMD_UMOUNT "$where" >> $TS_OUTPUT 2>> $TS_ERRLOG
+ [ "$actual" = "$expected" ] || echo "$*: $actual != $expected" >> "$TS_ERRLOG"
+ $TS_CMD_UMOUNT "$where" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
}
ts_device_init
ts_init_subtest "make-shared"
-$TS_CMD_MOUNT --make-shared $MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_FINDMNT -nr --mountpoint $MOUNTPOINT -o PROPAGATION >> $TS_OUTPUT
+$TS_CMD_MOUNT --make-shared $MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_FINDMNT -nr --mountpoint $MOUNTPOINT -o PROPAGATION >> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "make-private"
-$TS_CMD_MOUNT --make-private $MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_FINDMNT -nr --mountpoint $MOUNTPOINT -o PROPAGATION >> $TS_OUTPUT
+$TS_CMD_MOUNT --make-private $MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_FINDMNT -nr --mountpoint $MOUNTPOINT -o PROPAGATION >> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "make-unbindable"
-$TS_CMD_MOUNT --make-unbindable $MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_FINDMNT -nr --mountpoint $MOUNTPOINT -o PROPAGATION >> $TS_OUTPUT
+$TS_CMD_MOUNT --make-unbindable $MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_FINDMNT -nr --mountpoint $MOUNTPOINT -o PROPAGATION >> "$TS_OUTPUT"
ts_finalize_subtest
# clean up
ts_init_subtest "bind-shared"
$TS_CMD_MOUNT --make-shared \
- --bind $MOUNTPOINT $MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_FINDMNT -nr --mountpoint $MOUNTPOINT -o PROPAGATION >> $TS_OUTPUT
+ --bind $MOUNTPOINT $MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_FINDMNT -nr --mountpoint $MOUNTPOINT -o PROPAGATION >> "$TS_OUTPUT"
$TS_CMD_UMOUNT $MOUNTPOINT
ts_finalize_subtest
ts_init_subtest "mount-private"
$TS_CMD_MOUNT --make-private --make-unbindable \
- $DEVICE $MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_FINDMNT -nr --mountpoint $MOUNTPOINT -o PROPAGATION >> $TS_OUTPUT
+ $DEVICE $MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_FINDMNT -nr --mountpoint $MOUNTPOINT -o PROPAGATION >> "$TS_OUTPUT"
$TS_CMD_UMOUNT $MOUNTPOINT
ts_finalize_subtest
ts_init_subtest "mount-private-ro"
-$TS_CMD_MOUNT $DEVICE $MOUNTPOINT -o ro,private >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_FINDMNT -nr --mountpoint $MOUNTPOINT -o PROPAGATION >> $TS_OUTPUT
-$TS_CMD_FINDMNT -nr --mountpoint $MOUNTPOINT -o VFS-OPTIONS >> $TS_OUTPUT
+$TS_CMD_MOUNT $DEVICE $MOUNTPOINT -o ro,private >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_FINDMNT -nr --mountpoint $MOUNTPOINT -o PROPAGATION >> "$TS_OUTPUT"
+$TS_CMD_FINDMNT -nr --mountpoint $MOUNTPOINT -o VFS-OPTIONS >> "$TS_OUTPUT"
$TS_CMD_UMOUNT $MOUNTPOINT
ts_finalize_subtest
chmod +x $MOUNTER
ts_init_subtest "basic"
-$TS_CMD_MOUNT -t mytest /foo /bar &> $TS_OUTPUT
+$TS_CMD_MOUNT -t mytest /foo /bar &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "options"
-$TS_CMD_MOUNT -t mytest -o foo,defaults /foo /bar &> $TS_OUTPUT
+$TS_CMD_MOUNT -t mytest -o foo,defaults /foo /bar &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "multi-types"
-$TS_CMD_MOUNT -t mytest,invalid /foo /bar &> $TS_OUTPUT
+$TS_CMD_MOUNT -t mytest,invalid /foo /bar &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "user"
-$TS_CMD_MOUNT -t mytest -ouser,abc /foo /bar &> $TS_OUTPUT
+$TS_CMD_MOUNT -t mytest -ouser,abc /foo /bar &> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "username"
-$TS_CMD_MOUNT -t mytest -ouser=name,abc /foo /bar &> $TS_OUTPUT
+$TS_CMD_MOUNT -t mytest -ouser=name,abc /foo /bar &> "$TS_OUTPUT"
ts_finalize_subtest
rm -f $LIBMOUNT_UTAB
echo -n "" > $LIBMOUNT_UTAB
- $TS_CMD_MOUNT -t mytest -o x-bar=BAR /foo "$mountpoint" &> $TS_OUTPUT
+ $TS_CMD_MOUNT -t mytest -o x-bar=BAR /foo "$mountpoint" &> "$TS_OUTPUT"
udevadm settle
grep -q "$mountpoint" /proc/mounts
| grep "$mountpoint" \
| sed -e "s|$mountpoint|/mountpoint|g" \
-e 's/ID=[[:digit:]]* //g' \
- &> $TS_OUTPUT
+ &> "$TS_OUTPUT"
$TS_CMD_UMOUNT "$mountpoint"
unset LIBMOUNT_UTAB
rm -f $MOUNTER
# create subdirectory on the filesystem
ts_init_subtest "init"
-$TS_CMD_MOUNT $DEVICE $MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNT $DEVICE $MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_is_mounted $DEVICE || ts_log "Cannot find $DEVICE in /proc/mounts"
mkdir -p $MOUNTPOINT/submnt
touch $MOUNTPOINT/submnt/file
-$TS_CMD_UMOUNT $MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_UMOUNT $MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "subdir"
-$TS_CMD_MOUNT -o X-mount.subdir=submnt $DEVICE $MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNT -o X-mount.subdir=submnt $DEVICE $MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_is_mounted $DEVICE || ts_log "Cannot find $DEVICE in /proc/mounts"
if [ ! -f "$MOUNTPOINT/file" ]; then
- echo "$MOUNTPOINT/file not found" >> $TS_OUTPUT
+ echo "$MOUNTPOINT/file not found" >> "$TS_OUTPUT"
fi
-$TS_CMD_UMOUNT $MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_UMOUNT $MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_log "prepare: Mount dev to mnt1"
[ -d "${MNT}1" ] || mkdir -p ${MNT}1
- $TS_CMD_MOUNT $DEV ${MNT}1 >> $TS_OUTPUT 2>> $TS_ERRLOG
+ $TS_CMD_MOUNT $DEV ${MNT}1 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_log "prepare: Mount dev to mnt2"
[ -d "${MNT}2" ] || mkdir -p ${MNT}2
- $TS_CMD_MOUNT $DEV ${MNT}2 >> $TS_OUTPUT 2>> $TS_ERRLOG
+ $TS_CMD_MOUNT $DEV ${MNT}2 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_log "prepare: Mount /dev/xxx1 to mnt3"
[ -d "${MNT}3" ] || mkdir -p ${MNT}3
- $TS_CMD_MOUNT $DEV ${MNT}3 >> $TS_OUTPUT 2>> $TS_ERRLOG
+ $TS_CMD_MOUNT $DEV ${MNT}3 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
udevadm settle
}
#
ts_init_subtest "all-targets-mnt"
multi_mount ${TS_DEVICE}1 $MOUNTPOINT
-$TS_CMD_UMOUNT --all-targets ${MOUNTPOINT}1 >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_UMOUNT --all-targets ${MOUNTPOINT}1 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
[ $? == 0 ] || ts_log "umount failed"
ts_finalize_subtest
#
ts_init_subtest "all-targets-dev"
multi_mount ${TS_DEVICE}1 $MOUNTPOINT
-$TS_CMD_UMOUNT --all-targets ${TS_DEVICE}1 >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_UMOUNT --all-targets ${TS_DEVICE}1 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
[ $? == 0 ] || ts_log "umount failed"
ts_finalize_subtest
$TS_CMD_MOUNT ${TS_DEVICE}3 ${MOUNTPOINT}1/subA/subAB &> /dev/null
[ -d "${MOUNTPOINT}1/subB" ] || mkdir -p ${MOUNTPOINT}1/subB
$TS_CMD_MOUNT ${TS_DEVICE}4 ${MOUNTPOINT}1/subB &> /dev/null
-$TS_CMD_UMOUNT --recursive --all-targets ${TS_DEVICE}1 >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_UMOUNT --recursive --all-targets ${TS_DEVICE}1 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
[ $? == 0 ] || ts_log "umount failed"
ts_finalize_subtest
[ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
ts_log "A) Mount root"
-$TS_CMD_MOUNT ${TS_DEVICE}1 $TS_MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNT ${TS_DEVICE}1 $TS_MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
$TS_CMD_MOUNT --make-shared $TS_MOUNTPOINT &> /dev/null
ts_log "B) Mount child"
mkdir -p $TS_MOUNTPOINT/mntB
-$TS_CMD_MOUNT ${TS_DEVICE}2 $TS_MOUNTPOINT/mntB >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNT ${TS_DEVICE}2 $TS_MOUNTPOINT/mntB >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_log "B2) Mount child-bind"
mkdir -p $TS_MOUNTPOINT/bindB
-$TS_CMD_MOUNT --bind $TS_MOUNTPOINT/mntB $TS_MOUNTPOINT/bindB >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNT --bind $TS_MOUNTPOINT/mntB $TS_MOUNTPOINT/bindB >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_log "C) Mount child/child"
mkdir -p $TS_MOUNTPOINT/mntB/mnt{C,D}
-$TS_CMD_MOUNT ${TS_DEVICE}3 $TS_MOUNTPOINT/mntB/mntC >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNT ${TS_DEVICE}3 $TS_MOUNTPOINT/mntB/mntC >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_log "D) Mount child/child"
-$TS_CMD_MOUNT ${TS_DEVICE}4 $TS_MOUNTPOINT/mntB/mntD >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNT ${TS_DEVICE}4 $TS_MOUNTPOINT/mntB/mntD >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_log "E) Mount child-bind"
mkdir -p $TS_MOUNTPOINT/bindC
$TS_CMD_MOUNT --bind $TS_MOUNTPOINT $TS_MOUNTPOINT &> /dev/null
udevadm settle
-$TS_CMD_UMOUNT --recursive $TS_MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_UMOUNT --recursive $TS_MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
[ $? == 0 ] || ts_die "umount failed"
# the mountpoint has already been unmounted, so this second call should not fail
-$TS_CMD_UMOUNT --graceful $TS_MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_UMOUNT --graceful $TS_MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
[ $? == 0 ] || ts_die "--graceful on unmounted mountpoint failed"
# non-existent path should not fail with --graceful
-$TS_CMD_UMOUNT --graceful /non-existent-path-$$ >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_UMOUNT --graceful /non-existent-path-$$ >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
[ $? == 0 ] || ts_die "--graceful on non-existent path failed"
ts_log "Success"
ts_init_subtest "U-option"
[ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
-$TS_CMD_MOUNT --uuid $UUID $TS_MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNT --uuid $UUID $TS_MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_is_mounted $DEVICE || ts_log "Cannot find $DEVICE in /proc/mounts"
-$TS_CMD_UMOUNT $DEVICE >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_UMOUNT $DEVICE >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "UUID-option"
[ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
-$TS_CMD_MOUNT UUID=$UUID $TS_MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNT UUID=$UUID $TS_MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_is_mounted $DEVICE || ts_log "Cannot find $DEVICE in /proc/mounts"
-$TS_CMD_UMOUNT $DEVICE >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_UMOUNT $DEVICE >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_finalize
# Symlink converted to file
#
ts_init_subtest "file-over-symlink"
-$TS_CMD_MOUNT -o X-mount.nocanonicalize --bind $FILE_A $SYMLINK_B >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNT -o X-mount.nocanonicalize --bind $FILE_A $SYMLINK_B >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
udevadm settle
-cat $SYMLINK_B >> $TS_OUTPUT
-stat -c '%F' $SYMLINK_B >> $TS_OUTPUT
-$TS_CMD_UMOUNT $SYMLINK_B >> $TS_OUTPUT 2>> $TS_ERRLOG
+cat $SYMLINK_B >> "$TS_OUTPUT"
+stat -c '%F' $SYMLINK_B >> "$TS_OUTPUT"
+$TS_CMD_UMOUNT $SYMLINK_B >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
# File converted to symlink
#
ts_init_subtest "symlink-over-file"
-$TS_CMD_MOUNT -o X-mount.nocanonicalize --bind $SYMLINK_A $FILE_B >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNT -o X-mount.nocanonicalize --bind $SYMLINK_A $FILE_B >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
udevadm settle
-cat $FILE_B >> $TS_OUTPUT
-stat -c '%F' $FILE_B >> $TS_OUTPUT
-$TS_CMD_UMOUNT $FILE_B >> $TS_OUTPUT 2>> $TS_ERRLOG
+cat $FILE_B >> "$TS_OUTPUT"
+stat -c '%F' $FILE_B >> "$TS_OUTPUT"
+$TS_CMD_UMOUNT $FILE_B >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
# Symlink converted to another symlink
#
ts_init_subtest "symlink-over-symlink"
-$TS_CMD_MOUNT -o X-mount.nocanonicalize --bind $SYMLINK_A $SYMLINK_B >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNT -o X-mount.nocanonicalize --bind $SYMLINK_A $SYMLINK_B >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
udevadm settle
-cat $SYMLINK_B >> $TS_OUTPUT
-stat -c '%F' $SYMLINK_B >> $TS_OUTPUT
-$TS_CMD_UMOUNT $SYMLINK_B >> $TS_OUTPUT 2>> $TS_ERRLOG
+cat $SYMLINK_B >> "$TS_OUTPUT"
+stat -c '%F' $SYMLINK_B >> "$TS_OUTPUT"
+$TS_CMD_UMOUNT $SYMLINK_B >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ln -s $FIRST_MOUNTPOINT ./symlink-to-mountpoint
ts_init_subtest "default"
-$TS_CMD_MOUNTPOINT ./symlink-to-mountpoint >> $TS_OUTPUT 2>> $TS_ERRLOG
-echo $? >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNTPOINT ./symlink-to-mountpoint >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+echo $? >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "nofollow"
-$TS_CMD_MOUNTPOINT --nofollow ./symlink-to-mountpoint >> $TS_OUTPUT 2>> $TS_ERRLOG
-echo $? >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNTPOINT --nofollow ./symlink-to-mountpoint >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+echo $? >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "mutually-exclusive"
-$TS_CMD_MOUNTPOINT --devno --nofollow / >> $TS_OUTPUT 2>> $TS_ERRLOG
-echo $? >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_MOUNTPOINT --devno --nofollow / >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+echo $? >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
rm -f ./symlink-to-mountpoint
mkdir -p namei1/namei2
touch namei1/namei2/a namei1/namei2/b
-$TS_CMD_NAMEI namei1/namei2/a >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_NAMEI namei1/namei2/b >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_NAMEI namei1/namei2/a >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_NAMEI namei1/namei2/b >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize
echo DONE >&"${MKFDS[1]}"
fi
wait "${MKFDS_PID}"
-} > $TS_OUTPUT 2>&1
+} > "$TS_OUTPUT" 2>&1
ts_finalize
echo OK ||
echo "Unable to add partition"
check_partition_count 1
-} >> $TS_OUTPUT 2>> $TS_ERRLOG
+} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
udevadm settle
echo OK ||
echo "Unable to remove partition"
check_partition_count 0
-} >> $TS_OUTPUT 2>> $TS_ERRLOG
+} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
echo OK ||
echo "Unable to list partitions"
check_partition_count $PARTS
-} >> $TS_OUTPUT 2>> $TS_ERRLOG
+} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
udevadm settle
echo "partitions deleted" ||
echo "Unable to delete partitions on $TS_DEVICE"
check_partition_count 0
-} >> $TS_OUTPUT 2>> $TS_ERRLOG
+} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
udevadm settle
echo "partitions added" ||
echo "Unable to add partitions for $TS_DEVICE"
check_partition_count $PARTS
-} >> $TS_OUTPUT 2>> $TS_ERRLOG
+} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
udevadm settle
echo "partitions updated" ||
echo "Unable to update 2nd partition for $TS_DEVICE"
check_partition_count $PARTS
-} >> $TS_OUTPUT 2>> $TS_ERRLOG
+} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
udevadm settle
echo "last partition removed" ||
echo "Unable to remove a partition on $TS_DEVICE"
check_partition_count $((PARTS-1))
-} >> $TS_OUTPUT 2>> $TS_ERRLOG
+} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
udevadm settle
$TS_CMD_PARTX -d --nr $PARTS $TS_DEVICE &&
echo "partx: OK" ||
echo "partx failed: removed non-existing partition"
-} >> $TS_OUTPUT 2>> $TS_ERRLOG
+} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
udevadm settle
$TS_CMD_PARTX -a --nr 1 $TS_DEVICE 2>/dev/null &&
echo "partx failed: re-added an existing partition" ||
echo "partx: OK"
-} >> $TS_OUTPUT 2>> $TS_ERRLOG
+} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
udevadm settle
echo "partitions added" ||
echo "Failed to add $TS_DEVICE partitions"
check_partition_count $PARTS
-} >> $TS_OUTPUT 2>> $TS_ERRLOG
+} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_finalize
xz -dc $img > $outimg &&
$TS_CMD_PARTX $outimg ||
echo "failed: $?"
- } >> $TS_OUTPUT 2>> $TS_ERRLOG
+ } >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
done
ts_check_test_command "$TS_HELPER_PATHS"
-$TS_HELPER_PATHS &> $TS_OUTPUT
+$TS_HELPER_PATHS &> "$TS_OUTPUT"
ts_finalize
DEFAULT_PIPE_SIZE=$(($($TS_HELPER_SYSINFO pagesize) * 16))
ts_init_subtest "set-fd-bad"
-$TS_CMD_PIPESZ --check --set 4096 --fd 42 >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_PIPESZ --check --set 4096 --fd 42 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
[[ $? -eq 0 ]] && ts_logerr "expected failure"
ts_finalize_subtest
ts_init_subtest "set-fd"
-echo -n | $TS_CMD_PIPESZ --check --set 4096 --stdin >> $TS_OUTPUT 2>> $TS_ERRLOG
+echo -n | $TS_CMD_PIPESZ --check --set 4096 --stdin >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
[[ $? -ne 0 ]] && ts_logerr "expected success"
ts_finalize_subtest
ts_init_subtest "set-file-bad"
-$TS_CMD_PIPESZ --check --set 4096 --file "/dev/null" >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_PIPESZ --check --set 4096 --file "/dev/null" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
[[ $? -eq 0 ]] && ts_logerr "expected failure"
ts_finalize_subtest
ts_init_subtest "set-file"
-echo -n | $TS_CMD_PIPESZ --check --set 4096 --file "/dev/stdin" >> $TS_OUTPUT 2>> $TS_ERRLOG
+echo -n | $TS_CMD_PIPESZ --check --set 4096 --file "/dev/stdin" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
[[ $? -ne 0 ]] && ts_logerr "expected success"
ts_finalize_subtest
ts_init_subtest "get-fd-bad"
-$TS_CMD_PIPESZ --check --get --fd 42 >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_PIPESZ --check --get --fd 42 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
[[ $? -eq 0 ]] && ts_logerr "expected failure"
ts_finalize_subtest
ts_init_subtest "get-fd"
-echo -n | $TS_CMD_PIPESZ --check --get --stdin 2>> $TS_ERRLOG | sed "s/$DEFAULT_PIPE_SIZE/DEFAULT_PIPE_SIZE/g" >> $TS_OUTPUT
+echo -n | $TS_CMD_PIPESZ --check --get --stdin 2>> "$TS_ERRLOG" | sed "s/$DEFAULT_PIPE_SIZE/DEFAULT_PIPE_SIZE/g" >> "$TS_OUTPUT"
[[ $? -ne 0 ]] && ts_logerr "expected success"
ts_finalize_subtest
ts_init_subtest "get-file-bad"
-$TS_CMD_PIPESZ --check --get --file "/dev/null" >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_PIPESZ --check --get --file "/dev/null" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
[[ $? -eq 0 ]] && ts_logerr "expected failure"
ts_finalize_subtest
ts_init_subtest "get-file"
-echo -n | $TS_CMD_PIPESZ --check --get --file "/dev/stdin" 2>> $TS_ERRLOG | sed "s/$DEFAULT_PIPE_SIZE/DEFAULT_PIPE_SIZE/g" >> $TS_OUTPUT
+echo -n | $TS_CMD_PIPESZ --check --get --file "/dev/stdin" 2>> "$TS_ERRLOG" | sed "s/$DEFAULT_PIPE_SIZE/DEFAULT_PIPE_SIZE/g" >> "$TS_OUTPUT"
[[ $? -ne 0 ]] && ts_logerr "expected success"
ts_finalize_subtest
ts_init_subtest "pipe-max-size"
-echo -n | $TS_CMD_PIPESZ --check --stdin >> $TS_OUTPUT 2>> $TS_ERRLOG
+echo -n | $TS_CMD_PIPESZ --check --stdin >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
[[ $? -ne 0 ]] && ts_logerr "expected success"
ts_finalize_subtest
ts_init_subtest "exec"
-echo this_should_be_output_by_cat | $TS_CMD_PIPESZ --check --stdin cat >> $TS_OUTPUT 2>> $TS_ERRLOG
+echo this_should_be_output_by_cat | $TS_CMD_PIPESZ --check --stdin cat >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
[[ $? -ne 0 ]] && ts_logerr "expected success"
ts_finalize_subtest
ts_cd "$TS_OUTDIR"
touch rename_basic.{1..3}
-$TS_CMD_RENAME --verbose basic test rename_basic.? >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_RENAME --verbose basic test rename_basic.? >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
for i in rename_basic.?; do
- echo "what is $i doing here?" >> $TS_OUTPUT
+ echo "what is $i doing here?" >> "$TS_OUTPUT"
done
for i in rename_test.{1..3}; do
if [ ! -f $i ]; then
- echo "file $i is missing" >> $TS_OUTPUT
+ echo "file $i is missing" >> "$TS_OUTPUT"
else
rm -f $i
fi
touch rename_all\ file\ with\ spaces.{1..3}
-$TS_CMD_RENAME --verbose --all ' ' '_' rename_all*.? >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_RENAME --verbose --all ' ' '_' rename_all*.? >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
for i in rename_all*\ *.?; do
- echo "what is $i doing here?" >> $TS_OUTPUT
+ echo "what is $i doing here?" >> "$TS_OUTPUT"
done
for i in rename_all_file_with_spaces.{1..3}; do
if [ ! -f $i ]; then
- echo "file $i is missing" >> $TS_OUTPUT
+ echo "file $i is missing" >> "$TS_OUTPUT"
else
rm -f $i
fi
done
touch rename_zz_last_{z,z{,z{,z}}}.{x..z}
-$TS_CMD_RENAME --verbose --last zz AAzzBB rename_zz_last_* >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_RENAME --verbose --last zz AAzzBB rename_zz_last_* >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
for i in rename_AAzzBB_last_z.x rename_AAzzBB_last_z.y rename_AAzzBB_last_z.z \
rename_zz_last_AAzzBB.x rename_zz_last_AAzzBB.y rename_zz_last_AAzzBB.z \
rename_zz_last_zAAzzBB.x rename_zz_last_zAAzzBB.y rename_zz_last_zAAzzBB.z ; do
if [ ! -f $i ]; then
- echo "file $i is missing" >> $TS_OUTPUT
+ echo "file $i is missing" >> "$TS_OUTPUT"
else
rm -f $i
fi
done
for i in rename*last* ; do
- echo "what is $i doing here?" >> $TS_OUTPUT
+ echo "what is $i doing here?" >> "$TS_OUTPUT"
done
touch rename_all_empty
-$TS_CMD_RENAME --verbose --all '' _ rename_all_empty >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_RENAME --verbose --all '' _ rename_all_empty >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
rm -f _r_e_n_a_m_e___a_l_l___e_m_p_t_y_
mkdir rename_dir
-$TS_CMD_RENAME --verbose dir new_dir rename_dir/ >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_RENAME --verbose dir new_dir rename_dir/ >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
rmdir rename_new_dir
ts_finalize
ts_cd "$TS_OUTDIR"
touch rename_exit_codes.{1..2}
-$TS_CMD_RENAME -v not_a_match impossible rename_exit_codes.? >> $TS_OUTPUT 2>> $TS_ERRLOG
-echo "RENAME_EXIT_NOTHING: $?" >> $TS_OUTPUT
+$TS_CMD_RENAME -v not_a_match impossible rename_exit_codes.? >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+echo "RENAME_EXIT_NOTHING: $?" >> "$TS_OUTPUT"
-$TS_CMD_RENAME -v codes values rename_exit_codes.? >> $TS_OUTPUT 2>> $TS_ERRLOG
-echo "EXIT_SUCCESS: $?" >> $TS_OUTPUT
+$TS_CMD_RENAME -v codes values rename_exit_codes.? >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+echo "EXIT_SUCCESS: $?" >> "$TS_OUTPUT"
mkdir rename_exit_codes.2
-$TS_CMD_RENAME -v values codes rename_exit_values.? >> $TS_OUTPUT 2>> $TS_ERRLOG
-echo "RENAME_EXIT_SOMEOK: $?" >> $TS_OUTPUT
+$TS_CMD_RENAME -v values codes rename_exit_values.? >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+echo "RENAME_EXIT_SOMEOK: $?" >> "$TS_OUTPUT"
rmdir rename_exit_codes.2
rm rename_exit_codes.? rename_exit_values.?
ts_cd "$TS_OUTDIR"
touch rename_from rename_to
-$TS_CMD_RENAME -v --no-overwrite from to rename_from >> $TS_OUTPUT 2>> $TS_ERRLOG
-rm rename_from rename_to >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_RENAME -v --no-overwrite from to rename_from >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+rm rename_from rename_to >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize
ts_check_test_command "$TS_CMD_RENAME"
ts_cd "$TS_OUTDIR"
-echo "== files ==" >> $TS_OUTPUT
+echo "== files ==" >> "$TS_OUTPUT"
mkdir rename_a{a,b}
touch rename_a{a,b}/aa
-$TS_CMD_RENAME --verbose a x rename_a?/aa >> $TS_OUTPUT 2>> $TS_ERRLOG
-find rename_a{a,b} >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_RENAME --verbose a x rename_a?/aa >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+find rename_a{a,b} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
-echo "== symlinks ==" >> $TS_OUTPUT
+echo "== symlinks ==" >> "$TS_OUTPUT"
for i in rename_a{a,b}/sublink.{1..3}; do
ln -s rename/aa $i
done
-$TS_CMD_RENAME --symlink --verbose a x rename_a{a,b}/sublink.? >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_RENAME --symlink --verbose a x rename_a{a,b}/sublink.? >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
for i in rename_a{a,b}/sublink.?; do
- readlink $i >> $TS_OUTPUT 2>> $TS_ERRLOG
+ readlink $i >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
done
rm -rf rename_a{a,b}
-echo "== fullpath ==" >> $TS_OUTPUT
+echo "== fullpath ==" >> "$TS_OUTPUT"
touch rename_path1
-$TS_CMD_RENAME --verbose ./rename_path1 ./rename_path2 ./rename_path1 >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_RENAME --verbose ./rename_path1 ./rename_path2 ./rename_path1 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
-find . -name 'rename_path*' >> $TS_OUTPUT 2>> $TS_ERRLOG
+find . -name 'rename_path*' >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
rm -f ./rename_path*
mkdir rename_path_a
touch rename_path_test1
-$TS_CMD_RENAME --verbose rename_path_test1 rename_path_a/test1 rename_path_test1 >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_RENAME --verbose rename_path_test1 rename_path_a/test1 rename_path_test1 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
-find . -name '*test1*' >> $TS_OUTPUT 2>> $TS_ERRLOG
+find . -name '*test1*' >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
rm -f rename_path_test1 rename_path_a/test1
mkdir rename_path_b
touch rename_path_a/test2
-$TS_CMD_RENAME --verbose rename_path_a/test2 rename_path_b/test2 rename_path_a/test2 >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_RENAME --verbose rename_path_a/test2 rename_path_b/test2 rename_path_a/test2 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
-find rename_path_a rename_path_b >> $TS_OUTPUT 2>> $TS_ERRLOG
+find rename_path_a rename_path_b >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
rm -f rename_path_a/test2 rename_path_b/test2
rmdir rename_path_a rename_path_b
ln -s some/nonexistent/path rename_link
-$TS_CMD_RENAME --symlink --verbose t/p _ rename_link >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_RENAME --symlink --verbose exist / rename_link >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_RENAME --symlink --verbose e x rename_link >> $TS_OUTPUT 2>> $TS_ERRLOG
-readlink rename_link >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_RENAME --symlink --verbose t/p _ rename_link >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_RENAME --symlink --verbose exist / rename_link >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_RENAME --symlink --verbose e x rename_link >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+readlink rename_link >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
rm rename_link
-echo "== empty 'from' ==" >> $TS_OUTPUT
+echo "== empty 'from' ==" >> "$TS_OUTPUT"
touch rename_test
-$TS_CMD_RENAME --verbose '' _ rename_test >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_RENAME --verbose '' _ rename_test >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
rm -f *rename_test
touch rename_test
-$TS_CMD_RENAME --verbose '' _ ./rename_test >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_RENAME --verbose '' _ ./rename_test >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
rm -f *rename_test
touch rename_test
mkdir rename_subdir
-$TS_CMD_RENAME --verbose '' rename_subdir/ rename_test >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_RENAME --verbose '' rename_subdir/ rename_test >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
rm -rf rename_subdir
touch rename_test
mkdir rename_subdir
-$TS_CMD_RENAME --verbose '' rename_subdir/ ./rename_test >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_RENAME --verbose '' rename_subdir/ ./rename_test >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
rm -rf rename_subdir
ts_finalize
ln -s old $i
done
-$TS_CMD_RENAME --symlink --verbose old new rename_slink.? >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_RENAME --symlink --verbose old new rename_slink.? >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
for i in rename_slink.{1..3}; do
where="$(readlink $i)"
if [ "$where" != "new" ]; then
- echo "error: $i points to $where" >> $TS_OUTPUT
+ echo "error: $i points to $where" >> "$TS_OUTPUT"
fi
rm -f $i
done
touch target
ln -s target rename_slink.1
-$TS_CMD_RENAME --verbose slink symlink rename_slink.1 >> $TS_OUTPUT 2>> $TS_ERRLOG
-readlink rename_symlink.1 >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_RENAME --verbose slink symlink rename_slink.1 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+readlink rename_symlink.1 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
rm -f rename_slink.1 rename_symlink.1
rm target
ln -s target rename_slink.2
-$TS_CMD_RENAME -v slink symlink rename_slink.2 >> $TS_OUTPUT 2>> $TS_ERRLOG
-readlink rename_symlink.2 >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_RENAME -v slink symlink rename_slink.2 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+readlink rename_symlink.2 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
rm -f rename_slink.2 rename_symlink.2
-$TS_CMD_RENAME --verbose slink symlink rename_slink.3 >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_RENAME --verbose slink symlink rename_slink.3 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
# The error may differ on Mac OS X due to faccessat()/lstat(); normalize it.
-sed -i -e 's/\(rename_slink.3\): not accessible/\1/' -e 's/stat of \(rename_slink.3\) failed/\1/' $TS_ERRLOG
+sed -i -e 's/\(rename_slink.3\): not accessible/\1/' -e 's/stat of \(rename_slink.3\) failed/\1/' "$TS_ERRLOG"
ts_finalize
ts_check_test_command "$TS_CMD_REV"
ts_check_test_command "$TS_HELPER_MD5"
-for I in {0..512}; do printf "%s " {a..z}; done | "$TS_HELPER_MD5" >> $TS_OUTPUT 2>> $TS_ERRLOG
+for I in {0..512}; do printf "%s " {a..z}; done | "$TS_HELPER_MD5" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
for I in {0..512}; do printf "%s " {a..z}; done | \
- $TS_CMD_REV | "$TS_HELPER_MD5" >> $TS_OUTPUT 2>> $TS_ERRLOG
+ $TS_CMD_REV | "$TS_HELPER_MD5" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
-printf "abc\n123" | $TS_CMD_REV >> $TS_OUTPUT 2>> $TS_ERRLOG
-echo >> $TS_OUTPUT
-printf "abc\000123" | $TS_CMD_REV --zero | tr '\0' '|' >> $TS_OUTPUT 2>> $TS_ERRLOG
-echo >> $TS_OUTPUT
+printf "abc\n123" | $TS_CMD_REV >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+echo >> "$TS_OUTPUT"
+printf "abc\000123" | $TS_CMD_REV --zero | tr '\0' '|' >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+echo >> "$TS_OUTPUT"
ts_finalize
ts_log "masks:"
for i in $MASKS; do
- $TS_HELPER_CPUSET --mask $i >> $TS_OUTPUT
+ $TS_HELPER_CPUSET --mask $i >> "$TS_OUTPUT"
done
ts_log "strings:"
for i in $RANGES; do
- $TS_HELPER_CPUSET --range $i >> $TS_OUTPUT
+ $TS_HELPER_CPUSET --range $i >> "$TS_OUTPUT"
done
ts_finalize
ts_check_test_command "$TS_CMD_SCRIPT"
#SCRIPT_DEBUG=all ULPTY_DEBUG=all
-$TS_CMD_SCRIPT --command "echo Hallo World" /dev/null </dev/null >$TS_OUTPUT
+$TS_CMD_SCRIPT --command "echo Hallo World" /dev/null </dev/null >"$TS_OUTPUT"
ts_finalize
ts_check_test_command "$TS_HELPER_SCRIPT"
ts_init_subtest "append"
-$TS_HELPER_SCRIPT --command "echo append1" $TS_OUTPUT </dev/null >/dev/null 2>&1
-$TS_HELPER_SCRIPT --append --command "echo append2" $TS_OUTPUT </dev/null >/dev/null 2>&1
+$TS_HELPER_SCRIPT --command "echo append1" "$TS_OUTPUT" </dev/null >/dev/null 2>&1
+$TS_HELPER_SCRIPT --append --command "echo append2" "$TS_OUTPUT" </dev/null >/dev/null 2>&1
ts_finalize_subtest
ts_init_subtest "force"
-ln -s $TS_OUTPUT typescript
-$TS_HELPER_SCRIPT --command "echo no force" </dev/null >/dev/null 2>> $TS_OUTPUT
-echo $? >> $TS_OUTPUT
+ln -s "$TS_OUTPUT" typescript
+$TS_HELPER_SCRIPT --command "echo no force" </dev/null >/dev/null 2>> "$TS_OUTPUT"
+echo $? >> "$TS_OUTPUT"
$TS_HELPER_SCRIPT --append --force --command "echo with force" </dev/null >/dev/null
-echo $? >> $TS_OUTPUT
+echo $? >> "$TS_OUTPUT"
rm -f typescript
-ln -s $TS_OUTPUT tpircsepyt
+ln -s "$TS_OUTPUT" tpircsepyt
$TS_HELPER_SCRIPT --append --command "echo not typescript" tpircsepyt </dev/null >/dev/null
-echo $? >> $TS_OUTPUT
+echo $? >> "$TS_OUTPUT"
rm -f tpircsepyt
ts_finalize_subtest
ts_init_subtest "quiet"
-$TS_HELPER_SCRIPT --quiet --command "echo quiet1" $TS_OUTPUT </dev/null >/dev/null 2>&1
-$TS_HELPER_SCRIPT --append --quiet --command "echo quiet2" $TS_OUTPUT </dev/null >/dev/null 2>&1
+$TS_HELPER_SCRIPT --quiet --command "echo quiet1" "$TS_OUTPUT" </dev/null >/dev/null 2>&1
+$TS_HELPER_SCRIPT --append --quiet --command "echo quiet2" "$TS_OUTPUT" </dev/null >/dev/null 2>&1
ts_finalize_subtest
ts_init_subtest "return"
-$TS_HELPER_SCRIPT --command "exit 1" $TS_OUTPUT </dev/null >/dev/null 2>&1
-echo $? >> $TS_OUTPUT
-$TS_HELPER_SCRIPT -a --command "exit 0" $TS_OUTPUT </dev/null >/dev/null 2>&1
-echo $? >> $TS_OUTPUT
-$TS_HELPER_SCRIPT --return --append -c "exit 42" $TS_OUTPUT </dev/null >/dev/null 2>&1
-echo $? >> $TS_OUTPUT
-$TS_HELPER_SCRIPT --return --append -c "exit 127" $TS_OUTPUT </dev/null >/dev/null 2>&1
-echo $? >> $TS_OUTPUT
+$TS_HELPER_SCRIPT --command "exit 1" "$TS_OUTPUT" </dev/null >/dev/null 2>&1
+echo $? >> "$TS_OUTPUT"
+$TS_HELPER_SCRIPT -a --command "exit 0" "$TS_OUTPUT" </dev/null >/dev/null 2>&1
+echo $? >> "$TS_OUTPUT"
+$TS_HELPER_SCRIPT --return --append -c "exit 42" "$TS_OUTPUT" </dev/null >/dev/null 2>&1
+echo $? >> "$TS_OUTPUT"
+$TS_HELPER_SCRIPT --return --append -c "exit 127" "$TS_OUTPUT" </dev/null >/dev/null 2>&1
+echo $? >> "$TS_OUTPUT"
ts_finalize_subtest
ts_init_subtest "size"
-$TS_HELPER_SCRIPT --output-limit 9 --command "echo 1:1234567890" $TS_OUTPUT </dev/null >/dev/null 2>&1
-$TS_HELPER_SCRIPT -a --output-limit 9 --command "echo 2:1234567890" $TS_OUTPUT </dev/null >/dev/null 2>&1
-echo $? >> $TS_OUTPUT
+$TS_HELPER_SCRIPT --output-limit 9 --command "echo 1:1234567890" "$TS_OUTPUT" </dev/null >/dev/null 2>&1
+$TS_HELPER_SCRIPT -a --output-limit 9 --command "echo 2:1234567890" "$TS_OUTPUT" </dev/null >/dev/null 2>&1
+echo $? >> "$TS_OUTPUT"
ts_finalize_subtest
ts_finalize
count=1000
for i in `seq 1 $count`; do
$TS_CMD_SCRIPT -q -c "printf 'Bingo\n'" $bingofile
-done | grep -c Bingo >> $TS_OUTPUT
+done | grep -c Bingo >> "$TS_OUTPUT"
-seen=$(<$TS_OUTPUT)
+seen=$(<"$TS_OUTPUT")
if [ "$seen" = "$count" ]; then
- echo "all bingos seen" > $TS_OUTPUT
+ echo "all bingos seen" > "$TS_OUTPUT"
else
- echo "only $seen of $count bingos seen" > $TS_OUTPUT
+ echo "only $seen of $count bingos seen" > "$TS_OUTPUT"
fi
rm -f $bingofile
$TS_CMD_SCRIPT \
--command "echo hello world; sleep 0.5; echo all done" \
--timing="$TIMING_FILE" \
- "$LOG_OUT_FILE" >> $TS_OUTPUT 2>> $TS_ERRLOG
+ "$LOG_OUT_FILE" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
echo "===replaying" >>"$TS_OUTPUT"
-$TS_CMD_SCRIPTREPLAY "$TIMING_FILE" "$LOG_OUT_FILE" 1.5 >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_SCRIPTREPLAY "$TIMING_FILE" "$LOG_OUT_FILE" 1.5 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
-sed -i "s|$TIMING_FILE|timingfile|g; s|$LOG_OUT_FILE|outlog|g" $TS_OUTPUT $TS_ERRLOG
+sed -i "s|$TIMING_FILE|timingfile|g; s|$LOG_OUT_FILE|outlog|g" "$TS_OUTPUT" "$TS_ERRLOG"
ts_finalize_subtest
NUMBER=1 $TS_CMD_SCRIPT \
--command 'echo "result is $(($NUMBER + 1))"' \
--log-out "$LOG_OUT_FILE" \
- --log-timing "$TIMING_FILE" >> $TS_OUTPUT 2>> $TS_ERRLOG
+ --log-timing "$TIMING_FILE" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
echo "===replaying" >>"$TS_OUTPUT"
$TS_CMD_SCRIPTREPLAY \
--log-out "$LOG_OUT_FILE" \
- --log-timing "$TIMING_FILE" >> $TS_OUTPUT 2>> $TS_ERRLOG
+ --log-timing "$TIMING_FILE" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
-sed -i "s|$TIMING_FILE|timingfile|g; s|$LOG_OUT_FILE|outlog|g" $TS_OUTPUT $TS_ERRLOG
+sed -i "s|$TIMING_FILE|timingfile|g; s|$LOG_OUT_FILE|outlog|g" "$TS_OUTPUT" "$TS_ERRLOG"
ts_finalize_subtest
echo 'echo "result is $(($NUMBER + 1))"' | $TS_CMD_SCRIPT \
--command 'sh' \
--log-in "$LOG_IN_FILE" \
- --log-timing "$TIMING_FILE" >> /dev/null 2>> $TS_ERRLOG
+ --log-timing "$TIMING_FILE" >> /dev/null 2>> "$TS_ERRLOG"
echo "===replaying" >>"$TS_OUTPUT"
$TS_CMD_SCRIPTREPLAY \
--log-in "$LOG_IN_FILE" \
- --log-timing "$TIMING_FILE" >> $TS_OUTPUT 2>> $TS_ERRLOG
+ --log-timing "$TIMING_FILE" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
NUMBER=123 $TS_CMD_SCRIPTLIVE \
--command 'sh' \
--log-in "$LOG_IN_FILE" \
- --log-timing "$TIMING_FILE" >> $TS_OUTPUT 2>> $TS_ERRLOG
-sed -i 's/^[[:alnum:][:punct:][:blank:]]*[\$\#] /prompt> /g' $TS_OUTPUT
+ --log-timing "$TIMING_FILE" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+sed -i 's/^[[:alnum:][:punct:][:blank:]]*[\$\#] /prompt> /g' "$TS_OUTPUT"
ts_finalize_subtest
ts_finalize
ts_cd "$TS_OUTDIR"
-LC_ALL=C "$TS_CMD_SETARCH" --pid=$$ 2 2> $TS_ERRLOG > $TS_OUTPUT
-echo "exit status: $?" >> $TS_OUTPUT
+LC_ALL=C "$TS_CMD_SETARCH" --pid=$$ 2 2> "$TS_ERRLOG" > "$TS_OUTPUT"
+echo "exit status: $?" >> "$TS_OUTPUT"
ts_finalize
ts_init_subtest options
ts_log_both "###### unknown arch"
-$TS_CMD_SETARCH qubit --verbose echo "success" >> $TS_OUTPUT 2>> $TS_ERRLOG
-echo "exit: $?" >>$TS_OUTPUT
+$TS_CMD_SETARCH qubit --verbose echo "success" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+echo "exit: $?" >>"$TS_OUTPUT"
ts_log_both "###### unknown command"
-$TS_CMD_SETARCH $ARCH --verbose /das/gibs/nicht >> $TS_OUTPUT 2>> $TS_ERRLOG
-echo "exit: $?" >>$TS_OUTPUT
+$TS_CMD_SETARCH $ARCH --verbose /das/gibs/nicht >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+echo "exit: $?" >>"$TS_OUTPUT"
-echo "###### noop uname -a" >>$TS_OUTPUT
+echo "###### noop uname -a" >>"$TS_OUTPUT"
uname_a=$(uname -srm)
-$TS_CMD_SETARCH $ARCH --verbose uname -srm >> $TS_OUTPUT 2>> $TS_ERRLOG
-sed -i "$ s@${uname_a}@uname -a unchanged@" $TS_OUTPUT
+$TS_CMD_SETARCH $ARCH --verbose uname -srm >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+sed -i "$ s@${uname_a}@uname -a unchanged@" "$TS_OUTPUT"
-echo "###### almost all options" >>$TS_OUTPUT
-$TS_CMD_SETARCH $ARCH -vRFZLXBIST3 echo "success" >> $TS_OUTPUT 2>> $TS_ERRLOG
+echo "###### almost all options" >>"$TS_OUTPUT"
+$TS_CMD_SETARCH $ARCH -vRFZLXBIST3 echo "success" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest uname26
finmsg="" # for debugging 2.6 issues
-echo "###### --uname-2.6 echo" >>$TS_OUTPUT
-$TS_CMD_SETARCH $ARCH --verbose --uname-2.6 echo "2.6 worked" >> $TS_OUTPUT 2>&1
+echo "###### --uname-2.6 echo" >>"$TS_OUTPUT"
+$TS_CMD_SETARCH $ARCH --verbose --uname-2.6 echo "2.6 worked" >> "$TS_OUTPUT" 2>&1
if [ $? -eq 0 ]; then
expected='^2.6 worked$'
else
expected="^FATAL: kernel too old$"
finmsg+=" echo"
fi
-sed -i "$ s/$expected/2.6 works or kernel too old/" $TS_OUTPUT
+sed -i "$ s/$expected/2.6 works or kernel too old/" "$TS_OUTPUT"
-echo "###### --uname-2.6 true, non-verbose" >>$TS_OUTPUT
-$TS_CMD_SETARCH $ARCH --uname-2.6 true >> $TS_OUTPUT 2>&1
+echo "###### --uname-2.6 true, non-verbose" >>"$TS_OUTPUT"
+$TS_CMD_SETARCH $ARCH --uname-2.6 true >> "$TS_OUTPUT" 2>&1
if [ $? -eq 0 ]; then
- echo "2.6 works or kernel too old" >> $TS_OUTPUT
+ echo "2.6 works or kernel too old" >> "$TS_OUTPUT"
else
# this may happen after execvp - gets written to stderr
expected="^FATAL: kernel too old$"
- sed -i "$ s/$expected/2.6 works or kernel too old/" $TS_OUTPUT
+ sed -i "$ s/$expected/2.6 works or kernel too old/" "$TS_OUTPUT"
finmsg+=" true"
fi
ts_init_subtest uname26-version
tmp=$($TS_CMD_SETARCH $ARCH --uname-2.6 uname -r)
if echo "$tmp" | grep -q "^2\.6\."; then
- echo "kernel version changed to 2.6" >> $TS_OUTPUT
+ echo "kernel version changed to 2.6" >> "$TS_OUTPUT"
else
- echo "uname26 failed" >> $TS_OUTPUT
- echo "original kernel: $(uname -r)" >> $TS_OUTPUT
- echo "uname26 kernel: $tmp" >> $TS_OUTPUT
+ echo "uname26 failed" >> "$TS_OUTPUT"
+ echo "original kernel: $(uname -r)" >> "$TS_OUTPUT"
+ echo "uname26 kernel: $tmp" >> "$TS_OUTPUT"
fi
ts_finalize_subtest
fi # conditional subtest
ts_init_subtest show
-echo "###### --show" >>$TS_OUTPUT
+echo "###### --show" >>"$TS_OUTPUT"
show() {
- echo -n "$1: " >> $TS_OUTPUT
- $TS_CMD_SETARCH --show=$1 >> $TS_OUTPUT 2> $TS_ERRLOG
+ echo -n "$1: " >> "$TS_OUTPUT"
+ $TS_CMD_SETARCH --show=$1 >> "$TS_OUTPUT" 2> "$TS_ERRLOG"
}
show 0x00000000
fi
exec {BASH[1]}>&-
wait ${BASH_PID}
-} > $TS_OUTPUT 2>&1
+} > "$TS_OUTPUT" 2>&1
if [[ -n "$SKIP_REASON" ]]; then
ts_skip "$SKIP_REASON"
ts_check_test_command "$TS_CMD_SETPGID"
[ -e /proc/self/stat ] || ts_skip "/proc/self/stat is missing"
-$TS_CMD_SETPGID echo "success" >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_SETPGID echo "success" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
# qemu-user always reports '0' for the pgid field which prevents the test from
# working so we skip it.
PGID1="$(awk '{print $5}' /proc/self/stat)"
PGID2="$($TS_CMD_SETPGID awk '{print $5}' /proc/self/stat)"
-test ! "$PGID1" = "$PGID2" && echo "not equal" >> $TS_OUTPUT
+test ! "$PGID1" = "$PGID2" && echo "not equal" >> "$TS_OUTPUT"
ts_finalize
ts_check_test_command "$TS_CMD_SETSID"
-$TS_CMD_SETSID echo "success" >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_SETSID echo "success" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize
ts_init_subtest "simple-commas"
-$TS_CMD_SFDISK --unit S ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG <<EOF
+$TS_CMD_SFDISK --unit S ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" <<EOF
2048,6144,L
8192, 6144,S
14336 , 6144 ,
ts_init_subtest "activate"
-$TS_CMD_SFDISK --activate ${TS_DEVICE} 1 >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_SFDISK --unit S --list ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_SFDISK --activate ${TS_DEVICE} 1 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_SFDISK --unit S --list ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fdisk_clean $TS_DEVICE
udevadm settle
ts_finalize_subtest
ts_init_subtest "simple-space"
$TS_CMD_WIPEFS --all ${TS_DEVICE} &> /dev/null
udevadm settle
-$TS_CMD_SFDISK --unit S ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG <<EOF
+$TS_CMD_SFDISK --unit S ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" <<EOF
2048 6144 L
8192 6144 S
,,
ts_init_subtest "read-dump-case"
$TS_CMD_WIPEFS --all ${TS_DEVICE} &> /dev/null
udevadm settle
-$TS_CMD_SFDISK --unit S ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG <<EOF
+$TS_CMD_SFDISK --unit S ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" <<EOF
unit: sectors
label-id: 0x1ddc8a79
ts_init_subtest "read-dump"
$TS_CMD_WIPEFS --all ${TS_DEVICE} &> /dev/null
udevadm settle
-$TS_CMD_SFDISK --unit S ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG <<EOF
+$TS_CMD_SFDISK --unit S ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" <<EOF
unit: sectors
label-id: 0x1ddc8a79
ts_init_subtest "write-dump"
-$TS_CMD_SFDISK --unit S --dump ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_SFDISK --unit S --dump ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fdisk_clean $TS_DEVICE
ts_finalize_subtest
ts_init_subtest "write-json"
-$TS_CMD_SFDISK --json ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_SFDISK --json ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fdisk_clean $TS_DEVICE
ts_finalize_subtest
ts_init_subtest "explicit-size"
$TS_CMD_WIPEFS --all ${TS_DEVICE} &> /dev/null
udevadm settle
-$TS_CMD_SFDISK --unit S ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG <<EOF
+$TS_CMD_SFDISK --unit S ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" <<EOF
label: dos
1, 1000, L
1001, 1000, S
,10M,S,*
EOF
udevadm settle
-echo ',+' | $TS_CMD_SFDISK --no-reread -N1 ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG
+echo ',+' | $TS_CMD_SFDISK --no-reread -N1 ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fdisk_clean $TS_DEVICE
udevadm settle
ts_finalize_subtest
,2M,E
EOF
udevadm settle
-echo ',+' | $TS_CMD_SFDISK --no-reread -N2 ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG
+echo ',+' | $TS_CMD_SFDISK --no-reread -N2 ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fdisk_clean $TS_DEVICE
udevadm settle
ts_finalize_subtest
,5M,E
EOF
udevadm settle
-echo ',-2M' | $TS_CMD_SFDISK --no-reread -N2 ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG
+echo ',-2M' | $TS_CMD_SFDISK --no-reread -N2 ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fdisk_clean $TS_DEVICE
udevadm settle
ts_finalize_subtest
,1M
EOF
udevadm settle
-echo ',+' | $TS_CMD_SFDISK --no-reread -N4 ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG
+echo ',+' | $TS_CMD_SFDISK --no-reread -N4 ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fdisk_clean $TS_DEVICE
udevadm settle
ts_finalize_subtest
,1M
EOF
udevadm settle
-echo ',+' | $TS_CMD_SFDISK --no-reread -N6 ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG
+echo ',+' | $TS_CMD_SFDISK --no-reread -N6 ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fdisk_clean $TS_DEVICE
udevadm settle
ts_finalize_subtest
ts_init_subtest "dump-old"
$TS_CMD_WIPEFS --all ${TS_DEVICE} &> /dev/null
udevadm settle
-$TS_CMD_SFDISK ${TS_DEVICE} < $TS_SELF/files/dump-old >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_SFDISK ${TS_DEVICE} < $TS_SELF/files/dump-old >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
udevadm settle
ts_fdisk_clean $TS_DEVICE
udevadm settle
ts_init_subtest "dump-gaps"
$TS_CMD_WIPEFS --all ${TS_DEVICE} &> /dev/null
udevadm settle
-$TS_CMD_SFDISK ${TS_DEVICE} < $TS_SELF/files/dump-gaps >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_SFDISK ${TS_DEVICE} < $TS_SELF/files/dump-gaps >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
udevadm settle
ts_fdisk_clean $TS_DEVICE
udevadm settle
ts_init_subtest "default-vs-gap1"
$TS_CMD_WIPEFS --all ${TS_DEVICE} &> /dev/null
udevadm settle
-$TS_CMD_SFDISK ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG <<EOF
+$TS_CMD_SFDISK ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" <<EOF
3MiB 5MiB L
- 6MiB L
EOF
ts_init_subtest "default-vs-gap2"
$TS_CMD_WIPEFS --all ${TS_DEVICE} &> /dev/null
udevadm settle
-$TS_CMD_SFDISK ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG <<EOF
+$TS_CMD_SFDISK ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" <<EOF
4MiB 3MiB L
13MiB 5MiB L
- 4MiB L
ts_init_subtest "sizes-vs-gaps"
$TS_CMD_WIPEFS --all ${TS_DEVICE} &> /dev/null
udevadm settle
-$TS_CMD_SFDISK ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG <<EOF
+$TS_CMD_SFDISK ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" <<EOF
2048 1023 L -
4096 4095 L -
8192 8191 L -
ts_init_subtest "v2.32"
$TS_CMD_WIPEFS -a ${TS_DEVICE} &> /dev/null
udevadm settle
-$TS_CMD_SFDISK ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG <<EOF
+$TS_CMD_SFDISK ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" <<EOF
label: gpt
label-id: 613005F9-1C8C-E141-8AEB-F32E8E296C75
device: ${TS_DEVICE}
${TS_DEVICE}4 : start= 69632, size= 135135, type=0FC63DAF-8483-4772-8E79-3D69D8477DE4, uuid=AF79D434-C8B3-2445-80FB-317AB157447C
EOF
udevadm settle
-$TS_CMD_SFDISK --list -o START,END,SIZE,UUID,TYPE,NAME ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_SFDISK --list -o START,END,SIZE,UUID,TYPE,NAME ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fdisk_clean $TS_DEVICE
ts_finalize_subtest
ts_init_subtest "v2.35"
$TS_CMD_WIPEFS -a ${TS_DEVICE} &> /dev/null
udevadm settle
-$TS_CMD_SFDISK ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG <<EOF
+$TS_CMD_SFDISK ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" <<EOF
label: gpt
label-id: 613005F9-1C8C-E141-8AEB-F32E8E296C75
device: ${TS_DEVICE}
${TS_DEVICE}4 : start= 69632, size= 135135, type=0FC63DAF-8483-4772-8E79-3D69D8477DE4, uuid=AF79D434-C8B3-2445-80FB-317AB157447C
EOF
udevadm settle
-$TS_CMD_SFDISK --list -o START,END,SIZE,UUID,TYPE,NAME ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_SFDISK --list -o START,END,SIZE,UUID,TYPE,NAME ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fdisk_clean $TS_DEVICE
ts_finalize_subtest
ts_init_subtest "current"
-$TS_CMD_SFDISK --dump ${TS_DEVICE} > $TS_OUTPUT.dump 2>> $TS_ERRLOG
+$TS_CMD_SFDISK --dump ${TS_DEVICE} > "$TS_OUTPUT".dump 2>> "$TS_ERRLOG"
$TS_CMD_WIPEFS -a ${TS_DEVICE} &> /dev/null
udevadm settle
-cat $TS_OUTPUT.dump | $TS_CMD_SFDISK ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG
+cat "$TS_OUTPUT".dump | $TS_CMD_SFDISK ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
udevadm settle
-$TS_CMD_SFDISK --list -o START,END,SIZE,UUID,TYPE,NAME ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_SFDISK --list -o START,END,SIZE,UUID,TYPE,NAME ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fdisk_clean $TS_DEVICE
ts_finalize_subtest
ts_init_subtest "all-defaults"
-$TS_CMD_SFDISK --unit S ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG <<EOF
+$TS_CMD_SFDISK --unit S ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" <<EOF
label: gpt
label-id: b181c399-4711-4c52-8b65-9e764541218d
$TS_CMD_SFDISK --part-uuid ${TS_DEVICE} 4 d4fcdc60-765d-4bc3-bd84-0d0b9842c6db &> /dev/null
$TS_CMD_SFDISK --part-uuid ${TS_DEVICE} 5 60155bd7-bfd8-4e8c-b800-221900779373 &> /dev/null
-$TS_CMD_SFDISK --part-uuid ${TS_DEVICE} 1 >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_SFDISK --part-uuid ${TS_DEVICE} 1 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fdisk_clean $TS_DEVICE
udevadm settle
ts_finalize_subtest
ts_init_subtest "label"
-$TS_CMD_SFDISK --part-label ${TS_DEVICE} 1 "EFI system" >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_SFDISK --part-label ${TS_DEVICE} 1 >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_SFDISK --part-label ${TS_DEVICE} 1 "EFI system" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_SFDISK --part-label ${TS_DEVICE} 1 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fdisk_clean $TS_DEVICE
udevadm settle
ts_finalize_subtest
ts_init_subtest "type"
-$TS_CMD_SFDISK --part-type ${TS_DEVICE} 1 "C12A7328-F81F-11D2-BA4B-00A0C93EC93B" >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_SFDISK --part-type ${TS_DEVICE} 1 >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_SFDISK --part-type ${TS_DEVICE} 1 "C12A7328-F81F-11D2-BA4B-00A0C93EC93B" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_SFDISK --part-type ${TS_DEVICE} 1 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fdisk_clean $TS_DEVICE
udevadm settle
ts_finalize_subtest
ts_init_subtest "attrs"
-$TS_CMD_SFDISK --part-attrs ${TS_DEVICE} 2 "RequiredPartition,NoBlockIOProtocol,48,51" >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_SFDISK --part-attrs ${TS_DEVICE} 2 >> $TS_OUTPUT 2>> $TS_ERRLOG
-echo -ne 'x\nD\n' | $TS_CMD_FDISK ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_SFDISK --part-attrs ${TS_DEVICE} 2 "RequiredPartition,NoBlockIOProtocol,48,51" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_SFDISK --part-attrs ${TS_DEVICE} 2 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+echo -ne 'x\nD\n' | $TS_CMD_FDISK ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fdisk_clean $TS_DEVICE
udevadm settle
ts_finalize_subtest
ts_init_subtest "attrs-space"
-$TS_CMD_SFDISK --part-attrs ${TS_DEVICE} 2 "RequiredPartition NoBlockIOProtocol 48 51" >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_SFDISK --part-attrs ${TS_DEVICE} 2 >> $TS_OUTPUT 2>> $TS_ERRLOG
-echo -ne 'x\nD\n' | $TS_CMD_FDISK ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_SFDISK --part-attrs ${TS_DEVICE} 2 "RequiredPartition NoBlockIOProtocol 48 51" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_SFDISK --part-attrs ${TS_DEVICE} 2 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+echo -ne 'x\nD\n' | $TS_CMD_FDISK ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fdisk_clean $TS_DEVICE
udevadm settle
ts_finalize_subtest
ts_init_subtest "attrs-guid"
-$TS_CMD_SFDISK --part-attrs ${TS_DEVICE} 2 "GUID:48 GUID:51,52,63" >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_SFDISK --part-attrs ${TS_DEVICE} 2 >> $TS_OUTPUT 2>> $TS_ERRLOG
-echo -ne 'x\nD\n' | $TS_CMD_FDISK ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_SFDISK --part-attrs ${TS_DEVICE} 2 "GUID:48 GUID:51,52,63" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_SFDISK --part-attrs ${TS_DEVICE} 2 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+echo -ne 'x\nD\n' | $TS_CMD_FDISK ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fdisk_clean $TS_DEVICE
udevadm settle
ts_finalize_subtest
ts_init_subtest "attrs-with-typo"
-$TS_CMD_SFDISK --part-attrs ${TS_DEVICE} 2 "RequiredPartiton,NoBlockIOProtocol,48,51" >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_SFDISK --part-attrs ${TS_DEVICE} 2 >> $TS_OUTPUT 2>> $TS_ERRLOG
-echo -ne 'x\nD\n' | $TS_CMD_FDISK ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_SFDISK --part-attrs ${TS_DEVICE} 2 "RequiredPartiton,NoBlockIOProtocol,48,51" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_SFDISK --part-attrs ${TS_DEVICE} 2 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+echo -ne 'x\nD\n' | $TS_CMD_FDISK ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fdisk_clean $TS_DEVICE
udevadm settle
ts_finalize_subtest
ts_init_subtest "attrs-unsupported"
-$TS_CMD_SFDISK --part-attrs ${TS_DEVICE} 2 "NoBlockIOProtocol FooBar 48 51" >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_SFDISK --part-attrs ${TS_DEVICE} 2 "NoBlockIOProtocol FooBar 48 51" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fdisk_clean $TS_DEVICE
ts_finalize_subtest
ts_init_subtest "attrs-broken-nosep"
-$TS_CMD_SFDISK --part-attrs ${TS_DEVICE} 2 "NoBlockIOProtocolRequiredPartiton" >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_SFDISK --part-attrs ${TS_DEVICE} 2 "NoBlockIOProtocolRequiredPartiton" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fdisk_clean $TS_DEVICE
ts_finalize_subtest
ts_init_subtest "attrs-broken-guid"
-$TS_CMD_SFDISK --part-attrs ${TS_DEVICE} 2 "GUID:NoBlockIOProtocol GUID:GUID:63 RequiredPartiton" >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_SFDISK --part-attrs ${TS_DEVICE} 2 "GUID:NoBlockIOProtocol GUID:GUID:63 RequiredPartiton" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fdisk_clean $TS_DEVICE
ts_finalize_subtest
ts_init_subtest "read-dump"
$TS_CMD_WIPEFS -a ${TS_DEVICE} &> /dev/null
udevadm settle
-$TS_CMD_SFDISK ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG <<EOF
+$TS_CMD_SFDISK ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" <<EOF
unit: sectors
label: gpt
label-id: 3b8559db-33af-43e9-befc-c331d829b539
${TS_DEVICE}4 : start=20480, size=81887,uuid=d2a29b0a-fdee-40c3-9bae-b9fa782c986c, name="GPT is the best"
EOF
udevadm settle
-$TS_CMD_SFDISK --list -o START,END,SIZE,UUID,TYPE,NAME ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_SFDISK --list -o START,END,SIZE,UUID,TYPE,NAME ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fdisk_clean $TS_DEVICE
ts_finalize_subtest
ts_init_subtest "write-dump"
-$TS_CMD_SFDISK --unit S --dump ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_SFDISK --unit S --dump ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fdisk_clean $TS_DEVICE
ts_finalize_subtest
ts_init_subtest "write-json"
-$TS_CMD_SFDISK --json ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_SFDISK --json ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fdisk_clean $TS_DEVICE
ts_finalize_subtest
ts_init_subtest "list-pmbr"
-$TS_CMD_SFDISK --list --label-nested dos ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_SFDISK --list --label-nested dos ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fdisk_clean $TS_DEVICE
ts_finalize_subtest
,10M,S,*
EOF
udevadm settle
-echo ',+' | $TS_CMD_SFDISK --no-reread -N1 ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG
+echo ',+' | $TS_CMD_SFDISK --no-reread -N1 ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fdisk_clean $TS_DEVICE
udevadm settle
ts_finalize_subtest
ts_init_subtest "reorder"
$TS_CMD_WIPEFS -a ${TS_DEVICE} &> /dev/null
udevadm settle
-$TS_CMD_SFDISK ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG <<EOF
+$TS_CMD_SFDISK ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" <<EOF
unit: sectors
label: gpt
label-id: 3b8559db-33af-43e9-befc-c331d829b539
EOF
udevadm settle
# why --reorder does not re-read?
-$TS_CMD_SFDISK --reorder ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG
-$TS_CMD_SFDISK --list ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_SFDISK --reorder ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+$TS_CMD_SFDISK --list ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fdisk_clean $TS_DEVICE
udevadm settle
ts_finalize_subtest
local dev="$1"
CHECK=$("$TS_HELPER_MD5" < "${dev}")
if [ "$CHECKSUM" != "$CHECK" ]; then
- echo "Checksum does not match!" >> $TS_OUTPUT
+ echo "Checksum does not match!" >> "$TS_OUTPUT"
fi
}
ts_init_subtest "up"
-echo '+1000,' | $TS_CMD_SFDISK --no-reread --move-data=$TS_OUTPUT.log -N1 ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG
+echo '+1000,' | $TS_CMD_SFDISK --no-reread --move-data="$TS_OUTPUT".log -N1 ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fdisk_clean $TS_DEVICE
udevadm settle
checksum ${TS_DEVICE}1
udevadm settle
ts_init_subtest "down"
-echo "-500," | $TS_CMD_SFDISK --no-reread --move-data=$TS_OUTPUT.log -N1 ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG
+echo "-500," | $TS_CMD_SFDISK --no-reread --move-data="$TS_OUTPUT".log -N1 ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fdisk_clean $TS_DEVICE
udevadm settle
checksum ${TS_DEVICE}1
udevadm settle
ts_init_subtest "non-overlay"
-echo "+30M," | $TS_CMD_SFDISK --no-reread --move-data=$TS_OUTPUT.log -N1 ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG
+echo "+30M," | $TS_CMD_SFDISK --no-reread --move-data="$TS_OUTPUT".log -N1 ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fdisk_clean $TS_DEVICE
udevadm settle
checksum ${TS_DEVICE}1
name=${NAME[$idx]}
ts_init_subtest "$label-$idx-$name"
- echo -e "$cmd\n" >> $TS_OUTPUT
- echo "$cmd" | $TS_CMD_SFDISK --no-reread -N1 ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG
+ echo -e "$cmd\n" >> "$TS_OUTPUT"
+ echo "$cmd" | $TS_CMD_SFDISK --no-reread -N1 ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fdisk_clean $TS_DEVICE
udevadm settle
ts_finalize_subtest
idx=$(( $idx + 1 ))
ts_init_subtest "$label-$idx-reduce-midle"
cmd=',-5M'
- echo -e "$cmd\n" >> $TS_OUTPUT
- echo "$cmd" | $TS_CMD_SFDISK --no-reread -N2 ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG
+ echo -e "$cmd\n" >> "$TS_OUTPUT"
+ echo "$cmd" | $TS_CMD_SFDISK --no-reread -N2 ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fdisk_clean $TS_DEVICE
udevadm settle
ts_finalize_subtest
idx=$(( $idx + 1 ))
ts_init_subtest "$label-$idx-max-last"
cmd='-5M,+'
- echo -e "$cmd\n" >> $TS_OUTPUT
- echo $cmd | $TS_CMD_SFDISK --no-reread -N3 ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG
+ echo -e "$cmd\n" >> "$TS_OUTPUT"
+ echo $cmd | $TS_CMD_SFDISK --no-reread -N3 ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fdisk_clean $TS_DEVICE
udevadm settle
ts_finalize_subtest
# and there is freespace at the end of the disk. Note that #4 is not the last
# partno on the disk. The libfdisk has to be able to check for the free space
# independently on the partno, only offset+size matters.
-$TS_CMD_SFDISK --no-reread ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG <<EOF
+$TS_CMD_SFDISK --no-reread ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" <<EOF
label: dos
label-id: 0xda2e45ac
device: ${TS_DEVICE}
EOF
udevadm settle
# enlarge to use all space behind partition #4
-echo ',+,' | $TS_CMD_SFDISK --no-reread -N 4 ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG
+echo ',+,' | $TS_CMD_SFDISK --no-reread -N 4 ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fdisk_clean $TS_DEVICE
udevadm settle
ts_finalize_subtest
ts_init_subtest "type-and-id"
$TS_CMD_WIPEFS -a ${TS_DEVICE} &> /dev/null
udevadm settle
-$TS_CMD_SFDISK ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG <<EOF
+$TS_CMD_SFDISK ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" <<EOF
unit: sectors
label: gpt
label-id: 3b8559db-33af-43e9-befc-c331d829b539
${TS_DEVICE}4 : start=20480, size=81887,Type=44479540-F297-41B2-9AF7-D131D5F0458A, uuid=d2a29b0a-fdee-40c3-9bae-b9fa782c986c
EOF
udevadm settle
-$TS_CMD_SFDISK --list -o START,END,SIZE,UUID,TYPE,NAME ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_SFDISK --list -o START,END,SIZE,UUID,TYPE,NAME ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fdisk_clean $TS_DEVICE
ts_finalize_subtest
ts_init_subtest "separator"
$TS_CMD_WIPEFS -a ${TS_DEVICE} &> /dev/null
udevadm settle
-$TS_CMD_SFDISK ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG <<EOF
+$TS_CMD_SFDISK ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" <<EOF
unit: sectors
label: gpt
label-id: 3b8559db-33af-43e9-befc-c331d829b539
${TS_DEVICE}4 : start=20480; size=81887 ; uuid=d2a29b0a-fdee-40c3-9bae-b9fa782c986c
EOF
udevadm settle
-$TS_CMD_SFDISK --list -o START,END,SIZE,UUID,TYPE,NAME ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_SFDISK --list -o START,END,SIZE,UUID,TYPE,NAME ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fdisk_clean $TS_DEVICE
ts_finalize_subtest
ts_init_subtest "quotes"
$TS_CMD_WIPEFS -a ${TS_DEVICE} &> /dev/null
udevadm settle
-$TS_CMD_SFDISK ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG <<EOF
+$TS_CMD_SFDISK ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" <<EOF
unit: sectors
label: gpt
label-id: 3b8559db-33af-43e9-befc-c331d829b539
${TS_DEVICE}4 : start=20480 uuid="d2a29b0a-fdee-40c3-9bae-b9fa782c986c", size=6144
EOF
udevadm settle
-$TS_CMD_SFDISK --list -o START,END,SIZE,UUID,TYPE,NAME ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_SFDISK --list -o START,END,SIZE,UUID,TYPE,NAME ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fdisk_clean $TS_DEVICE
ts_finalize_subtest
ts_init_subtest "broken-1"
$TS_CMD_WIPEFS -a ${TS_DEVICE} &> /dev/null
udevadm settle
-$TS_CMD_SFDISK ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG <<EOF
+$TS_CMD_SFDISK ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" <<EOF
unit: sectors
label: gpt
label-id: 3b8559db-33af-43e9-befc-c331d829b539
ts_init_subtest "broken-2"
$TS_CMD_WIPEFS -a ${TS_DEVICE} &> /dev/null
udevadm settle
-$TS_CMD_SFDISK ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG <<EOF
+$TS_CMD_SFDISK ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" <<EOF
unit: sectors
label: gpt
label-id: 3b8559db-33af-43e9-befc-c331d829b539
ts_init_subtest "broken-3"
$TS_CMD_WIPEFS -a ${TS_DEVICE} &> /dev/null
udevadm settle
-$TS_CMD_SFDISK ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG <<EOF
+$TS_CMD_SFDISK ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" <<EOF
unit: sectors
label: gpt
label-id: 3b8559db-33af-43e9-befc-c331d829b539
ts_init_subtest "broken-4"
$TS_CMD_WIPEFS -a ${TS_DEVICE} &> /dev/null
udevadm settle
-$TS_CMD_SFDISK ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG <<EOF
+$TS_CMD_SFDISK ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" <<EOF
unit: sectors
label: gpt
label-id: 3b8559db-33af-43e9-befc-c331d829b539
ts_init_subtest "broken-5"
$TS_CMD_WIPEFS -a ${TS_DEVICE} &> /dev/null
udevadm settle
-$TS_CMD_SFDISK ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG <<EOF
+$TS_CMD_SFDISK ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" <<EOF
unit: sectors
label: gpt
label-id: 3b8559db-33af-43e9-befc-c331d829b539
ts_init_subtest "gpt-to-dos"
ts_separator "Create GPT"
-echo ',,L' | $TS_CMD_SFDISK $SFDISK_OPTS --label=gpt ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG
+echo ',,L' | $TS_CMD_SFDISK $SFDISK_OPTS --label=gpt ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
udevadm settle
ts_separator "Create DOS"
-echo ',,L' | $TS_CMD_SFDISK $SFDISK_OPTS --wipe=always --label=dos ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG
+echo ',,L' | $TS_CMD_SFDISK $SFDISK_OPTS --wipe=always --label=dos ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fdisk_clean $TS_DEVICE
udevadm settle
ts_separator "Check content"
-$TS_CMD_WIPEFS -O OFFSET,TYPE ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_WIPEFS -O OFFSET,TYPE ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
#
ts_init_subtest "gpt-to-dos-auto"
ts_separator "Create GPT"
-echo ',,L' | $TS_CMD_SFDISK $SFDISK_OPTS --label=gpt ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG
+echo ',,L' | $TS_CMD_SFDISK $SFDISK_OPTS --label=gpt ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
udevadm settle
ts_separator "Create DOS"
-echo ',,L' | $TS_CMD_SFDISK $SFDISK_OPTS --label=dos ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG
+echo ',,L' | $TS_CMD_SFDISK $SFDISK_OPTS --label=dos ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fdisk_clean $TS_DEVICE
udevadm settle
ts_separator "Check content"
-$TS_CMD_WIPEFS -O OFFSET,TYPE ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_WIPEFS -O OFFSET,TYPE ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
$TS_CMD_MKSWAP ${TS_DEVICE} &> /dev/null
udevadm settle
ts_separator "Create DOS"
-echo ',,L' | $TS_CMD_SFDISK $SFDISK_OPTS --wipe=always --label=dos ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG
+echo ',,L' | $TS_CMD_SFDISK $SFDISK_OPTS --wipe=always --label=dos ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fdisk_clean $TS_DEVICE
udevadm settle
ts_separator "Check content"
-$TS_CMD_WIPEFS -O OFFSET,TYPE ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_WIPEFS -O OFFSET,TYPE ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_separator "Create GPT"
$TS_CMD_WIPEFS -a ${TS_DEVICE} &> /dev/null
udevadm settle
-echo ',,L' | $TS_CMD_SFDISK --no-reread --label=gpt ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG
+echo ',,L' | $TS_CMD_SFDISK --no-reread --label=gpt ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
udevadm settle
ts_separator "Create FS in partition"
$TS_CMD_MKSWAP ${TS_DEVICE}1 &> /dev/null
$TS_CMD_WIPEFS -a ${TS_DEVICE} &> /dev/null
udevadm settle
ts_separator "Create GPT (again)"
-echo ',,L' | $TS_CMD_SFDISK --no-reread --wipe-partition=always --label=gpt ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG
+echo ',,L' | $TS_CMD_SFDISK --no-reread --wipe-partition=always --label=gpt ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
udevadm settle
ts_separator "Check content (disk)"
-$TS_CMD_WIPEFS -O OFFSET,TYPE ${TS_DEVICE} >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_WIPEFS -O OFFSET,TYPE ${TS_DEVICE} >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
udevadm settle
ts_separator "Check content (partition)"
-$TS_CMD_WIPEFS -O OFFSET,TYPE ${TS_DEVICE}1 >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_WIPEFS -O OFFSET,TYPE ${TS_DEVICE}1 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_fdisk_clean $TS_DEVICE
ts_finalize_subtest
cat $TS_SELF/data | while read data
do
- echo -n $data | $TS_HELPER_SHA1 >> $TS_OUTPUT
+ echo -n $data | $TS_HELPER_SHA1 >> "$TS_OUTPUT"
done
ts_finalize
export BAR=baar
# All should be available
-$TS_CMD_SU --command 'echo foo:$FOO bar:$BAR zuu:$ZUU' >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_SU --command 'echo foo:$FOO bar:$BAR zuu:$ZUU' >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
# All should be removed
-$TS_CMD_SU --login --command 'echo foo:$FOO bar:$BAR zuu:$ZUU' >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_SU --login --command 'echo foo:$FOO bar:$BAR zuu:$ZUU' >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
# Only specified options should be available
-$TS_CMD_SU --whitelist-environment FOO --login --command 'echo foo:$FOO bar:$BAR zuu:$ZUU' >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_SU --whitelist-environment FOO --login --command 'echo foo:$FOO bar:$BAR zuu:$ZUU' >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
# Only specified options should be available
-$TS_CMD_SU --whitelist-environment FOO,BAR --login --command 'echo foo:$FOO bar:$BAR zuu:$ZUU' >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_SU --whitelist-environment FOO,BAR --login --command 'echo foo:$FOO bar:$BAR zuu:$ZUU' >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
# We do not have control over PAM setup, and the goal of this test is to check
# the environment, not the overall functionality of su(1). Therefore, if su(1)
# fails due to authentication, the test should be skipped.
#
-grep -q 'Authentication failure' $TS_ERRLOG
+grep -q 'Authentication failure' "$TS_ERRLOG"
[ $? -eq 0 ] && ts_skip "authentication failure"
ts_finalize
$TS_CMD_MKSWAP \
--label 1234567890abcdef \
--uuid 12345678-abcd-abcd-abcd-1234567890ab \
- $IMAGE >> $TS_OUTPUT 2>> $TS_ERRLOG
+ $IMAGE >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
sed -i -e "s/ $MIN_SWAP_SIZE_KB KiB/ 10 pages/" \
-e "s:$IMAGE:<swapfile>:g" \
-e "s/insecure permissions [0-9]*/insecure permissions <perm>/g" \
- $TS_OUTPUT $TS_ERRLOG
+ "$TS_OUTPUT" "$TS_ERRLOG"
rm -f $IMAGE
$TS_CMD_FALLOCATE --posix --length $MIN_SWAP_SIZE $IMAGE 2> /dev/null
$TS_CMD_MKSWAP \
--label 1234567890abcdef \
--uuid 12345678-abcd-abcd-abcd-1234567890ab \
- $IMAGE >> $TS_OUTPUT 2>> $TS_ERRLOG
+ $IMAGE >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
sed -i -e "s/ $(( $MIN_SWAP_SIZE_KB - $PAGE_SIZE_KB )) KiB/ 9 pages/" \
-e "s/($(( $MIN_SWAP_SIZE - $PAGE_SIZE )) bytes)/(9xPGSZ bytes)/" \
-e "s:$IMAGE:<swapfile>:g" \
-e "s/insecure permissions [0-9]*/insecure permissions <perm>/g" \
- $TS_OUTPUT $TS_ERRLOG
+ "$TS_OUTPUT" "$TS_ERRLOG"
-$TS_CMD_SWAPLABEL $IMAGE >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_SWAPLABEL $IMAGE >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
#rm -f $IMAGE
ts_device_init
DEVICE=$TS_LODEV
-$TS_CMD_MKSWAP $DEVICE > /dev/null 2>> $TS_OUTPUT \
+$TS_CMD_MKSWAP $DEVICE > /dev/null 2>> "$TS_OUTPUT" \
|| ts_die "Cannot make swap $DEVICE"
ts_device_has "TYPE" "swap" $DEVICE || ts_die "Cannot find swap on $DEVICE"
-$TS_CMD_SWAPON $DEVICE >> $TS_OUTPUT 2>> $TS_ERRLOG || ts_die "Swapon failed"
+$TS_CMD_SWAPON $DEVICE >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" || ts_die "Swapon failed"
grep -q "^$DEVICE\b" /proc/swaps || ts_die "Cannot find $DEVICE in /proc/swaps"
$TS_CMD_SWAPOFF $DEVICE || ts_die "Swapoff failed"
# swapon/mkswap warns if system sets different permissions for loop devices
-sed --in-place '/insecure permissions .*, 0660 suggested/d' $TS_OUTPUT
+sed --in-place '/insecure permissions .*, 0660 suggested/d' "$TS_OUTPUT"
ts_log "Success"
ts_finalize
ts_device_init
DEVICE=$TS_LODEV
-$TS_CMD_MKSWAP $DEVICE > /dev/null 2>> $TS_OUTPUT \
+$TS_CMD_MKSWAP $DEVICE > /dev/null 2>> "$TS_OUTPUT" \
|| ts_die "Cannot make swap $DEVICE"
ts_device_has "TYPE" "swap" $DEVICE || ts_die "Cannot find swap on $DEVICE"
#
# Rewrite signature to swsuspend
#
-echo "S2SUSPEND " > $TS_OUTPUT.signature
-dd if=$TS_OUTPUT.signature of=$DEVICE \
+echo "S2SUSPEND " > "$TS_OUTPUT".signature
+dd if="$TS_OUTPUT".signature of=$DEVICE \
seek=$(( $PAGESIZE - 10 )) count=10 bs=1 conv=notrunc &> /dev/null
ts_device_has "TYPE" "swsuspend" $DEVICE || ts_die "Cannot find swsuspend on $DEVICE"
$TS_CMD_SWAPOFF $DEVICE
# swapon/mkswap warns if system sets different permissions for loop devices
-sed --in-place '/insecure permissions .*, 0660 suggested/d' $TS_OUTPUT
+sed --in-place '/insecure permissions .*, 0660 suggested/d' "$TS_OUTPUT"
ts_log "Success"
ts_finalize
ts_device_init
DEVICE=$TS_LODEV
-$TS_CMD_MKSWAP -L $LABEL $DEVICE > /dev/null 2>> $TS_OUTPUT \
+$TS_CMD_MKSWAP -L $LABEL $DEVICE > /dev/null 2>> "$TS_OUTPUT" \
|| ts_die "Cannot make swap on $DEVICE"
ts_device_has "LABEL" $LABEL $DEVICE \
|| ts_die "Cannot find LABEL '$LABEL' on $DEVICE"
ts_udevadm_settle "$DEVICE" "LABEL"
-$TS_CMD_SWAPON -L $LABEL >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_SWAPON -L $LABEL >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
grep -q "^$DEVICE\b" /proc/swaps || ts_die "Cannot find $DEVICE in /proc/swaps"
$TS_CMD_SWAPOFF $DEVICE
# swapon/mkswap warns if system sets different permissions for loop devices
-sed --in-place '/insecure permissions .*, 0660 suggested/d' $TS_OUTPUT
+sed --in-place '/insecure permissions .*, 0660 suggested/d' "$TS_OUTPUT"
ts_log "Success"
ts_finalize
ts_device_init
DEVICE=$TS_LODEV
-$TS_CMD_MKSWAP $DEVICE > /dev/null 2>> $TS_OUTPUT \
+$TS_CMD_MKSWAP $DEVICE > /dev/null 2>> "$TS_OUTPUT" \
|| ts_die "Cannot make swap $DEVICE"
UUID=$(ts_uuid_by_devname "$DEVICE") || ts_die "Cannot find UUID on $DEVICE"
ts_udevadm_settle "$DEVICE" "UUID"
-$TS_CMD_SWAPON -U $UUID >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_SWAPON -U $UUID >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
grep -q "^$DEVICE\b" /proc/swaps || ts_die "Cannot find $DEVICE in /proc/swaps"
$TS_CMD_SWAPOFF $DEVICE
# swapon/mkswap warns if system sets different permissions for loop devices
-sed --in-place '/insecure permissions .*, 0660 suggested/d' $TS_OUTPUT
+sed --in-place '/insecure permissions .*, 0660 suggested/d' "$TS_OUTPUT"
ts_log "Success"
ts_finalize
TS_KNOWN_FAIL="yes"
ts_init_subtest "printable-characters"
-$TS_CMD_UL < $TS_SELF/basic.input >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_UL < $TS_SELF/basic.input >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "filter-input"
-$TS_CMD_UL $TS_SELF/filter.input >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_CMD_UL $TS_SELF/filter.input >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_init_subtest "indicated"
-printf "u\b_l\b_\n" | ul --indicated >> $TS_OUTPUT 2>> $TS_ERRLOG
+printf "u\b_l\b_\n" | ul --indicated >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize_subtest
ts_finalize
TS_KNOWN_FAIL="yes"
printf "a\x08ab\x5F\x08c\\n\\ttab\\f\\b\\r" |
- $TS_CMD_UL --terminal xterm >> $TS_OUTPUT 2>> $TS_ERRLOG
+ $TS_CMD_UL --terminal xterm >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize
"$TS_CMD_UNSHARE" --user --map-root-user \
--pid --mount-proc \
--fork --forward-signals \
- "$TS_HELPER_SIGRECEIVE" < /dev/null >> $TS_OUTPUT 2>> $TS_ERRLOG &
+ "$TS_HELPER_SIGRECEIVE" < /dev/null >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" &
UNSHARE_PID=$!
# test_sigreceive exits with the signal number it receives (15 = SIGTERM)
if [ $EXIT_CODE -eq 15 ]; then
- echo "SIGTERM forwarded successfully" >> $TS_OUTPUT
+ echo "SIGTERM forwarded successfully" >> "$TS_OUTPUT"
else
- echo "UNEXPECTED EXIT CODE: $EXIT_CODE" >> $TS_OUTPUT
+ echo "UNEXPECTED EXIT CODE: $EXIT_CODE" >> "$TS_OUTPUT"
fi
ts_finalize
"$TS_CMD_UNSHARE" --user --map-root-user \
--pid --mount-proc \
--fork --forward-signals --kill-child \
- "$TS_HELPER_SIGRECEIVE" < /dev/null >> $TS_OUTPUT 2>> $TS_ERRLOG &
+ "$TS_HELPER_SIGRECEIVE" < /dev/null >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" &
UNSHARE_PID=$!
# test_sigreceive exits with the signal number it receives (15 = SIGTERM)
# With --kill-child, it should still receive SIGTERM first via forwarding
if [ $EXIT_CODE -eq 15 ]; then
- echo "SIGTERM forwarded successfully with kill-child" >> $TS_OUTPUT
+ echo "SIGTERM forwarded successfully with kill-child" >> "$TS_OUTPUT"
else
- echo "UNEXPECTED EXIT CODE: $EXIT_CODE" >> $TS_OUTPUT
+ echo "UNEXPECTED EXIT CODE: $EXIT_CODE" >> "$TS_OUTPUT"
fi
ts_finalize
ts_init_subtest "dns"
ts_log "~~~ dns short ~~~"
-$TS_CMD_LAST -f $WTMP_FILE -d root >> $TS_OUTPUT 2>/dev/null
+$TS_CMD_LAST -f $WTMP_FILE -d root >> "$TS_OUTPUT" 2>/dev/null
ts_log "~~~ dns long ~~~"
-$TS_CMD_LAST -f $WTMP_FILE -w -d root >> $TS_OUTPUT 2>/dev/null
+$TS_CMD_LAST -f $WTMP_FILE -w -d root >> "$TS_OUTPUT" 2>/dev/null
ts_log "~~~ dns host last ~~~"
-$TS_CMD_LAST -f $WTMP_FILE -a -d root >> $TS_OUTPUT 2>/dev/null
+$TS_CMD_LAST -f $WTMP_FILE -a -d root >> "$TS_OUTPUT" 2>/dev/null
ts_finalize_subtest
fi
ts_init_subtest "nodns"
ts_log "~~~ basic output ~~~"
-$TS_CMD_LAST -f $WTMP_FILE >> $TS_OUTPUT 2>/dev/null
+$TS_CMD_LAST -f $WTMP_FILE >> "$TS_OUTPUT" 2>/dev/null
ts_log "~~~ include system ~~~"
-$TS_CMD_LAST -f $WTMP_FILE -x >> $TS_OUTPUT 2>/dev/null
+$TS_CMD_LAST -f $WTMP_FILE -x >> "$TS_OUTPUT" 2>/dev/null
ts_log "~~~ show ip ~~~"
-$TS_CMD_LAST -f $WTMP_FILE -i torvalds >> $TS_OUTPUT 2>/dev/null
+$TS_CMD_LAST -f $WTMP_FILE -i torvalds >> "$TS_OUTPUT" 2>/dev/null
ts_log "~~~ no host ~~~"
-$TS_CMD_LAST -f $WTMP_FILE -R torvalds >> $TS_OUTPUT 2>/dev/null
+$TS_CMD_LAST -f $WTMP_FILE -R torvalds >> "$TS_OUTPUT" 2>/dev/null
ts_log "~~~ full times shortopt ~~~"
-$TS_CMD_LAST -f $WTMP_FILE -F >> $TS_OUTPUT 2>/dev/null
+$TS_CMD_LAST -f $WTMP_FILE -F >> "$TS_OUTPUT" 2>/dev/null
ts_log "~~~ full times longopt ~~~"
-$TS_CMD_LAST -f $WTMP_FILE --time-format=full >> $TS_OUTPUT 2>/dev/null
+$TS_CMD_LAST -f $WTMP_FILE --time-format=full >> "$TS_OUTPUT" 2>/dev/null
ts_log "~~~ no time ~~~"
-$TS_CMD_LAST -f $WTMP_FILE --time-format=notime >> $TS_OUTPUT 2>/dev/null
+$TS_CMD_LAST -f $WTMP_FILE --time-format=notime >> "$TS_OUTPUT" 2>/dev/null
ts_log "~~~ iso-8601 time ~~~"
-$TS_CMD_LAST -f $WTMP_FILE --time-format=iso -w >> $TS_OUTPUT 2>/dev/null
+$TS_CMD_LAST -f $WTMP_FILE --time-format=iso -w >> "$TS_OUTPUT" 2>/dev/null
ts_log "~~~ since and until ~~~"
-$TS_CMD_LAST -f $WTMP_FILE -s "2013-08-28 02:20" -t "2013-08-28 08:20" >> $TS_OUTPUT 2>/dev/null
+$TS_CMD_LAST -f $WTMP_FILE -s "2013-08-28 02:20" -t "2013-08-28 08:20" >> "$TS_OUTPUT" 2>/dev/null
ts_log "~~~ present ~~~"
-$TS_CMD_LAST -f $WTMP_FILE -p "2013-08-28 11:20" >> $TS_OUTPUT 2>/dev/null
+$TS_CMD_LAST -f $WTMP_FILE -p "2013-08-28 11:20" >> "$TS_OUTPUT" 2>/dev/null
ts_finalize_subtest
rm -f $WTMP_FILE
ts_init_subtest "dns"
ts_log "~~~ dns short ~~~"
-$TS_CMD_LAST -f $WTMP_FILE -d >> $TS_OUTPUT 2>/dev/null
+$TS_CMD_LAST -f $WTMP_FILE -d >> "$TS_OUTPUT" 2>/dev/null
ts_log "~~~ dns long ~~~"
-$TS_CMD_LAST -f $WTMP_FILE -d -w >> $TS_OUTPUT 2>/dev/null
+$TS_CMD_LAST -f $WTMP_FILE -d -w >> "$TS_OUTPUT" 2>/dev/null
ts_log "~~~ dns host last ~~~"
-$TS_CMD_LAST -f $WTMP_FILE -d -a >> $TS_OUTPUT 2>/dev/null
+$TS_CMD_LAST -f $WTMP_FILE -d -a >> "$TS_OUTPUT" 2>/dev/null
ts_finalize_subtest
fi
ts_init_subtest "nodns"
ts_log "~~~ show ip ~~~"
-$TS_CMD_LAST -f $WTMP_FILE -i >> $TS_OUTPUT 2>/dev/null
+$TS_CMD_LAST -f $WTMP_FILE -i >> "$TS_OUTPUT" 2>/dev/null
ts_log "~~~ show ip last ~~~"
-$TS_CMD_LAST -f $WTMP_FILE -i -a >> $TS_OUTPUT 2>/dev/null
+$TS_CMD_LAST -f $WTMP_FILE -i -a >> "$TS_OUTPUT" 2>/dev/null
ts_finalize_subtest
rm -f $WTMP_FILE
#
# old text format -> binary -> new text format -> binary
-echo "no output expected" > $TS_OUTPUT
+echo "no output expected" > "$TS_OUTPUT"
for f in txt-a txt-b txt-ipv6; do
$TS_CMD_UTMPDUMP -r $TS_SELF/$f-old > $OUT_BIN1 2>/dev/null &&
$TS_CMD_UTMPDUMP $OUT_BIN1 > $OUT_TXT 2>/dev/null &&
$TS_CMD_UTMPDUMP -r $OUT_TXT > $OUT_BIN2 2>/dev/null &&
diff -q $OUT_BIN1 $OUT_BIN2 ||
echo "circle failed for $f"
-done >> $TS_OUTPUT 2>> $TS_ERRLOG
+done >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
rm -f "$OUT_BIN1" "$OUT_BIN2" "$OUT_TXT"
OUT_BIN=${TS_OUTDIR}/${TS_TESTNAME}.bin
-echo "last 9 is expected to disappear in conversion" > $TS_OUTPUT
+echo "last 9 is expected to disappear in conversion" > "$TS_OUTPUT"
$TS_CMD_UTMPDUMP -r $TS_SELF/subsec > $OUT_BIN 2>/dev/null
-$TS_CMD_UTMPDUMP $OUT_BIN >> $TS_OUTPUT 2>/dev/null
+$TS_CMD_UTMPDUMP $OUT_BIN >> "$TS_OUTPUT" 2>/dev/null
rm -f "$OUT_BIN"
$TS_CMD_UTMPDUMP -r $TS_SELF/txt-b >| $OUTFILE 2>/dev/null
if diff -q $TS_SELF/wtmp-b.$BYTE_ORDER $OUTFILE; then
echo "no diff"
-fi >> $TS_OUTPUT 2>> $TS_ERRLOG
+fi >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize
$TS_CMD_UTMPDUMP -r $TS_SELF/txt-ipv6 >| $OUTFILE 2>/dev/null
if diff -q $TS_SELF/wtmp-ipv6.$BYTE_ORDER $OUTFILE; then
echo "no diff"
-fi >> $TS_OUTPUT 2>> $TS_ERRLOG
+fi >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize
export LANG=C
export TZ=Asia/Tokyo
-$TS_CMD_UTMPDUMP $TS_SELF/wtmp-b.$BYTE_ORDER >| $TS_OUTPUT 2>/dev/null
+$TS_CMD_UTMPDUMP $TS_SELF/wtmp-b.$BYTE_ORDER >| "$TS_OUTPUT" 2>/dev/null
ts_finalize
export LANG=C
export TZ=Asia/Tokyo
-$TS_CMD_UTMPDUMP $TS_SELF/wtmp-ipv6.$BYTE_ORDER >| $TS_OUTPUT 2>/dev/null
+$TS_CMD_UTMPDUMP $TS_SELF/wtmp-ipv6.$BYTE_ORDER >| "$TS_OUTPUT" 2>/dev/null
ts_finalize
ts_check_test_command "$TS_HELPER_UUID_NAMESPACE"
-$TS_HELPER_UUID_NAMESPACE > $TS_OUTPUT
+$TS_HELPER_UUID_NAMESPACE > "$TS_OUTPUT"
ts_finalize
ts_check_test_command "$TS_HELPER_UUID_PARSER"
-$TS_HELPER_UUID_PARSER >> $TS_OUTPUT 2>> $TS_ERRLOG
-echo "return value: $?" >> $TS_OUTPUT
+$TS_HELPER_UUID_PARSER >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+echo "return value: $?" >> "$TS_OUTPUT"
ts_finalize
. "$TS_TOPDIR"/functions.sh
ts_init "$*"
-: . > $TS_OUTPUT
+: . > "$TS_OUTPUT"
ts_check_test_command "$TS_CMD_UUIDGEN"
-$TS_CMD_UUIDGEN --md5 --namespace @dns --name "www.widgets.com" >> $TS_OUTPUT
+$TS_CMD_UUIDGEN --md5 --namespace @dns --name "www.widgets.com" >> "$TS_OUTPUT"
-$TS_CMD_UUIDGEN --md5 --namespace @dns --name "www.example.com" >> $TS_OUTPUT
+$TS_CMD_UUIDGEN --md5 --namespace @dns --name "www.example.com" >> "$TS_OUTPUT"
-$TS_CMD_UUIDGEN --sha1 --namespace @dns --name "www.example.com" >> $TS_OUTPUT
+$TS_CMD_UUIDGEN --sha1 --namespace @dns --name "www.example.com" >> "$TS_OUTPUT"
-$TS_CMD_UUIDGEN --sha1 --namespace @oid --hex --name "525400fc0f5e" >> $TS_OUTPUT
+$TS_CMD_UUIDGEN --sha1 --namespace @oid --hex --name "525400fc0f5e" >> "$TS_OUTPUT"
ts_finalize
OUTPUT_FILE="$(mktemp "${TS_OUTDIR}/uuidgenXXXXXXXXXXXXX")"
test_flag() {
- echo "option: $1" >> $TS_OUTPUT
- $TS_CMD_UUIDGEN $1 > "$OUTPUT_FILE" 2>>$TS_OUTPUT
+ echo "option: $1" >> "$TS_OUTPUT"
+ $TS_CMD_UUIDGEN $1 > "$OUTPUT_FILE" 2>>"$TS_OUTPUT"
ret=$?
- $TS_HELPER_UUID_PARSER "$OUTPUT_FILE" >> $TS_OUTPUT 2>> $TS_ERRLOG
+ $TS_HELPER_UUID_PARSER "$OUTPUT_FILE" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
if [ $? -ne 0 ] || [ $ret -ne 0 ]; then
- echo "something wrong with $OUTPUT_FILE" >> $TS_OUTPUT
- cat $OUTPUT_FILE >> $TS_OUTPUT 2>> $TS_ERRLOG
+ echo "something wrong with $OUTPUT_FILE" >> "$TS_OUTPUT"
+ cat $OUTPUT_FILE >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
fi
- echo "return values: $ret and $?" >> $TS_OUTPUT
+ echo "return values: $ret and $?" >> "$TS_OUTPUT"
}
test_flag -r
ts_check_test_command "$TS_CMD_UUIDPARSE"
$TS_HELPER_UUID_TIME | TZ=UTC $TS_CMD_UUIDPARSE -o VARIANT,TYPE,TIME \
- >> $TS_OUTPUT 2>> $TS_ERRLOG
+ >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
ts_finalize
01234567-89ab-1def-8000-123456789abc
5c146b14-3c52-8afd-938a-375d0df1fbf6
-invalid-input' | $TS_CMD_UUIDPARSE >> $TS_OUTPUT 2>> $TS_ERRLOG
-echo "return value: $?" >> $TS_OUTPUT
+invalid-input' | $TS_CMD_UUIDPARSE >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+echo "return value: $?" >> "$TS_OUTPUT"
ts_finalize
do
COUNT=$($TS_CMD_WHEREIS -B $BIN_DIR -M $MAN_DIR -f $COMMAND | wc -w)
if [ $COUNT -eq 3 ]; then
- echo "$COMMAND success" >> $TS_OUTPUT
+ echo "$COMMAND success" >> "$TS_OUTPUT"
else
- echo "$COMMAND failure" >> $TS_OUTPUT
+ echo "$COMMAND failure" >> "$TS_OUTPUT"
fi
done
$TS_CMD_WIPEFS -a ${img} > $TS_OUTDIR/out 2>/dev/null
# check for output
-[ -s $TS_OUTDIR/out ] && echo "OK" &> $TS_OUTPUT || exit 1
+[ -s $TS_OUTDIR/out ] && echo "OK" &> "$TS_OUTPUT" || exit 1
ts_finalize