Mercurial > ecos-v3_0-branch
diff packages/fs/ram/current/tests/fileio1.c @ 128:0c2b7be0d798 ecos-sw-2000-10-12
Merge from eCos master repository on 2000-10-12-08:46:24-BST
| author | jlarmour |
|---|---|
| date | Thu, 12 Oct 2000 20:31:43 +0000 |
| parents | 6ed91473a1cd |
| children | e0c0827131d1 |
line wrap: on
line diff
--- a/packages/fs/ram/current/tests/fileio1.c +++ b/packages/fs/ram/current/tests/fileio1.c @@ -374,6 +374,23 @@ static void comparefiles( char *name2, c } //========================================================================== + +void checkcwd( const char *cwd ) +{ + static char cwdbuf[PATH_MAX]; + char *ret; + + ret = getcwd( cwdbuf, sizeof(cwdbuf)); + if( ret == NULL ) SHOW_RESULT( getcwd, ret ); + + if( strcmp( cwdbuf, cwd ) != 0 ) + { + diag_printf( "cwdbuf %s cwd %s\n",cwdbuf, cwd ); + CYG_TEST_FAIL( "Current directory mismatch"); + } +} + +//========================================================================== // main int main( int argc, char **argv ) @@ -389,6 +406,8 @@ int main( int argc, char **argv ) err = chdir( "/" ); if( err < 0 ) SHOW_RESULT( chdir, err ); + + checkcwd( "/" ); // -------------------------------------------------------------- @@ -411,6 +430,8 @@ int main( int argc, char **argv ) err = chdir( "bar" ); if( err < 0 ) SHOW_RESULT( chdir, err ); + checkcwd( "/bar" ); + diag_printf("<INFO>: rename /foo bundy\n"); err = rename( "/foo", "bundy" ); if( err < 0 ) SHOW_RESULT( rename, err ); @@ -456,6 +477,8 @@ int main( int argc, char **argv ) err = chdir( "/" ); if( err < 0 ) SHOW_RESULT( chdir, err ); + checkcwd( "/" ); + diag_printf("<INFO>: rmdir /bar\n"); err = rmdir( "/bar" ); if( err < 0 ) SHOW_RESULT( rmdir, err ); @@ -478,6 +501,8 @@ int main( int argc, char **argv ) err = chdir( "/ram" ); if( err < 0 ) SHOW_RESULT( chdir, err ); + checkcwd( "/ram" ); + diag_printf("<INFO>: mkdir noonoo\n"); err = mkdir( "noonoo", 0 ); if( err < 0 ) SHOW_RESULT( mkdir, err ); @@ -488,6 +513,7 @@ int main( int argc, char **argv ) err = chdir( "noonoo" ); if( err < 0 ) SHOW_RESULT( chdir, err ); + checkcwd( "/ram/noonoo" ); createfile( "tinky", 678 ); checkfile( "tinky" ); @@ -519,11 +545,69 @@ int main( int argc, char **argv ) diag_printf("<INFO>: cd ..\n"); err = chdir( ".." ); if( err < 0 ) SHOW_RESULT( chdir, err ); - + checkcwd( "/ram" ); + diag_printf("<INFO>: rmdir noonoo\n"); err = rmdir( "noonoo" ); if( err < 0 ) SHOW_RESULT( rmdir, err ); + // -------------------------------------------------------------- + + err = mkdir( "x", 0 ); + if( err < 0 ) SHOW_RESULT( mkdir, err ); + + err = mkdir( "x/y", 0 ); + if( err < 0 ) SHOW_RESULT( mkdir, err ); + + err = mkdir( "x/y/z", 0 ); + if( err < 0 ) SHOW_RESULT( mkdir, err ); + + err = mkdir( "x/y/z/w", 0 ); + if( err < 0 ) SHOW_RESULT( mkdir, err ); + + diag_printf("<INFO>: cd /ram/x/y/z/w\n"); + err = chdir( "/ram/x/y/z/w" ); + if( err < 0 ) SHOW_RESULT( chdir, err ); + checkcwd( "/ram/x/y/z/w" ); + + diag_printf("<INFO>: cd ..\n"); + err = chdir( ".." ); + if( err < 0 ) SHOW_RESULT( chdir, err ); + checkcwd( "/ram/x/y/z" ); + + diag_printf("<INFO>: cd .\n"); + err = chdir( "." ); + if( err < 0 ) SHOW_RESULT( chdir, err ); + checkcwd( "/ram/x/y/z" ); + + diag_printf("<INFO>: cd ../../y\n"); + err = chdir( "../../y" ); + if( err < 0 ) SHOW_RESULT( chdir, err ); + checkcwd( "/ram/x/y" ); + + diag_printf("<INFO>: cd ../..\n"); + err = chdir( "../.." ); + if( err < 0 ) SHOW_RESULT( chdir, err ); + checkcwd( "/ram" ); + + diag_printf("<INFO>: rmdir x/y/z/w\n"); + err = rmdir( "x/y/z/w" ); + if( err < 0 ) SHOW_RESULT( rmdir, err ); + + diag_printf("<INFO>: rmdir x/y/z\n"); + err = rmdir( "x/y/z" ); + if( err < 0 ) SHOW_RESULT( rmdir, err ); + + diag_printf("<INFO>: rmdir x/y\n"); + err = rmdir( "x/y" ); + if( err < 0 ) SHOW_RESULT( rmdir, err ); + + diag_printf("<INFO>: rmdir x\n"); + err = rmdir( "x" ); + if( err < 0 ) SHOW_RESULT( rmdir, err ); + + // -------------------------------------------------------------- + diag_printf("<INFO>: unlink tinky\n"); err = unlink( "tinky" ); if( err < 0 ) SHOW_RESULT( unlink, err ); @@ -535,7 +619,8 @@ int main( int argc, char **argv ) diag_printf("<INFO>: cd /\n"); err = chdir( "/" ); if( err < 0 ) SHOW_RESULT( chdir, err ); - + checkcwd( "/" ); + diag_printf("<INFO>: umount /ram\n"); err = umount( "/ram" ); if( err < 0 ) SHOW_RESULT( umount, err );
