X-Git-Url: https://pd.if.org/git/?a=blobdiff_plain;f=functions%2Fstdio%2Frename.c;h=a3583e67571bd8b72b20f992aed6ebcc73ed1d55;hb=b1fc26afebd4d557ff89a44bc21767a8704c3809;hp=2a34fe698f6704f1e9c626cf16bb9161fdc97e0f;hpb=b189506b1b895940933bdfc5d6d6ae5d0ba65721;p=pdclib diff --git a/functions/stdio/rename.c b/functions/stdio/rename.c index 2a34fe6..a3583e6 100644 --- a/functions/stdio/rename.c +++ b/functions/stdio/rename.c @@ -1,5 +1,3 @@ -/* $Id$ */ - /* rename( const char *, const char * ) This file is part of the Public Domain C Library (PDCLib). @@ -39,47 +37,45 @@ int rename( const char * old, const char * new ) int main( void ) { - char filename1[] = "touch testfile1"; - char filename2[] = "testfile2"; FILE * file; - remove( filename1 + 6 ); - remove( filename2 ); + remove( testfile1 ); + remove( testfile2 ); /* make sure that neither file exists */ - TESTCASE( fopen( filename1 + 6, "r" ) == NULL ); - TESTCASE( fopen( filename2, "r" ) == NULL ); + TESTCASE( fopen( testfile1, "r" ) == NULL ); + TESTCASE( fopen( testfile2, "r" ) == NULL ); /* rename file 1 to file 2 - expected to fail */ - TESTCASE( rename( filename1 + 6, filename2 ) == -1 ); + TESTCASE( rename( testfile1, testfile2 ) == -1 ); /* create file 1 */ - system( filename1 ); + TESTCASE( ( file = fopen( testfile1, "w" ) ) != NULL ); + TESTCASE( fputs( "x", file ) != EOF ); + TESTCASE( fclose( file ) == 0 ); /* check that file 1 exists */ - TESTCASE( ( file = fopen( filename1 + 6, "r" ) ) != NULL ); + TESTCASE( ( file = fopen( testfile1, "r" ) ) != NULL ); TESTCASE( fclose( file ) == 0 ); /* rename file 1 to file 2 */ - TESTCASE( rename( filename1 + 6, filename2 ) == 0 ); + TESTCASE( rename( testfile1, testfile2 ) == 0 ); /* check that file 2 exists, file 1 does not */ - TESTCASE( fopen( filename1 + 6, "r" ) == NULL ); - TESTCASE( ( file = fopen( filename2, "r" ) ) != NULL ); + TESTCASE( fopen( testfile1, "r" ) == NULL ); + TESTCASE( ( file = fopen( testfile2, "r" ) ) != NULL ); TESTCASE( fclose( file ) == 0 ); /* create another file 1 */ - system( filename1 ); + TESTCASE( ( file = fopen( testfile1, "w" ) ) != NULL ); + TESTCASE( fputs( "x", file ) != EOF ); + TESTCASE( fclose( file ) == 0 ); /* check that file 1 exists */ - TESTCASE( ( file = fopen( filename1 + 6, "r" ) ) != NULL ); + TESTCASE( ( file = fopen( testfile1, "r" ) ) != NULL ); TESTCASE( fclose( file ) == 0 ); /* rename file 1 to file 2 - expected to fail, see comment in _PDCLIB_rename() itself. */ -#ifndef REGTEST - TESTCASE( rename( filename1 + 6, filename2 ) == -1 ); -#else - /* glibc rename() overwrites existing destination file. */ - TESTCASE( rename( filename1 + 6, filename2 ) == 0 ); -#endif + /* NOREG as glibc overwrites existing destination file. */ + TESTCASE_NOREG( rename( testfile1, testfile2 ) == -1 ); /* remove both files */ - remove( filename1 + 6 ); - remove( filename2 ); + TESTCASE( remove( testfile1 ) == 0 ); + TESTCASE( remove( testfile2 ) == 0 ); /* check that they're gone */ - TESTCASE( fopen( filename1 + 6, "r" ) == NULL ); - TESTCASE( fopen( filename2, "r" ) == NULL ); + TESTCASE( fopen( testfile1, "r" ) == NULL ); + TESTCASE( fopen( testfile2, "r" ) == NULL ); return TEST_RESULTS; }