X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=tests%2Flibpspp%2Frange-set-test.c;h=c7a89176e68e996dfe34110d785f7da5e2ebd112;hb=6f3865480503c571963d8a2d1af858a4d72d4e88;hp=03dfb3189e18db2af7798ba1d94fead53e3ec2e7;hpb=a258e53c63a08b0ec48aea8f03808eb651729424;p=pspp diff --git a/tests/libpspp/range-set-test.c b/tests/libpspp/range-set-test.c index 03dfb3189e..c7a89176e6 100644 --- a/tests/libpspp/range-set-test.c +++ b/tests/libpspp/range-set-test.c @@ -1,5 +1,5 @@ /* PSPP - a program for statistical analysis. - Copyright (C) 2007, 2009, 2010 Free Software Foundation, Inc. + Copyright (C) 2007, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -163,8 +163,7 @@ print_regions (const struct range_set *rs) const struct range_set_node *node; printf ("result:"); - for (node = range_set_first (rs); node != NULL; - node = range_set_next (rs, node)) + RANGE_SET_FOR_EACH (node, rs) printf (" (%lu,%lu)", range_set_node_get_start (node), range_set_node_get_end (node)); printf ("\n"); @@ -254,7 +253,7 @@ make_pattern (unsigned int pattern) unsigned long int width = 0; struct range_set *rs = range_set_create_pool (NULL); while (next_region (pattern, start + width, &start, &width)) - range_set_insert (rs, start, width); + range_set_set1 (rs, start, width); check_pattern (rs, pattern); return rs; } @@ -280,6 +279,12 @@ test_insert (void) unsigned int init_pat; int i, j; +#if __GNUC__ == 4 && __GNUC_MINOR__ == 2 && __llvm__ + /* This test seems to trigger a bug in llvm-gcc 4.2 on Mac OS X 10.8.0. + Exit code 77 tells the Autotest framework that the test was skipped. */ + exit (77); +#endif + for (init_pat = 0; init_pat < (1u << positions); init_pat++) for (i = 0; i < positions + 1; i++) for (j = i; j <= positions + 1; j++) @@ -288,7 +293,7 @@ test_insert (void) unsigned int final_pat; rs = make_pattern (init_pat); - range_set_insert (rs, i, j - i); + range_set_set1 (rs, i, j - i); final_pat = init_pat | bit_range (i, j - i); check_pattern (rs, final_pat); rs2 = range_set_clone (rs, NULL); @@ -307,6 +312,12 @@ test_delete (void) unsigned int init_pat; int i, j; +#if __GNUC__ == 4 && __GNUC_MINOR__ == 2 && __llvm__ + /* This test seems to trigger a bug in llvm-gcc 4.2 on Mac OS X 10.8.0. + Exit code 77 tells the Autotest framework that the test was skipped. */ + exit (77); +#endif + for (init_pat = 0; init_pat < (1u << positions); init_pat++) for (i = 0; i < positions + 1; i++) for (j = i; j <= positions + 1; j++) @@ -315,7 +326,7 @@ test_delete (void) unsigned int final_pat; rs = make_pattern (init_pat); - range_set_delete (rs, i, j - i); + range_set_set0 (rs, i, j - i); final_pat = init_pat & ~bit_range (i, j - i); check_pattern (rs, final_pat); range_set_destroy (rs); @@ -331,6 +342,12 @@ test_allocate (void) unsigned int init_pat; int request; +#if __GNUC__ == 4 && __GNUC_MINOR__ == 2 && __llvm__ + /* This test seems to trigger a bug in llvm-gcc 4.2 on Mac OS X 10.8.0. + Exit code 77 tells the Autotest framework that the test was skipped. */ + exit (77); +#endif + for (init_pat = 0; init_pat < (1u << positions); init_pat++) for (request = 1; request <= positions + 1; request++) { @@ -381,6 +398,12 @@ test_allocate_fully (void) unsigned int init_pat; int request; +#if __GNUC__ == 4 && __GNUC_MINOR__ == 2 && __llvm__ + /* This test seems to trigger a bug in llvm-gcc 4.2 on Mac OS X 10.8.0. + Exit code 77 tells the Autotest framework that the test was skipped. */ + exit (77); +#endif + for (init_pat = 0; init_pat < (1u << positions); init_pat++) for (request = 1; request <= positions + 1; request++) { @@ -437,7 +460,7 @@ test_pool (void) Makes sure that this doesn't cause a double-free. */ pool = pool_create (); rs = range_set_create_pool (pool); - range_set_insert (rs, 1, 10); + range_set_set1 (rs, 1, 10); range_set_destroy (rs); pool_destroy (pool); @@ -445,7 +468,7 @@ test_pool (void) Makes sure that this doesn't cause a leak. */ pool = pool_create (); rs = range_set_create_pool (pool); - range_set_insert (rs, 1, 10); + range_set_set1 (rs, 1, 10); pool_destroy (pool); }