mkdir -p "$top_builddir"/tests/
>| $top_builddir/tests/failures
-printf "%s\n" ${comps[*]} |
- sort |
- xargs -I '{}' -P $paraller_jobs -n 1 bash -c "'{}' \"$OPTS\" ||
- echo '{}' >> $top_builddir/tests/failures"
-if [ $? != 0 ]; then
+
+if ! printf "%s\n" "${comps[@]}" | sort | xargs -I '{}' -P $paraller_jobs -n 1 bash -c "'{}' \"$OPTS\" \
+ || echo '{}' >> $top_builddir/tests/failures"; then
+
echo "xargs error" >&2
exit 1
fi
grep -q "BLKDISCARD ioctl failed: Operation not supported" "$TS_ERRLOG" \
&& ts_skip "BLKDISCARD not supported"
fi
+
run_tscmd $TS_CMD_BLKDISCARD -v --offset 1 $DEVICE
run_tscmd $TS_CMD_BLKDISCARD -v -o 511 $DEVICE
run_tscmd $TS_CMD_BLKDISCARD -v -o 512 $DEVICE
(( oom_score_adj++ ))
-"$TS_CMD_CHOOM" --pid $PID --adjust $oom_score_adj &>/dev/null
-
-if [[ "$?" != 0 ]]; then
+if ! "$TS_CMD_CHOOM" --pid $PID --adjust $oom_score_adj &>/dev/null; then
ts_failed "OOM adjust score change failed"
fi
echo "ok" >> "$TS_OUTPUT"
fi
-ts_finalize
\ No newline at end of file
+ts_finalize
}
function skip_kernel_lt {
- ts_kernel_ver_lt $1 $2 $3
- if [ $? == 0 ]; then
+ if ts_kernel_ver_lt $1 $2 $3; then
ts_skip_subtest "kernel version must be >= $1.$2.$3"
return 1
fi
ts_init_subtest "fifo"
-skip_policy SCHED_FIFO
-if [ $? == 0 ]; then
+if skip_policy SCHED_FIFO; then
do_chrt --fifo 1
do_chrt --fifo 99
cleanup_output
ts_init_subtest "batch"
-skip_policy SCHED_BATCH && skip_kernel_ge 6 12 0
-if [ $? == 0 ]; then
+if skip_policy SCHED_BATCH && skip_kernel_ge 6 12 0; then
do_chrt --batch 0
cleanup_output
ts_finalize_subtest
ts_init_subtest "batch-custom-slice"
-skip_policy SCHED_BATCH && skip_kernel_lt 6 12 0
-if [ $? == 0 ]; then
+if skip_policy SCHED_BATCH && skip_kernel_lt 6 12 0; then
do_chrt --batch --sched-runtime 100000 0
cleanup_output
ts_finalize_subtest
ts_init_subtest "other"
-skip_policy SCHED_OTHER && skip_kernel_ge 6 12 0
-if [ $? == 0 ]; then
+if skip_policy SCHED_OTHER && skip_kernel_ge 6 12 0; then
do_chrt --other 0
cleanup_output
ts_finalize_subtest
ts_init_subtest "other-custom-slice"
-skip_policy SCHED_OTHER && skip_kernel_lt 6 12 0
-if [ $? == 0 ]; then
+if skip_policy SCHED_OTHER && skip_kernel_lt 6 12 0; then
do_chrt --other --sched-runtime 100000 0
cleanup_output
ts_finalize_subtest
ts_init_subtest "rr"
-skip_policy SCHED_RR
-if [ $? == 0 ]; then
+if skip_policy SCHED_RR; then
do_chrt --rr 1
do_chrt --rr 99
cleanup_output
ts_init_subtest "idle"
-skip_policy SCHED_IDLE
-if [ $? == 0 ]; then
+if skip_policy SCHED_IDLE; then
do_chrt --idle 0
cleanup_output
ts_finalize_subtest
ts_init_subtest "deadline"
-skip_policy SCHED_DEADLINE
-if [ $? == 0 ]; then
+if skip_policy SCHED_DEADLINE; then
do_chrt --deadline --sched-period 130000 0
do_chrt --deadline --sched-period 130000 --sched-deadline 120000 0
do_chrt --deadline --sched-period 130000 --sched-deadline 120000 --sched-runtime 100000 0
fi
ts_init_subtest "ext"
-skip_policy SCHED_EXT
-if [ $? == 0 ]; then
+if skip_policy SCHED_EXT; then
do_chrt --ext 0
do_chrt -e 0
cleanup_output
ts_finalize_subtest
ts_init_subtest "invalid-input"
-"$TS_CMD_COPYFILERANGE" a b 3:bogus:1 bogus::2 :::: bogus svhhs:%%:8 &>/dev/null
-if [[ "$?" != "0" ]]; then
+if ! "$TS_CMD_COPYFILERANGE" a b 3:bogus:1 bogus::2 :::: bogus svhhs:%%:8 &>/dev/null; then
echo "ok" >"$TS_OUTPUT"
fi
ts_finalize_subtest
ts_register_loop_device "$DEVICE"
ts_log "check the image"
-ts_device_has "TYPE" "cramfs" $DEVICE
-[ "$?" == "0" ] || ts_die "Cannot find cramfs on $DEVICE"
+ts_device_has "TYPE" "cramfs" $DEVICE || ts_die "Cannot find cramfs on $DEVICE"
ts_log "mount the image"
ts_mount "cramfs" -r -L $LABEL $TS_MOUNTPOINT
ts_check_test_command "$TS_CMD_GETOPT"
-TEMP=$($TS_CMD_GETOPT -o ab:c:: --long a-long,b-long:,c-long:: -n 'example.bash' -- -a -b 1 -c2 --a-long --b-long 3 --c-long foo bar)
-if [ $? != 0 ] ; then echo "Terminating..." >&2 ; exit 1 ; fi
+
+if ! TEMP=$($TS_CMD_GETOPT -o ab:c:: --long a-long,b-long:,c-long:: \
+ -n 'example.bash' -- -a -b 1 -c2 --a-long --b-long 3 --c-long foo bar);
+then
+ echo "Terminating..." >&2
+ exit 1 ;
+fi
eval set -- "$TEMP"
|| ts_skip "unreliable ntp or sys clock offsets: $NTP_IP $OFFSET_A $OFFSET_B +/-$diff"
# hwclock --show should work if we have a hw clock
-tmp=$($TS_CMD_HWCLOCK --show 2>&1)
-if [ $? != "0" ]; then
+if ! tmp=$($TS_CMD_HWCLOCK --show 2>&1); then
echo "$tmp" | grep -q "Cannot access the Hardware Clock via" \
&& ts_skip "no hardware clock found"
ts_failed "hwclock --show"
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"
- if [ $? -ne 0 ]; then
+ if ! "$TS_CMD_KILL" "$@" $TEST_PID >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"; then
echo "kill $@ did not work" >> "$TS_OUTPUT"
all_ok=false
fi
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"
- if [ $? -ne 0 ]; then
+ if ! "$TS_CMD_KILL" "$@" "${TEST_PID}:${TEST_PIDFD_INO}" >>"$TS_OUTPUT" 2>>"$TS_ERRLOG"; then
echo "kill $* did not work" >> "$TS_OUTPUT"
all_ok=false
fi
fi
rm -f "$HELPER_SYMLINK"
-ts_finalize
\ No newline at end of file
+ts_finalize
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")
-if [ $? -ne 0 ]; then
+if ! KILL_PID=$("$TS_CMD_KILL" -p "${HELPER_SYMLINK##*/}" 2>> "$TS_ERRLOG"); then
echo "kill -p did not work" >> "$TS_OUTPUT"
all_ok=false
fi
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"
-if [ $? -ne 0 ]; then
+
+if ! "$TS_CMD_KILL" -1 --queue 42 $TEST_PID >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"; then
echo "kill --queue 42 failed" >> "$TS_OUTPUT"
all_ok=false
fi
udevadm settle
-grep -q " $DEVNAME\$" /proc/partitions
-if [ $? -ne 0 ]; then
+if ! grep -q " $DEVNAME\$" /proc/partitions; then
ts_skip "no partition!"
fi
udevadm settle
-grep -q " $DEVNAME\$" /proc/partitions
-if [ $? -ne 0 ]; then
+if ! grep -q " $DEVNAME\$" /proc/partitions; then
ts_skip "no partition!"
fi
udevadm settle
-grep -q " $DEVNAME\$" /proc/partitions
-if [ $? -ne 0 ]; then
+if ! grep -q " $DEVNAME\$" /proc/partitions; then
ts_skip "no partition!"
fi
udevadm settle
-grep -q " $DEVNAME\$" /proc/partitions
-if [ $? -ne 0 ]; then
+
+if ! grep -q " $DEVNAME\$" /proc/partitions; then
ts_skip "no partition!"
fi
ts_check_prog sqlite3
ts_check_test_command "$TS_CMD_LSLOGINS"
-$TS_CMD_LSLOGINS --version|grep "lastlog2" >/dev/null
-if [ $? -ne 0 ]; then
+
+if ! $TS_CMD_LSLOGINS --version|grep "lastlog2" >/dev/null; then
ts_skip "lastlog2 not supported"
fi
ts_check_prog sqlite3
ts_check_test_command "$TS_CMD_LSLOGINS"
-$TS_CMD_LSLOGINS --version|grep "lastlog2" >/dev/null
-if [ $? -ne 0 ]; then
+
+if ! $TS_CMD_LSLOGINS --version|grep "lastlog2" >/dev/null; then
ts_skip "lastlog2 not supported"
fi
--json > "$TS_OUTPUT"
rm $DB_FILE
-ts_finalize
\ No newline at end of file
+ts_finalize
ts_skip_subtest "tmpfs unsupported"
mkdir -p $TS_MOUNTPOINT &> /dev/null
-$TS_CMD_MOUNT -t tmpfs tmpfs $TS_MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
-[ $? -eq 0 ] || ts_skip "tmpfs mount failed"
+$TS_CMD_MOUNT -t tmpfs tmpfs $TS_MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" \
+ || ts_skip "tmpfs mount failed"
# reuse the same TS_MOUNTPOINT in all subtests
BASE=$TS_MOUNTPOINT
mkdir -p "$TS_MOUNTPOINT"
"$TS_CMD_ENOSYS" $2 -- "$TS_CMD_MOUNT" --bind "$MY_SOURCE" "$TS_MOUNTPOINT" \
- >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
- [ "$?" = "0" ] || ts_log "error: mount $TS_MOUNTPOINT"
+ >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" || ts_log "error: mount $TS_MOUNTPOINT"
- "$TS_CMD_FINDMNT" --mountpoint "$TS_MOUNTPOINT" &> /dev/null
- [ $? -eq 0 ] || ts_die "Not found target (mount failed?)"
+ "$TS_CMD_FINDMNT" --mountpoint "$TS_MOUNTPOINT" &> /dev/null \
+ || ts_die "Not found target (mount failed?)"
"$TS_CMD_UMOUNT" "$TS_MOUNTPOINT" || ts_die "Cannot umount $TS_MOUNTPOINT"
$TS_CMD_ENOSYS -s mount_setattr -- \
"$TS_CMD_MOUNT" --options remount,ro "$MOUNTPOINT" \
>> "$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_FINDMNT --kernel --mountpoint "$MOUNTPOINT" --options "ro" &> /dev/null \
+ || 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_init_subtest "filter-type"
-$TS_CMD_MOUNT --all --fstab "${TS_FSTAB}" --types ext4 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
-[ $? == 0 ] || ts_log "mount failed"
+$TS_CMD_MOUNT --all --fstab "${TS_FSTAB}" --types ext4 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" \
+ || ts_log "mount failed"
udevadm settle
-$TS_CMD_UMOUNT ${MOUNTPOINT}D
-[ $? == 0 ] || ts_log "umount failed"
+$TS_CMD_UMOUNT ${MOUNTPOINT}D || ts_log "umount failed"
ts_finalize_subtest
ts_init_subtest "filter-notype"
-$TS_CMD_MOUNT --all --fstab "${TS_FSTAB}" --types noext4 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
-[ $? == 0 ] || ts_log "mount failed"
+$TS_CMD_MOUNT --all --fstab "${TS_FSTAB}" --types noext4 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" \
+ || ts_log "mount failed"
udevadm settle
-$TS_CMD_UMOUNT ${MOUNTPOINT}{A,B,C}
-[ $? == 0 ] || ts_log "umount failed"
+$TS_CMD_UMOUNT ${MOUNTPOINT}{A,B,C} || ts_log "umount failed"
ts_finalize_subtest
ts_init_subtest "filter-option"
-$TS_CMD_MOUNT --all --fstab "${TS_FSTAB}" --test-opts ro >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
-[ $? == 0 ] || ts_log "mount failed"
+$TS_CMD_MOUNT --all --fstab "${TS_FSTAB}" --test-opts ro >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" \
+ || ts_log "mount failed"
udevadm settle
-$TS_CMD_UMOUNT ${MOUNTPOINT}C
-[ $? == 0 ] || ts_log "umount failed"
+$TS_CMD_UMOUNT ${MOUNTPOINT}C || ts_log "umount failed"
ts_finalize_subtest
ts_init_subtest "override-option"
-$TS_CMD_MOUNT --all --fstab "${TS_FSTAB}" --options ro >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
-[ $? == 0 ] || ts_log "mount failed"
+$TS_CMD_MOUNT --all --fstab "${TS_FSTAB}" --options ro >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" \
+ || ts_log "mount failed"
udevadm settle
-$TS_CMD_UMOUNT ${MOUNTPOINT}{A,B,C,D}
-[ $? == 0 ] || ts_log "umount failed"
+$TS_CMD_UMOUNT ${MOUNTPOINT}{A,B,C,D} || ts_log "umount failed"
ts_finalize_subtest
ts_init_subtest "relative-path"
cd "$TS_OUTDIR" > /dev/null
-$TS_CMD_MOUNT --all --fstab $(basename "${TS_FSTAB}") >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
-[ $? == 0 ] || ts_log "mount failed"
+$TS_CMD_MOUNT --all --fstab $(basename "${TS_FSTAB}") >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" \
+ || ts_log "mount failed"
udevadm settle
-$TS_CMD_UMOUNT ${MOUNTPOINT}{A,B,C,D}
-[ $? == 0 ] || ts_log "umount failed"
+$TS_CMD_UMOUNT ${MOUNTPOINT}{A,B,C,D} || ts_log "umount failed"
cd - > /dev/null
ts_finalize_subtest
$TS_CMD_MOUNT --all \
--fstab "${TS_FSTAB}" \
--target-prefix $MY_ROOT \
- --options X-mount.mkdir >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
-[ $? == 0 ] || ts_log "mount failed"
+ --options X-mount.mkdir >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" \
+ || ts_log "mount failed"
udevadm settle
-$TS_CMD_UMOUNT $MY_ROOT/foo/{A,B,C,D}
-[ $? == 0 ] || ts_log "umount failed"
+$TS_CMD_UMOUNT $MY_ROOT/foo/{A,B,C,D} || ts_log "umount failed"
ts_finalize_subtest
ts_finalize
mkdir -p $MY_SOURCE
mkdir -p $TS_MOUNTPOINT
-$TS_CMD_MOUNT --fstab "$TS_FSTAB" $TS_MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
-[ "$?" = "0" ] || ts_log "error: mount $TS_MOUNTPOINT"
+$TS_CMD_MOUNT --fstab "$TS_FSTAB" $TS_MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" \
+ || ts_log "error: mount $TS_MOUNTPOINT"
-$TS_CMD_FINDMNT --mountpoint "$TS_MOUNTPOINT" &> /dev/null
-[ $? -eq 0 ] || ts_die "Not found target (mount failed?)"
+$TS_CMD_FINDMNT --mountpoint "$TS_MOUNTPOINT" &> /dev/null \
+ || ts_die "Not found target (mount failed?)"
$TS_CMD_UMOUNT $TS_MOUNTPOINT || ts_die "Cannot umount $TS_MOUNTPOINT"
ts_fstab_close
ts_init_subtest "mount"
-$TS_CMD_MOUNT --fstab "$TS_FSTAB" $MNT &> /dev/null
-[ "$?" = "0" ] || ts_log "error: mount $MNT"
-$TS_CMD_FINDMNT --kernel --mountpoint "$MNT" &> /dev/null
-if [ "$?" != "0" ]; then
+$TS_CMD_MOUNT --fstab "$TS_FSTAB" $MNT &> /dev/null || ts_log "error: mount $MNT"
+
+if ! $TS_CMD_FINDMNT --kernel --mountpoint "$MNT" &> /dev/null; then
ts_log "Cannot find $MNT in /proc/self/mountinfo"
else
ts_log "OK"
fi
-$TS_CMD_UMOUNT $MNT &> /dev/null
-if [ "$?" = "0" ]; then
+
+
+if $TS_CMD_UMOUNT $MNT &> /dev/null; then
# for old systems with mtab and /sbin/mount.tmpfs
/bin/umount --fake "$MNT" &> /dev/null
else
ts_init_subtest "mount-all"
-$TS_CMD_MOUNT --fstab "$TS_FSTAB" --all &> /dev/null
-[ "$?" = "0" ] || ts_log "error: mount -a"
-$TS_CMD_FINDMNT --kernel --mountpoint "$MNT" &> /dev/null
-if [ "$?" != "0" ]; then
+$TS_CMD_MOUNT --fstab "$TS_FSTAB" --all &> /dev/null || ts_log "error: mount -a"
+
+if ! $TS_CMD_FINDMNT --kernel --mountpoint "$MNT" &> /dev/null; then
ts_log "Cannot find $MNT in /proc/self/mountinfo"
else
ts_log "OK"
fi
-$TS_CMD_UMOUNT $MNT &> /dev/null
-if [ "$?" = "0" ]; then
+
+
+if $TS_CMD_UMOUNT $MNT &> /dev/null; then
# for old systems with mtab and /sbin/mount.tmpfs
/bin/umount --fake $MNT &> /dev/null
else
mkdir -p $TS_MOUNTPOINT
-$TS_CMD_MOUNT --fstab "$TS_FSTAB" $TS_MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
-[ "$?" = "0" ] || ts_log "error: mount $TS_MOUNTPOINT"
+$TS_CMD_MOUNT --fstab "$TS_FSTAB" $TS_MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" \
+ || ts_log "error: mount $TS_MOUNTPOINT"
-$TS_CMD_FINDMNT --mountpoint "$TS_MOUNTPOINT" &> /dev/null
-[ $? -eq 0 ] || ts_die "Not found target (mount failed?)"
+$TS_CMD_FINDMNT --mountpoint "$TS_MOUNTPOINT" &> /dev/null || ts_die "Not found target (mount failed?)"
-$TS_CMD_FINDMNT --source "none" --mountpoint "$TS_MOUNTPOINT" &> /dev/null
-[ $? -eq 0 ] || ts_die "Not found source and target"
+$TS_CMD_FINDMNT --source "none" --mountpoint "$TS_MOUNTPOINT" &> /dev/null \
+ || ts_die "Not found source and target"
$TS_CMD_UMOUNT $TS_MOUNTPOINT || ts_die "Cannot umount $TS_MOUNTPOINT"
# remount
$TS_CMD_MOUNT --options remount,ro $TS_MOUNTPOINT &> /dev/null \
- || ts_die "Cannot remount $TS_MOUNTPOINT"
+ || ts_die "Cannot remount $TS_MOUNTPOINT"
# check the remount
-$TS_CMD_FINDMNT --kernel --mountpoint "$TS_MOUNTPOINT" --options "ro" &> /dev/null
-[ "$?" == "0" ] || ts_die "Cannot find read-only in $TS_MOUNTPOINT in /proc/self/mountinfo"
+$TS_CMD_FINDMNT --kernel --mountpoint "$TS_MOUNTPOINT" --options "ro" &> /dev/null \
+ || ts_die "Cannot find read-only in $TS_MOUNTPOINT in /proc/self/mountinfo"
ts_log "Success"
ts_finalize
[ -d $TS_MOUNTPOINT ] || mkdir -p $TS_MOUNTPOINT
# bind
-$TS_CMD_MOUNT --bind $TS_MOUNTPOINT $TS_MOUNTPOINT &> /dev/null
-[ "$?" = "0" ] || ts_die "error: mount --bind"
+$TS_CMD_MOUNT --bind $TS_MOUNTPOINT $TS_MOUNTPOINT &> /dev/null || ts_die "error: mount --bind"
# check the bind
-$TS_CMD_FINDMNT --kernel --mountpoint $TS_MOUNTPOINT &> /dev/null
-[ "$?" == "0" ] || ts_die "Cannot find bound $TS_MOUNTPOINT in /proc/self/mountinfo"
+$TS_CMD_FINDMNT --kernel --mountpoint $TS_MOUNTPOINT &> /dev/null \
+ || ts_die "Cannot find bound $TS_MOUNTPOINT in /proc/self/mountinfo"
# use the same mounpoint for all sub-tests
MOUNTPOINT="$TS_MOUNTPOINT"
ts_init_subtest "missing-options"
-grep -q 'nodev[[:space:]]*tmpfs' /proc/filesystems
-if [ "$?" == "0" ]; then
+if grep -q 'nodev[[:space:]]*tmpfs' /proc/filesystems; then
cat > $MOUNTER <<EOF
#!/usr/bin/env bash
# This util-linux regression test component
$TS_CMD_MOUNT -t mytest -o x-bar=BAR /foo "$mountpoint" &> "$TS_OUTPUT"
udevadm settle
- grep -q "$mountpoint" /proc/mounts
- if [ "$?" == "0" ]; then
+ if grep -q "$mountpoint" /proc/mounts; then
cat "$LIBMOUNT_UTAB" \
| grep "$mountpoint" \
| sed -e "s|$mountpoint|/mountpoint|g" \
ts_skip_nonroot
ts_check_prog "mkfs.ext2"
-$TS_CMD_UMOUNT --help | grep -q all-targets
-[ $? -eq 1 ] && ts_skip "all-targets unsupported"
+if ! $TS_CMD_UMOUNT --help | grep -q all-targets; then
+ ts_skip "all-targets unsupported"
+fi
# set global variable TS_DEVICE
ts_scsi_debug_init dev_size_mb=50
#
ts_init_subtest "all-targets-mnt"
multi_mount ${TS_DEVICE}1 $MOUNTPOINT
-$TS_CMD_UMOUNT --all-targets ${MOUNTPOINT}1 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
-[ $? == 0 ] || ts_log "umount failed"
+$TS_CMD_UMOUNT --all-targets ${MOUNTPOINT}1 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" || 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"
-[ $? == 0 ] || ts_log "umount failed"
+$TS_CMD_UMOUNT --all-targets ${TS_DEVICE}1 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" || 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"
-[ $? == 0 ] || ts_log "umount failed"
+
+$TS_CMD_UMOUNT --recursive --all-targets ${TS_DEVICE}1 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" \
+ || ts_log "umount failed"
ts_finalize_subtest
ts_log "Success"
$TS_CMD_MOUNT --bind $TS_MOUNTPOINT $TS_MOUNTPOINT &> /dev/null
udevadm settle
-$TS_CMD_UMOUNT --recursive $TS_MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
-[ $? == 0 ] || ts_die "umount failed"
+$TS_CMD_UMOUNT --recursive $TS_MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" \
+ || 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"
-[ $? == 0 ] || ts_die "--graceful on unmounted mountpoint failed"
+$TS_CMD_UMOUNT --graceful $TS_MOUNTPOINT >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" \
+ || 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"
-[ $? == 0 ] || ts_die "--graceful on non-existent path failed"
+$TS_CMD_UMOUNT --graceful /non-existent-path-$$ >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" \
+ || ts_die "--graceful on non-existent path failed"
ts_log "Success"
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"
-[[ $? -eq 0 ]] && ts_logerr "expected failure"
+$TS_CMD_PIPESZ --check --set 4096 --fd 42 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" && 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"
-[[ $? -ne 0 ]] && ts_logerr "expected success"
+echo -n | $TS_CMD_PIPESZ --check --set 4096 --stdin >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" \
+ || 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"
-[[ $? -eq 0 ]] && ts_logerr "expected failure"
+$TS_CMD_PIPESZ --check --set 4096 --file "/dev/null" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" \
+ && 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"
-[[ $? -ne 0 ]] && ts_logerr "expected success"
+echo -n | $TS_CMD_PIPESZ --check --set 4096 --file "/dev/stdin" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" \
+ || 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"
-[[ $? -eq 0 ]] && ts_logerr "expected failure"
+$TS_CMD_PIPESZ --check --get --fd 42 >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" && 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"
-[[ $? -ne 0 ]] && ts_logerr "expected success"
+echo -n | $TS_CMD_PIPESZ --check --get --stdin 2>> "$TS_ERRLOG" \
+ | sed "s/$DEFAULT_PIPE_SIZE/DEFAULT_PIPE_SIZE/g" >> "$TS_OUTPUT" \
+ || 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"
-[[ $? -eq 0 ]] && ts_logerr "expected failure"
+$TS_CMD_PIPESZ --check --get --file "/dev/null" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" \
+ && 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"
-[[ $? -ne 0 ]] && ts_logerr "expected success"
+echo -n | $TS_CMD_PIPESZ --check --get --file "/dev/stdin" 2>> "$TS_ERRLOG" \
+ | sed "s/$DEFAULT_PIPE_SIZE/DEFAULT_PIPE_SIZE/g" >> "$TS_OUTPUT" \
+ || 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"
-[[ $? -ne 0 ]] && ts_logerr "expected success"
+echo -n | $TS_CMD_PIPESZ --check --stdin >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" \
+ || 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"
-[[ $? -ne 0 ]] && ts_logerr "expected success"
+echo this_should_be_output_by_cat | $TS_CMD_PIPESZ --check --stdin cat >> "$TS_OUTPUT" 2>> "$TS_ERRLOG" \
+ || ts_logerr "expected success"
ts_finalize_subtest
set +o pipefail
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
-if [ $? -eq 0 ]; then
+if $TS_CMD_SETARCH $ARCH --verbose --uname-2.6 echo "2.6 worked" >> "$TS_OUTPUT" 2>&1; then
expected='^2.6 worked$'
else
# this may happen after execvp - gets written to stderr
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
-if [ $? -eq 0 ]; then
+if $TS_CMD_SETARCH $ARCH --uname-2.6 true >> "$TS_OUTPUT" 2>&1; then
echo "2.6 works or kernel too old" >> "$TS_OUTPUT"
else
# this may happen after execvp - gets written to stderr
# 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"
-[ $? -eq 0 ] && ts_skip "authentication failure"
+
+grep -q 'Authentication failure' "$TS_ERRLOG" && ts_skip "authentication failure"
ts_finalize
| grep -o "$grp_name" \
| uniq >> "$TS_OUTPUT"
-grep -q 'Authentication failure' "$TS_ERRLOG"
-[ "$?" -eq 0 ] && ts_skip_subtest "authentication failure"
+grep -q 'Authentication failure' "$TS_ERRLOG" && ts_skip_subtest "authentication failure"
ts_finalize_subtest
ts_init_subtest "supplemental-no-login"
| grep -o "$grp_name" \
| uniq >> "$TS_OUTPUT"
-grep -q 'Authentication failure' "$TS_ERRLOG"
-[ "$?" -eq 0 ] && ts_skip_subtest "authentication failure"
+grep -q 'Authentication failure' "$TS_ERRLOG" && ts_skip_subtest "authentication failure"
ts_finalize_subtest
ts_init_subtest "group-id"
groupdel "$grp_name"
-ts_finalize
\ No newline at end of file
+ts_finalize
# socket path must be short (SIZEOF_SOCKADDR_UN_SUN_PATH 108)
UUIDD_SOCKET=$(mktemp "/tmp/ultest-$TS_COMPONENT-$TS_TESTNAME-socketXXXXXX")
-$TS_CMD_UUIDD -p "$UUIDD_PID" -s "$UUIDD_SOCKET"
-if [ $? -ne 0 ]; then
+if ! $TS_CMD_UUIDD -p "$UUIDD_PID" -s "$UUIDD_SOCKET"; then
ts_failed "daemon start"
fi
OUTPUT_FILE="$(mktemp "${TS_OUTDIR}/uuidgenXXXXXXXXXXXXX")"
test_flag() {
+ local uuidgen_ret uuid_parse_ret
+ uuid_parse_ret=0
+
echo "option: $1" >> "$TS_OUTPUT"
- $TS_CMD_UUIDGEN $1 > "$OUTPUT_FILE" 2>>"$TS_OUTPUT"
- ret=$?
+ $TS_CMD_UUIDGEN "$1" > "$OUTPUT_FILE" 2>>"$TS_OUTPUT"
+ uuidgen_ret=$?
+
$TS_HELPER_UUID_PARSER "$OUTPUT_FILE" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
- if [ $? -ne 0 ] || [ $ret -ne 0 ]; then
+ uuid_parse_ret=$?
+ if [ $uuid_parse_ret -ne 0 ] || [ $uuidgen_ret -ne 0 ]; then
echo "something wrong with $OUTPUT_FILE" >> "$TS_OUTPUT"
- cat $OUTPUT_FILE >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+ cat "$OUTPUT_FILE" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
fi
- echo "return values: $ret and $?" >> "$TS_OUTPUT"
+ echo "return values: $uuidgen_ret and $uuid_parse_ret" >> "$TS_OUTPUT"
}
test_flag -r