on 2021/6/8 5:36, Leah Rumancik wrote: > From: Leah Rumancik<lrumancik@xxxxxxxxxx> > > od --endian=little is used to read bytes in little endian when on a > big endian machine. Update test ext4/048 to require od endian flag > support on big endian machines, otherwise, skip test. > Looks good to me, Reviewed-by: Yang Xu <xuyang2018.jy@xxxxxxxxxxx> > Signed-off-by: Leah Rumancik<leah.rumancik@xxxxxxxxx> > --- > common/rc | 6 ++++++ > tests/ext4/048 | 13 ++++++++++++- > 2 files changed, 18 insertions(+), 1 deletion(-) > > diff --git a/common/rc b/common/rc > index a0aa7300..70aa7176 100644 > --- a/common/rc > +++ b/common/rc > @@ -4582,6 +4582,12 @@ _getcap() > return ${PIPESTATUS[0]} > } > > +_require_od_endian_flag() > +{ > + od --endian=little< /dev/null> /dev/null 2>&1 || \ > + _notrun "od does not support endian flag" > +} > + > init_rc > > ################################################################################ > diff --git a/tests/ext4/048 b/tests/ext4/048 > index 35d3ece8..51189618 100755 > --- a/tests/ext4/048 > +++ b/tests/ext4/048 > @@ -26,6 +26,11 @@ _supported_fs ext4 > _require_scratch > _require_command "$DEBUGFS_PROG" debugfs > > +big_endian=$(echo -ne '\x11' | od -tx2 | head -1 | cut -f2 -d' ' | cut -c1) > +if (( big_endian )); then > + _require_od_endian_flag > +fi > + > testdir="${SCRATCH_MNT}/testdir" > > # get block number filename's dir ent > @@ -44,7 +49,13 @@ get_offset() { > # argument 1: block > # argument 2: offset > get_reclen() { > - echo $(od $SCRATCH_DEV --skip-bytes=$(($1 * $blocksize + $2 + 4)) --read-bytes=2 -d -An --endian=little | tr -d ' \t\n\r') > + if (( big_endian )); then > + echo $(od $SCRATCH_DEV --skip-bytes=$(($1 * $blocksize + $2 + 4)) --read-bytes=2 -d -An --endian=little | \ > + tr -d ' \t\n\r') > + else > + echo $(od $SCRATCH_DEV --skip-bytes=$(($1 * $blocksize + $2 + 4)) --read-bytes=2 -d -An | \ > + tr -d ' \t\n\r') > + fi > } > > # reads portion of dirent that should be zero'd out (starting at offset of name_len = 6)