]> git.ipfire.org Git - people/ms/libloc.git/commitdiff
test: Generate random temporary files
authorMichael Tremer <michael.tremer@ipfire.org>
Thu, 28 May 2020 14:17:00 +0000 (14:17 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Thu, 28 May 2020 14:17:00 +0000 (14:17 +0000)
Debian runs the testsuite in parallel which fails when mutliple
process write to the same file at the same time.

This patch will now create and later delete a temporary file.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Makefile.am
src/test-as.c
src/test-country.c
src/test-database.c
src/test-network.c
src/test-signature.c

index fff6aeffd88f1e02453ba7c86ce2bce4121ce975..570ec3a00aa693e36d25e2c2ede103b96588ceb2 100644 (file)
@@ -295,7 +295,6 @@ TESTS = \
        src/test-signature
 
 CLEANFILES += \
-       test.db \
        testdata.db
 
 testdata.db: examples/python/create-database.py
index 7a2f34ea5e62f26ced81ca2fe979950d2783114d..a2d0ed588f037b03a268827a07978b04f335ed7e 100644 (file)
@@ -49,7 +49,7 @@ int main(int argc, char** argv) {
                loc_as_unref(as);
        }
 
-       FILE* f = fopen("test.db", "w+");
+       FILE* f = tmpfile();
        if (!f) {
                fprintf(stderr, "Could not open file for writing: %s\n", strerror(errno));
                exit(EXIT_FAILURE);
@@ -60,17 +60,10 @@ int main(int argc, char** argv) {
                fprintf(stderr, "Could not write database: %s\n", strerror(-err));
                exit(EXIT_FAILURE);
        }
-       fclose(f);
 
        loc_writer_unref(writer);
 
        // And open it again from disk
-       f = fopen("test.db", "r");
-       if (!f) {
-               fprintf(stderr, "Could not open file for reading: %s\n", strerror(errno));
-               exit(EXIT_FAILURE);
-       }
-
        struct loc_database* db;
        err = loc_database_new(ctx, &db, f);
        if (err) {
@@ -125,6 +118,7 @@ int main(int argc, char** argv) {
        loc_database_enumerator_unref(enumerator);
        loc_database_unref(db);
        loc_unref(ctx);
+       fclose(f);
 
        return EXIT_SUCCESS;
 }
index 25baf74e68dd4a7e7eaf413acee5215e6f88742a..4a9c9c1dcd2c8f03351205da1fcaf2e5c8fe3c9c 100644 (file)
@@ -75,7 +75,7 @@ int main(int argc, char** argv) {
        }
        loc_country_unref(country);
 
-       FILE* f = fopen("test.db", "w+");
+       FILE* f = tmpfile();
        if (!f) {
                fprintf(stderr, "Could not open file for writing: %s\n", strerror(errno));
                exit(EXIT_FAILURE);
@@ -86,17 +86,9 @@ int main(int argc, char** argv) {
                fprintf(stderr, "Could not write database: %s\n", strerror(-err));
                exit(EXIT_FAILURE);
        }
-       fclose(f);
-
        loc_writer_unref(writer);
 
        // And open it again from disk
-       f = fopen("test.db", "r");
-       if (!f) {
-               fprintf(stderr, "Could not open file for reading: %s\n", strerror(errno));
-               exit(EXIT_FAILURE);
-       }
-
        struct loc_database* db;
        err = loc_database_new(ctx, &db, f);
        if (err) {
@@ -114,6 +106,7 @@ int main(int argc, char** argv) {
 
        loc_database_unref(db);
        loc_unref(ctx);
+       fclose(f);
 
        return EXIT_SUCCESS;
 }
index 6f20a59dfd919057ec8bee71d859d05afddc7fc6..4fdb774f7fc853128153c94e31ede21df08b5218 100644 (file)
@@ -135,7 +135,7 @@ int main(int argc, char** argv) {
                exit(EXIT_FAILURE);
        }
 
-       FILE* f = fopen("test.db", "w+");
+       FILE* f = tmpfile();
        if (!f) {
                fprintf(stderr, "Could not open file for writing: %s\n", strerror(errno));
                exit(EXIT_FAILURE);
@@ -148,16 +148,7 @@ int main(int argc, char** argv) {
        }
        loc_writer_unref(writer);
 
-       // Close the file
-       fclose(f);
-
        // And open it again from disk
-       f = fopen("test.db", "r");
-       if (!f) {
-               fprintf(stderr, "Could not open file for reading: %s\n", strerror(errno));
-               exit(EXIT_FAILURE);
-       }
-
        struct loc_database* db;
        err = loc_database_new(ctx, &db, f);
        if (err) {
@@ -177,8 +168,8 @@ int main(int argc, char** argv) {
 
        // Close the database
        loc_database_unref(db);
-
        loc_unref(ctx);
+       fclose(f);
 
        return EXIT_SUCCESS;
 }
index eb2a82f3bbbbb8aba654c48ab5807bda18f9959f..24355a986565b793fc3ab5b90ed843760cf76d5f 100644 (file)
@@ -120,7 +120,7 @@ int main(int argc, char** argv) {
        // Set ASN
        loc_network_set_asn(network4, 1024);
 
-       FILE* f = fopen("test.db", "w+");
+       FILE* f = tmpfile();
        if (!f) {
                fprintf(stderr, "Could not open file for writing: %s\n", strerror(errno));
                exit(EXIT_FAILURE);
@@ -131,8 +131,6 @@ int main(int argc, char** argv) {
                fprintf(stderr, "Could not write database: %s\n", strerror(-err));
                exit(EXIT_FAILURE);
        }
-       fclose(f);
-
        loc_writer_unref(writer);
 
        loc_network_unref(network1);
@@ -142,12 +140,6 @@ int main(int argc, char** argv) {
        loc_network_tree_unref(tree);
 
        // And open it again from disk
-       f = fopen("test.db", "r");
-       if (!f) {
-               fprintf(stderr, "Could not open file for reading: %s\n", strerror(errno));
-               exit(EXIT_FAILURE);
-       }
-
        struct loc_database* db;
        err = loc_database_new(ctx, &db, f);
        if (err) {
@@ -172,6 +164,7 @@ int main(int argc, char** argv) {
        loc_network_unref(network1);
 
        loc_unref(ctx);
+       fclose(f);
 
        return EXIT_SUCCESS;
 }
index daebef2d5123e02a8423b8d895c6689fbd4c85b2..cbbe15f7f7fc0578ed490a17c2c3feb6843f1767 100644 (file)
@@ -61,7 +61,7 @@ int main(int argc, char** argv) {
        if (err < 0)
                exit(EXIT_FAILURE);
 
-       FILE* f = fopen("test.db", "w+");
+       FILE* f = tmpfile();
        if (!f) {
                fprintf(stderr, "Could not open file for writing: %s\n", strerror(errno));
                exit(EXIT_FAILURE);
@@ -74,16 +74,7 @@ int main(int argc, char** argv) {
        }
        loc_writer_unref(writer);
 
-       // Close the file
-       fclose(f);
-
        // And open it again from disk
-       f = fopen("test.db", "r");
-       if (!f) {
-               fprintf(stderr, "Could not open file for reading: %s\n", strerror(errno));
-               exit(EXIT_FAILURE);
-       }
-
        struct loc_database* db;
        err = loc_database_new(ctx, &db, f);
        if (err) {
@@ -114,8 +105,8 @@ int main(int argc, char** argv) {
 
        // Close the database
        loc_database_unref(db);
-
        loc_unref(ctx);
+       fclose(f);
 
        fclose(private_key1);
        fclose(private_key2);