X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=tests%2Flibpspp%2Frange-set-test.c;h=254ad060d1c607280f288b0b04c5a334e2e5ff91;hb=c1b1583b96cc05a2bf9f3f6d01bbfa063fafb253;hp=1bb9238caebc0de8e753047f85a064f98becd1ce;hpb=32ee0e0402d6d56674f53a47d879ec5c07dabe09;p=pspp diff --git a/tests/libpspp/range-set-test.c b/tests/libpspp/range-set-test.c index 1bb9238cae..254ad060d1 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, 2011 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 @@ -38,7 +38,6 @@ #include #include -#include "xalloc.h" /* Exit with a failure code. (Place a breakpoint on this function while debugging.) */ @@ -129,7 +128,7 @@ prev_region (unsigned int pattern, unsigned int offset, unsigned int i; assert (offset <= UINT_BIT); - for (i = offset; i-- > 0; ) + for (i = offset; i-- > 0;) if (pattern & (1u << i)) { *start = i; @@ -163,8 +162,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,21 +252,21 @@ 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; } -/* Returns an unsigned int with bits OFS...OFS+CNT (exclusive) +/* Returns an unsigned int with bits OFS...OFS+N (exclusive) set to 1, other bits set to 0. */ static unsigned int -bit_range (unsigned int ofs, unsigned int cnt) +bit_range (unsigned int ofs, unsigned int n) { assert (ofs < UINT_BIT); - assert (cnt <= UINT_BIT); - assert (ofs + cnt <= UINT_BIT); + assert (n <= UINT_BIT); + assert (ofs + n <= UINT_BIT); - return cnt < UINT_BIT ? ((1u << cnt) - 1) << ofs : UINT_MAX; + return n < UINT_BIT ? ((1u << n) - 1) << ofs : UINT_MAX; } /* Tests inserting all possible patterns into all possible range @@ -280,12 +278,6 @@ 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++) @@ -294,7 +286,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); @@ -313,12 +305,6 @@ 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++) @@ -327,7 +313,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); @@ -343,12 +329,6 @@ 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++) { @@ -399,12 +379,6 @@ 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++) { @@ -461,7 +435,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); @@ -469,7 +443,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); }