[gccsdk] fgets problem/Unixlib

John Tytgat John.Tytgat at aaug.net
Sat Mar 8 18:05:18 PST 2014


In message <20140308201749.GY6467 at chiark.greenend.org.uk>
          Theo Markettos <theo at markettos.org.uk> wrote:

> On Sat, Mar 08, 2014 at 04:34:37PM +0100, John Tytgat wrote:
> > Roughly a year ago I did several UnixLib fixes for returning more
> > accurate errno error values and made a small unittest framework
> > (recipe/files/gcc/libunixlib/unittest) for testing these changes.  It
> > would be interesting to have those unittests run on HostFS instead of
> > a FileCore based FS what I used at that time.  My guess is that HostFS
> > will fail more of those unittests...
> 
> Here you go. RPCEmu 0.8.9, RISC OS 5.20 (10 Jun 2013), Mac OS 10.9.
> It does fail a few...

Yes, but I forgot to mention that on a FileCore FS not all tests pass
either.

> [...]
> [rename unittest]
> Test 'Test_001_BasicRenameFile'...
>   ok
> Test 'Test_002_BasicRenameDir'...
>   ok
> Test 'Test_003_BasicRenameSymLink'...
>   ok
> Test 'Test_004_RenameFileAndDstExists'...
>   ok
> Test 'Test_005_RenameDirAndDstExists'...
>   ok
> Test 'Test_006_GenerationOfEISDIR'...
>   ok
> Test 'Test_007_GenerationOfENOENT'...
> rename(file, dir/nodir/foo) got error 0 (Success) while we would have expected error 2 (No such file or directory)
>   *** ExpectCall_Rename FAILED at line 243 !
>   *** Test 'Test_007_GenerationOfENOENT' FAILED !

This is a suspicious failure.

> Test 'Test_008_GenerationOfENOTDIR'...
> rename(file/nofile, other_file) got error 2 (No such file or directory) while we would have expected error 20 (Not a directory)
>   *** ExpectCall_Rename FAILED at line 282 !
>   *** Test 'Test_008_GenerationOfENOTDIR' FAILED !
> Test 'Test_009_GenerationOfEFAULT'...
>   ok
> Test 'Test_010_GenerationOfEINVAL'...
> rename(dir, dir/subdir/foo) got error 88 (Bad rename) while we would have expected error 22 (Invalid argument)
>   *** ExpectCall_Rename FAILED at line 340 !
>   *** Test 'Test_010_GenerationOfEINVAL' FAILED !

This one as well.

> [...]
> [utime unittest]
> Test 'Test_001_BasicUTime'...
> File file has modification date 2405181940.000000000 (0x8f5c29f4 0x00000000) 'Sat Feb 12 11:37:24 1910', but we expected 4294967295.000000000 (0xffffffff 0x00000000) 'Wed Dec 31 23:59:59 1969'.
>   *** Check_FileModDate FAILED at line 55 !
>   *** Test 'Test_001_BasicUTime' FAILED !

Bizar failure.

> Test 'Test_002_GenerationOfENOENT'...
> utime(file, 0xa6fac) got error 0 (Success) while we would have expected error 2 (No such file or directory)
>   *** ExpectCall_UTime FAILED at line 106 !
>   *** Test 'Test_002_GenerationOfENOENT' FAILED !

Likewise.

> Test 'Test_003_GenerationOfEFAULT'...
>   ok
> Test 'Test_004_GenerationOfENAMETOOLONG'...
>   ok
> [utimes unittest]
> Test 'Test_001_BasicUTimes'...
> File file has modification date 0.000000000 (0x00000000 0x00000000) 'Thu Jan 01 00:00:00 1970', but we expected 0.020000000 (0x00000000 0x01312d00) 'Thu Jan 01 00:00:00 1970'.
>   *** Check_FileModDate FAILED at line 57 !
>   *** Test 'Test_001_BasicUTimes' FAILED !

No centi-second modification date precision...

> Test 'Test_002_GenerationOfENOENT'...
> utimes(file, 0xa6fa4) got error 0 (Success) while we would have expected error 2 (No such file or directory)
>   *** ExpectCall_UTimes FAILED at line 115 !
>   *** Test 'Test_002_GenerationOfENOENT' FAILED !

Bizar failure.

> Test 'Test_003_GenerationOfEFAULT'...
>   ok
> Test 'Test_004_GenerationOfENAMETOOLONG'...
>   ok

On the other hand, non of these tests show the open()/EOPSYS issue
you've reported.

John.
-- 
John Tytgat, in his comfy chair at home
John.Tytgat at aaug.net




More information about the gcc mailing list