[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: 'make check' fails
From: |
Sergei Steshenko |
Subject: |
Re: 'make check' fails |
Date: |
Sat, 5 Dec 2009 04:29:56 -0800 (PST) |
--- On Sat, 12/5/09, Jim Meyering <address@hidden> wrote:
> From: Jim Meyering <address@hidden>
> Subject: Re: 'make check' fails
> To: "Pádraig Brady" <address@hidden>
> Cc: "Sergei Steshenko" <address@hidden>, address@hidden
> Date: Saturday, December 5, 2009, 2:03 AM
> Pádraig Brady wrote:
> > Sergei Steshenko wrote:
> >> Hello,
> >>
> >> I've been running 'make check' on freshly
> installed SUSE-11.1, and it
> >> was in VirtualBox. The disk was a VirtualBox one -
> not a shared folder, and
> >> it was attached to virtual IDE controller (not
> SATA).
> >>
> >> Screen output of 'make check' is attached, the
> failure is:
> >>
> >> "
> >> FAIL: ls/readdir-mountpoint-inode (exit: 1)
> >
> >> +++ dirname /file_exchange
> >> ++ parent_dir=/
> >> ++ eval 'ls -i ...
> >> + readdir_inode='?'
> >> ++ env stat --format=%i /file_exchange
> >> + stat_inode=0
> >> + test '?' = 0
> >> + fail=1
> >
> > Thanks for the report. It looks like this test failure
> was triggered by:
> > http://git.savannah.gnu.org/gitweb/?p=coreutils.git;a=commit;h=36edf7ba
> >
> > I.E. there is now a mismatch between `ls -i` and `stat
> --format=%i`,
> > as ls is now doing extra validation and outputting '?'
> for invalid inodes,
> > whereas stat is blindly printing the st_ino.
>
> Thanks for investigating.
>
> > Should I convert '?' to '0' in the test?
> > Should I modify the output from stat to match ls?
>
> Maybe neither.
> The "?" makes me think /file_exchange is a dangling
> symlink.
> If that's the case, selecting only directories may be
> enough:
>
> diff --git a/tests/ls/readdir-mountpoint-inode
> b/tests/ls/readdir-mountpoint-inode
> index c021473..de563d7 100755
> --- a/tests/ls/readdir-mountpoint-inode
> +++ b/tests/ls/readdir-mountpoint-inode
> @@ -65,6 +65,8 @@ inode_via_readdir()
> for dir in $mount_points; do
> readdir_inode=$(inode_via_readdir $dir)
> stat_inode=$(env stat --format=%i $dir)
> + # skip non-directories (i.e., dangling symlinks)
> + test -d $dir || continue
> test "$readdir_inode" = "$stat_inode" ||
> fail=1
> done
>
> If that doesn't do it, then we can skip $dir when
> stat_inode is 0.
>
> Sergei, what do these print for you?
>
> env ls -li / |grep file_exchange
> env ls -lidL /file_exchange
>
Here is the requested screen output.
"
address@hidden:~> env ls -li / | grep file_exchange
? drwxr-xr-x 1 auser users 4096 2009-12-04 06:29 file_exchange
address@hidden:~> env ls -lidL /file_exchange
? drwxr-xr-x 1 auser users 4096 2009-12-04 06:29 /file_exchange
address@hidden:~>
".
'/file_exchange' is what VirtualBox developers call shared folder.
Both host and guest OSes are Linux (SUSE-11.1). Also, in the guest I'm
using what VirtualBox developers call "host additions". And 'file_exchange' is
both device and share name.
Here's what my '/etc/fstab' file in the guest OS contains:
"
address@hidden:~> cat -n /etc/fstab
1 /dev/disk/by-id/ata-VBOX_HARDDISK_VB6bc61ef6-81074cc5-part1 swap
swap defaults 0 0
2 /dev/disk/by-id/ata-VBOX_HARDDISK_VB6bc61ef6-81074cc5-part2 /
ext3 acl,user_xattr 1 1
3 proc /proc proc defaults
0 0
4 sysfs /sys sysfs noauto
0 0
5 debugfs /sys/kernel/debug debugfs noauto
0 0
6 usbfs /proc/bus/usb usbfs noauto
0 0
7 devpts /dev/pts devpts mode=0620,gid=5
0 0
8 file_exchange /file_exchange vboxsf uid=1000,gid=100
9 /dev/disk/by-id/ata-VBOX_HARDDISK_VB8c135271-d6716c88-part1 /data
ext3 acl,user_xattr 1 2
address@hidden:~>
".
Overall guest system behaves quite fine, I've managed to build in it quite
a lot of things from sources, even the heavy ones like 'gcc'.
Regards,
Sergei.