From 5ed62f110b1cbb963649ef57cb4c4e65bc114e95 Mon Sep 17 00:00:00 2001 From: Gareth Rees Date: Mon, 13 Oct 2014 21:34:12 +0100 Subject: [PATCH] Get the mmqa conerr tests working: * Make sure all the test build and run. * Add output specifications to the passing tests. * New testset/conerr runs them all. Copied from Perforce Change: 187248 ServerID: perforce.ravenbrook.com --- mps/test/conerr/0.c | 2 ++ mps/test/conerr/1.c | 4 ++- mps/test/conerr/10.c | 31 ++++--------------- mps/test/conerr/11.c | 28 ++++------------- mps/test/conerr/12.c | 27 ++--------------- mps/test/conerr/13.c | 4 +++ mps/test/conerr/14.c | 2 ++ mps/test/conerr/15.c | 4 ++- mps/test/conerr/16.c | 4 +++ mps/test/conerr/17.c | 39 +++++------------------- mps/test/conerr/18.c | 30 ++++--------------- mps/test/conerr/19.c | 4 ++- mps/test/conerr/2.c | 4 +++ mps/test/conerr/20.c | 4 +++ mps/test/conerr/21.c | 4 +++ mps/test/conerr/22.c | 6 +++- mps/test/conerr/23.c | 4 +++ mps/test/conerr/24.c | 25 ++++------------ mps/test/conerr/25.c | 39 +++++++----------------- mps/test/conerr/26.c | 30 +++++++------------ mps/test/conerr/27.c | 32 ++++++++------------ mps/test/conerr/28.c | 39 ++++-------------------- mps/test/conerr/29.c | 37 +++++------------------ mps/test/conerr/3.c | 6 +++- mps/test/conerr/30.c | 41 ++++--------------------- mps/test/conerr/31.c | 37 +++++------------------ mps/test/conerr/32.c | 23 +++++--------- mps/test/conerr/33.c | 53 +++++++------------------------- mps/test/conerr/33a.c | 59 ++++++++---------------------------- mps/test/conerr/34.c | 4 ++- mps/test/conerr/35.c | 4 +++ mps/test/conerr/36.c | 4 +++ mps/test/conerr/37.c | 6 +++- mps/test/conerr/37f.c | 11 ++++++- mps/test/conerr/38.c | 6 +++- mps/test/conerr/38f.c | 11 ++++++- mps/test/conerr/39.c | 10 +++++-- mps/test/conerr/39f.c | 15 ++++++++-- mps/test/conerr/4.c | 4 +++ mps/test/conerr/40.c | 2 +- mps/test/conerr/40f.c | 11 ++++++- mps/test/conerr/41.c | 4 ++- mps/test/conerr/42.c | 2 ++ mps/test/conerr/43.c | 4 ++- mps/test/conerr/44.c | 4 +++ mps/test/conerr/44a.c | 4 ++- mps/test/conerr/45.c | 4 ++- mps/test/conerr/46.c | 2 ++ mps/test/conerr/47.c | 4 ++- mps/test/conerr/48.c | 3 ++ mps/test/conerr/5.c | 26 ++++------------ mps/test/conerr/50.c | 4 ++- mps/test/conerr/51.c | 2 ++ mps/test/conerr/52.c | 2 ++ mps/test/conerr/53.c | 4 +++ mps/test/conerr/54.c | 4 +++ mps/test/conerr/55.c | 2 ++ mps/test/conerr/56.c | 2 ++ mps/test/conerr/57.c | 15 ++++++---- mps/test/conerr/58.c | 15 ++++++---- mps/test/conerr/59.c | 4 +++ mps/test/conerr/6.c | 5 ++++ mps/test/conerr/7.c | 4 +++ mps/test/conerr/8.c | 29 ++++-------------- mps/test/conerr/9.c | 26 ++-------------- mps/test/testsets/conerr | 65 ++++++++++++++++++++++++++++++++++++++++ 66 files changed, 396 insertions(+), 554 deletions(-) create mode 100644 mps/test/testsets/conerr diff --git a/mps/test/conerr/0.c b/mps/test/conerr/0.c index 8023ed2ff46..a7bd9a82565 100644 --- a/mps/test/conerr/0.c +++ b/mps/test/conerr/0.c @@ -4,6 +4,8 @@ TEST_HEADER summary = create an arena and then destroy it, twice! language = c link = testlib.o +OUTPUT_SPEC + abort = true END_HEADER */ diff --git a/mps/test/conerr/1.c b/mps/test/conerr/1.c index c7ddc8845b6..2758c0385df 100644 --- a/mps/test/conerr/1.c +++ b/mps/test/conerr/1.c @@ -4,6 +4,8 @@ TEST_HEADER summary = destroy an arena without creating it language = c link = testlib.o +OUTPUT_SPEC + abort = true END_HEADER */ @@ -11,7 +13,7 @@ END_HEADER static void test(void) { - mps_arena_t arena; + mps_arena_t arena = (mps_arena_t)1; mps_arena_destroy(arena); comment("Destroy arena."); diff --git a/mps/test/conerr/10.c b/mps/test/conerr/10.c index a78add272b9..ff28d34649c 100644 --- a/mps/test/conerr/10.c +++ b/mps/test/conerr/10.c @@ -4,44 +4,23 @@ TEST_HEADER summary = destroy a format though uncreated language = c link = testlib.o +OUTPUT_SPEC + assert = true + assertfile P= mpsi.c + assertcond = TESTT(Format, format) END_HEADER */ #include "testlib.h" #include "mpscmv.h" -static void zilch(void) -{ -} - - -static mps_addr_t myskip(mps_addr_t object) -{ - return object; -} - static void test(void) { mps_arena_t arena; - mps_fmt_t format; - mps_fmt_A_s fmtA; - + mps_fmt_t format = (mps_fmt_t)&format; cdie(mps_arena_create(&arena, mps_arena_class_vm(), mmqaArenaSIZE), "create arena"); - fmtA.align = (mps_align_t) 1; - fmtA.scan = &zilch; - fmtA.skip = &myskip; - fmtA.copy = &zilch; - fmtA.fwd = &zilch; - fmtA.isfwd = &zilch; - fmtA.pad = &zilch; - -/* cdie( - mps_fmt_create_A(&format, arena, &fmtA), - "create format"); -*/ - mps_fmt_destroy(format); comment("Destroyed format."); diff --git a/mps/test/conerr/11.c b/mps/test/conerr/11.c index b39d8a16974..f3fe41f91c7 100644 --- a/mps/test/conerr/11.c +++ b/mps/test/conerr/11.c @@ -4,42 +4,24 @@ TEST_HEADER summary = destroy a format twice language = c link = testlib.o +OUTPUT_SPEC + assert = true + assertfile P= mpsi.c + assertcond = TESTT(Format, format) END_HEADER */ #include "testlib.h" #include "mpscmv.h" -static void zilch(void) -{ -} - - -static mps_addr_t myskip(mps_addr_t object) -{ - return object; -} - static void test(void) { mps_arena_t arena; mps_fmt_t format; - mps_fmt_A_s fmtA; - cdie(mps_arena_create(&arena, mps_arena_class_vm(), mmqaArenaSIZE), "create arena"); - fmtA.align = (mps_align_t) 1; - fmtA.scan = &zilch; - fmtA.skip = &myskip; - fmtA.copy = &zilch; - fmtA.fwd = &zilch; - fmtA.isfwd = &zilch; - fmtA.pad = &zilch; - - cdie( - mps_fmt_create_A(&format, arena, &fmtA), - "create format"); + cdie(mps_fmt_create_k(&format, arena, mps_args_none), "create format"); mps_fmt_destroy(format); comment("Destroyed format."); diff --git a/mps/test/conerr/12.c b/mps/test/conerr/12.c index eb4a48768f5..a8f932114ab 100644 --- a/mps/test/conerr/12.c +++ b/mps/test/conerr/12.c @@ -10,40 +10,17 @@ END_HEADER #include "testlib.h" #include "mpsclo.h" -static void zilch(void) -{ -} - - -static mps_addr_t myskip(mps_addr_t object) -{ - return object; -} - static void test(void) { mps_arena_t arena; mps_fmt_t format; - mps_fmt_A_s fmtA; mps_pool_t pool; cdie(mps_arena_create(&arena, mps_arena_class_vm(), mmqaArenaSIZE), "create arena"); - fmtA.align = (mps_align_t) 1; - fmtA.scan = &zilch; - fmtA.skip = &myskip; - fmtA.copy = &zilch; - fmtA.fwd = &zilch; - fmtA.isfwd = &zilch; - fmtA.pad = &zilch; + cdie(mps_fmt_create_k(&format, arena, mps_args_none), "create format"); - cdie( - mps_fmt_create_A(&format, arena, &fmtA), - "create format"); - - cdie( - mps_pool_create(&pool, arena, mps_class_lo(), format), - "create pool"); + cdie(mps_pool_create(&pool, arena, mps_class_lo(), format), "create pool"); mps_fmt_destroy(format); comment("Destroyed format."); diff --git a/mps/test/conerr/13.c b/mps/test/conerr/13.c index 89b93d50d77..b3712a99e44 100644 --- a/mps/test/conerr/13.c +++ b/mps/test/conerr/13.c @@ -4,6 +4,10 @@ TEST_HEADER summary = create a pool in an uncreated arena language = c link = testlib.o +OUTPUT_SPEC + assert = true + assertfile P= global.c + assertcond = TESTT(Arena, arena) END_HEADER */ diff --git a/mps/test/conerr/14.c b/mps/test/conerr/14.c index 380bbb8b5f8..44cd5ea7f9a 100644 --- a/mps/test/conerr/14.c +++ b/mps/test/conerr/14.c @@ -4,6 +4,8 @@ TEST_HEADER summary = create a pool in a destroyed arena language = c link = testlib.o +OUTPUT_SPEC + abort = true END_HEADER */ diff --git a/mps/test/conerr/15.c b/mps/test/conerr/15.c index 91ea53d6a26..c4114d5b995 100644 --- a/mps/test/conerr/15.c +++ b/mps/test/conerr/15.c @@ -4,6 +4,8 @@ TEST_HEADER summary = destroy an uncreated pool language = c link = testlib.o +OUTPUT_SPEC + abort = true END_HEADER */ @@ -13,7 +15,7 @@ END_HEADER static void test(void) { mps_arena_t arena; - mps_pool_t pool; + mps_pool_t pool = (mps_pool_t)1; size_t extendBy; size_t avgSize; size_t maxSize; diff --git a/mps/test/conerr/16.c b/mps/test/conerr/16.c index ca8e3c8415f..5043f96a55f 100644 --- a/mps/test/conerr/16.c +++ b/mps/test/conerr/16.c @@ -4,6 +4,10 @@ TEST_HEADER summary = destroy a pool twice language = c link = testlib.o +OUTPUT_SPEC + assert = true + assertfile P= mpsi.c + assertcond = TESTT(Pool, pool) END_HEADER */ diff --git a/mps/test/conerr/17.c b/mps/test/conerr/17.c index f18a7f52f5c..7eaaa0f5548 100644 --- a/mps/test/conerr/17.c +++ b/mps/test/conerr/17.c @@ -1,56 +1,33 @@ /* TEST_HEADER id = $Id$ - summary = destroy a pool though containining an AP + summary = destroy a pool though containing an AP language = c link = testlib.o +OUTPUT_SPEC + assert = true + assertfile P= ring.c + assertcond = ring->next == ring END_HEADER */ #include "testlib.h" #include "mpsclo.h" -static void zilch(void) -{ -} - - -static mps_addr_t myskip(mps_addr_t object) -{ - return *(mps_addr_t *)object; -} - - static void test(void) { mps_arena_t arena; mps_pool_t pool; - mps_fmt_t format; - mps_fmt_A_s fmtA; mps_ap_t ap; cdie(mps_arena_create(&arena, mps_arena_class_vm(), mmqaArenaSIZE), "create arena"); - fmtA.align = (mps_align_t) 1; - fmtA.scan = &zilch; - fmtA.skip = &myskip; - fmtA.copy = &zilch; - fmtA.fwd = &zilch; - fmtA.isfwd = &zilch; - fmtA.pad = &zilch; + cdie(mps_fmt_create_k(&format, arena, mps_args_none), "create format"); - cdie( - mps_fmt_create_A(&format, arena, &fmtA), - "create format"); + cdie(mps_pool_create(&pool, arena, mps_class_lo(), format), "create pool"); - cdie( - mps_pool_create(&pool, arena, mps_class_lo(), format), - "create pool"); - - cdie( - mps_ap_create(&ap, pool, mps_rank_exact()), - "create ap"); + cdie(mps_ap_create(&ap, pool, mps_rank_exact()), "create ap"); /* mps_ap_destroy(ap); diff --git a/mps/test/conerr/18.c b/mps/test/conerr/18.c index 51814888a93..5594c264931 100644 --- a/mps/test/conerr/18.c +++ b/mps/test/conerr/18.c @@ -10,39 +10,19 @@ END_HEADER #include "testlib.h" #include "mpsclo.h" -static void zilch(void) -{ -} - - -static mps_addr_t myskip(mps_addr_t object) -{ - return *(mps_addr_t *)object; -} - - static void test(void) { - mps_arena_t arena; + mps_arena_t arena0; mps_arena_t arena1; mps_pool_t pool; mps_fmt_t format; - mps_fmt_A_s fmtA; - cdie(mps_arena_create(&arena, mps_arena_class_vm(), mmqaArenaSIZE), "create arena 0"); - cdie(mps_arena_create(&arena1), "create arena 1"); - - fmtA.align = (mps_align_t) 1; - fmtA.scan = &zilch; - fmtA.skip = &myskip; - fmtA.copy = &zilch; - fmtA.fwd = &zilch; - fmtA.isfwd = &zilch; - fmtA.pad = &zilch; + cdie(mps_arena_create(&arena0, mps_arena_class_vm(), mmqaArenaSIZE), "create arena 0"); + cdie(mps_arena_create(&arena1, mps_arena_class_vm(), mmqaArenaSIZE), "create arena 1"); cdie( - mps_fmt_create_A(&format, arena, &fmtA), + mps_fmt_create_k(&format, arena0, mps_args_none), "create format in arena 0"); cdie( @@ -55,7 +35,7 @@ static void test(void) mps_fmt_destroy(format); comment("Destroyed format."); - mps_arena_destroy(arena); + mps_arena_destroy(arena0); comment("Destroyed arena 0."); mps_arena_destroy(arena1); comment("Destroyed arena 1."); diff --git a/mps/test/conerr/19.c b/mps/test/conerr/19.c index dd80558e7c6..3c8211c23dd 100644 --- a/mps/test/conerr/19.c +++ b/mps/test/conerr/19.c @@ -4,6 +4,8 @@ TEST_HEADER summary = alloc in an uncreated pool language = c link = testlib.o +OUTPUT_SPEC + abort = true END_HEADER */ @@ -13,7 +15,7 @@ END_HEADER static void test(void) { mps_arena_t arena; - mps_pool_t pool; + mps_pool_t pool = (mps_pool_t)1; size_t extendBy; size_t avgSize; size_t maxSize; diff --git a/mps/test/conerr/2.c b/mps/test/conerr/2.c index d42ae589b02..78738d5bc85 100644 --- a/mps/test/conerr/2.c +++ b/mps/test/conerr/2.c @@ -4,6 +4,10 @@ TEST_HEADER summary = destroy an arena which isn't an arena language = c link = testlib.o +OUTPUT_SPEC + assert = true + assertfile P= global.c + assertcond = TESTT(Arena, arena) END_HEADER */ diff --git a/mps/test/conerr/20.c b/mps/test/conerr/20.c index 57519568bf3..dcb65653536 100644 --- a/mps/test/conerr/20.c +++ b/mps/test/conerr/20.c @@ -4,6 +4,10 @@ TEST_HEADER summary = alloc in an destroyed pool language = c link = testlib.o +OUTPUT_SPEC + assert = true + assertfile P= mpsi.c + assertcond = TESTT(Pool, pool) END_HEADER */ diff --git a/mps/test/conerr/21.c b/mps/test/conerr/21.c index f6a4f887bc6..9d389fc9522 100644 --- a/mps/test/conerr/21.c +++ b/mps/test/conerr/21.c @@ -4,6 +4,10 @@ TEST_HEADER summary = free in a destroyed pool language = c link = testlib.o +OUTPUT_SPEC + assert = true + assertfile P= mpsi.c + assertcond = TESTT(Pool, pool) END_HEADER */ diff --git a/mps/test/conerr/22.c b/mps/test/conerr/22.c index 23054c73d6f..aa371bd68b6 100644 --- a/mps/test/conerr/22.c +++ b/mps/test/conerr/22.c @@ -4,6 +4,10 @@ TEST_HEADER summary = free though not allocated language = c link = testlib.o +OUTPUT_SPEC + assert = true + assertfile P= tract.c + assertcond = found END_HEADER */ @@ -18,7 +22,7 @@ static void test(void) size_t avgSize; size_t maxSize; - mps_addr_t obj; + mps_addr_t obj = (mps_addr_t)1; extendBy = (size_t) 4096; avgSize = (size_t) 32; diff --git a/mps/test/conerr/23.c b/mps/test/conerr/23.c index 8c8a8c89f92..c6541154196 100644 --- a/mps/test/conerr/23.c +++ b/mps/test/conerr/23.c @@ -4,6 +4,10 @@ TEST_HEADER summary = free though not allocated language = c link = testlib.o +OUTPUT_SPEC + assert = true + assertfile P= tract.c + assertcond = found END_HEADER */ diff --git a/mps/test/conerr/24.c b/mps/test/conerr/24.c index 3146d7853b6..39ff8890bf7 100644 --- a/mps/test/conerr/24.c +++ b/mps/test/conerr/24.c @@ -4,42 +4,27 @@ TEST_HEADER summary = alloc in pool not supporting alloc language = c link = testlib.o +OUTPUT_SPEC + assert = true + assertfile P= poolabs.c + assertcond = unreachable code END_HEADER */ #include "testlib.h" #include "mpsclo.h" -static void zilch(void) -{ -} - -static mps_addr_t myskip(mps_addr_t object) -{ - return object; -} - static void test(void) { mps_arena_t arena; mps_pool_t pool; mps_fmt_t format; - mps_fmt_A_s fmtA; - mps_addr_t obj; cdie(mps_arena_create(&arena, mps_arena_class_vm(), mmqaArenaSIZE), "create arena"); - fmtA.align = (mps_align_t) 1; - fmtA.scan = &zilch; - fmtA.skip = &myskip; - fmtA.copy = &zilch; - fmtA.fwd = &zilch; - fmtA.isfwd = &zilch; - fmtA.pad = &zilch; - cdie( - mps_fmt_create_A(&format, arena, &fmtA), + mps_fmt_create_k(&format, arena, mps_args_none), "create format"); cdie( diff --git a/mps/test/conerr/25.c b/mps/test/conerr/25.c index 9ea16e45f2c..480b382b8f4 100644 --- a/mps/test/conerr/25.c +++ b/mps/test/conerr/25.c @@ -1,54 +1,37 @@ /* TEST_HEADER id = $Id$ - summary = free in pool not supporting alloc (n.b. this means no alloc at the moment) + summary = free in pool not supporting free language = c link = testlib.o +OUTPUT_SPEC + assert = true + assertfile P= poolabs.c + assertcond = unreachable code END_HEADER */ #include "testlib.h" #include "mpsclo.h" -static void zilch(void) -{ -} - -static mps_addr_t myskip(mps_addr_t object) -{ - return object; -} - static void test(void) { mps_arena_t arena; mps_pool_t pool; mps_fmt_t format; - mps_fmt_A_s fmtA; - + mps_ap_t ap; mps_addr_t obj; cdie(mps_arena_create(&arena, mps_arena_class_vm(), mmqaArenaSIZE), "create arena"); - fmtA.align = (mps_align_t) 1; - fmtA.scan = &zilch; - fmtA.skip = &myskip; - fmtA.copy = &zilch; - fmtA.fwd = &zilch; - fmtA.isfwd = &zilch; - fmtA.pad = &zilch; + cdie(mps_fmt_create_k(&format, arena, mps_args_none), "create format"); - cdie( - mps_fmt_create_A(&format, arena, &fmtA), - "create format"); + cdie(mps_pool_create(&pool, arena, mps_class_lo(), format), "create pool"); - cdie( - mps_pool_create(&pool, arena, mps_class_lo(), format), - "create pool"); + cdie(mps_ap_create(&ap, pool), "create ap"); -/* - cdie(mps_alloc(&obj, pool, 152), "allocate"); -*/ + cdie(mps_reserve(&obj, ap, 152), "reserve"); + mps_commit(ap, &obj, 152); mps_free(pool, obj, 152); comment("Freed."); diff --git a/mps/test/conerr/26.c b/mps/test/conerr/26.c index 36a1fcc11a3..7114c056fc8 100644 --- a/mps/test/conerr/26.c +++ b/mps/test/conerr/26.c @@ -4,6 +4,10 @@ TEST_HEADER summary = free in the wrong pool language = c link = testlib.o +OUTPUT_SPEC + assert = true + assertfile P= pool.c + assertcond = PoolHasRange(pool, old, AddrAdd(old, size)) END_HEADER */ @@ -13,33 +17,21 @@ END_HEADER static void test(void) { mps_arena_t arena; - mps_pool_t pool; + mps_pool_t pool0; mps_pool_t pool1; - size_t extendBy; - size_t avgSize; - size_t maxSize; - mps_addr_t obj; - extendBy = (size_t) 4096; - avgSize = (size_t) 32; - maxSize = (size_t) 65536; - cdie(mps_arena_create(&arena, mps_arena_class_vm(), mmqaArenaSIZE), "create arena"); - cdie( - mps_pool_create(&pool, arena, mps_class_mv(), - extendBy, avgSize, maxSize), - "create pool 0"); + cdie(mps_pool_create_k(&pool0, arena, mps_class_mv(), mps_args_none), + "create pool 0"); - cdie( - mps_pool_create(&pool1, arena, mps_class_mv(), - extendBy, avgSize, maxSize), - "create pool 1"); + cdie(mps_pool_create(&pool1, arena, mps_class_mv(), mps_args_none), + "create pool 1"); - cdie(mps_alloc(&obj, pool, 152), "allocate in 0"); + cdie(mps_alloc(&obj, pool0, 152), "allocate in 0"); - mps_free(pool, obj, 512); + mps_free(pool1, obj, 512); comment("Freed in 1."); } diff --git a/mps/test/conerr/27.c b/mps/test/conerr/27.c index ed48ec9e547..07cbf6b2157 100644 --- a/mps/test/conerr/27.c +++ b/mps/test/conerr/27.c @@ -4,6 +4,10 @@ TEST_HEADER summary = free in the wrong pool (and a destroyed pool at that!) language = c link = testlib.o +OUTPUT_SPEC + assert = true + assertfile P= mpsi.c + assertcond = TESTT(Pool, pool) END_HEADER */ @@ -13,39 +17,27 @@ END_HEADER static void test(void) { mps_arena_t arena; - mps_pool_t pool; + mps_pool_t pool0; mps_pool_t pool1; - size_t extendBy; - size_t avgSize; - size_t maxSize; - mps_addr_t obj; - extendBy = (size_t) 4096; - avgSize = (size_t) 32; - maxSize = (size_t) 65536; - cdie(mps_arena_create(&arena, mps_arena_class_vm(), mmqaArenaSIZE), "create arena"); - cdie( - mps_pool_create(&pool, arena, mps_class_mv(), - extendBy, avgSize, maxSize), - "create pool 0"); + cdie(mps_pool_create_k(&pool0, arena, mps_class_mv(), mps_args_none), + "create pool 0"); - cdie( - mps_pool_create(&pool1, arena, mps_class_mv(), - extendBy, avgSize, maxSize), - "create pool 1"); + cdie(mps_pool_create_k(&pool1, arena, mps_class_mv(), mps_args_none), + "create pool 1"); - cdie(mps_alloc(&obj, pool, 152), "allocate in 0"); + cdie(mps_alloc(&obj, pool0, 152), "allocate in 0"); mps_pool_destroy(pool1); comment("Pool 1 destroyed."); - mps_free(pool, obj, 512); + mps_free(pool1, obj, 512); comment("Freed in 1."); - mps_pool_destroy(pool); + mps_pool_destroy(pool0); comment("Pool 0 destroyed."); } diff --git a/mps/test/conerr/28.c b/mps/test/conerr/28.c index 2b80e77713a..d45c2f12484 100644 --- a/mps/test/conerr/28.c +++ b/mps/test/conerr/28.c @@ -4,55 +4,26 @@ TEST_HEADER summary = create an AP in an uncreated pool language = c link = testlib.o +OUTPUT_SPEC + abort = true END_HEADER */ #include "testlib.h" #include "mpsclo.h" -static void zilch(void) -{ -} - - -static mps_addr_t myskip(mps_addr_t object) -{ - return *(mps_addr_t *)object; -} - - static void test(void) { mps_arena_t arena; - mps_pool_t pool; - + mps_pool_t pool = (mps_pool_t)1; mps_fmt_t format; - mps_fmt_A_s fmtA; mps_ap_t ap; cdie(mps_arena_create(&arena, mps_arena_class_vm(), mmqaArenaSIZE), "create arena"); - fmtA.align = (mps_align_t) 1; - fmtA.scan = &zilch; - fmtA.skip = &myskip; - fmtA.copy = &zilch; - fmtA.fwd = &zilch; - fmtA.isfwd = &zilch; - fmtA.pad = &zilch; + cdie(mps_fmt_create_k(&format, arena, mps_args_none), "create format"); - cdie( - mps_fmt_create_A(&format, arena, &fmtA), - "create format"); - -/* - cdie( - mps_pool_create(&pool, arena, mps_class_lo(), format), - "create pool"); -*/ - - cdie( - mps_ap_create(&ap, pool, mps_rank_exact()), - "create ap"); + cdie(mps_ap_create(&ap, pool, mps_rank_exact()), "create ap"); mps_ap_destroy(ap); comment("Destroyed ap."); diff --git a/mps/test/conerr/29.c b/mps/test/conerr/29.c index 767bef37372..915581caccf 100644 --- a/mps/test/conerr/29.c +++ b/mps/test/conerr/29.c @@ -4,56 +4,33 @@ TEST_HEADER summary = create an AP in a destroyed pool language = c link = testlib.o +OUTPUT_SPEC + assert = true + assertfile P= mpsi.c + assertcond = TESTT(Pool, pool) END_HEADER */ #include "testlib.h" #include "mpsclo.h" -static void zilch(void) -{ -} - - -static mps_addr_t myskip(mps_addr_t object) -{ - return *(mps_addr_t *)object; -} - - static void test(void) { mps_arena_t arena; mps_pool_t pool; - mps_fmt_t format; - mps_fmt_A_s fmtA; mps_ap_t ap; cdie(mps_arena_create(&arena, mps_arena_class_vm(), mmqaArenaSIZE), "create arena"); - fmtA.align = (mps_align_t) 1; - fmtA.scan = &zilch; - fmtA.skip = &myskip; - fmtA.copy = &zilch; - fmtA.fwd = &zilch; - fmtA.isfwd = &zilch; - fmtA.pad = &zilch; + cdie(mps_fmt_create_k(&format, arena, mps_args_none), "create format"); - cdie( - mps_fmt_create_A(&format, arena, &fmtA), - "create format"); - - cdie( - mps_pool_create(&pool, arena, mps_class_lo(), format), - "create pool"); + cdie(mps_pool_create(&pool, arena, mps_class_lo(), format), "create pool"); mps_pool_destroy(pool); comment("Destroyed pool."); - cdie( - mps_ap_create(&ap, pool, mps_rank_exact()), - "create ap"); + cdie(mps_ap_create(&ap, pool, mps_rank_exact()), "create ap"); mps_ap_destroy(ap); comment("Destroyed ap."); diff --git a/mps/test/conerr/3.c b/mps/test/conerr/3.c index e9ff274dfea..85f340a5f5b 100644 --- a/mps/test/conerr/3.c +++ b/mps/test/conerr/3.c @@ -4,6 +4,10 @@ TEST_HEADER summary = destroy an arena which isn't an arena, with a pointer in language = c link = testlib.o +OUTPUT_SPEC + assert = true + assertfile P= global.c + assertcond = TESTT(Arena, arena) END_HEADER */ @@ -13,7 +17,7 @@ static void test(void) { mps_arena_t arena; - arena = &arena; + arena = (mps_arena_t)&arena; mps_arena_destroy(arena); comment("Destroy arena."); } diff --git a/mps/test/conerr/30.c b/mps/test/conerr/30.c index 9a8e6593a3f..79daebca18c 100644 --- a/mps/test/conerr/30.c +++ b/mps/test/conerr/30.c @@ -1,58 +1,29 @@ /* TEST_HEADER id = $Id$ - summary = create an AP in a destroyed pool + summary = destroy an uncreated AP language = c link = testlib.o +OUTPUT_SPEC + abort = true END_HEADER */ #include "testlib.h" #include "mpsclo.h" -static void zilch(void) -{ -} - - -static mps_addr_t myskip(mps_addr_t object) -{ - return *(mps_addr_t *)object; -} - - static void test(void) { mps_arena_t arena; mps_pool_t pool; - mps_fmt_t format; - mps_fmt_A_s fmtA; - mps_ap_t ap; + mps_ap_t ap = (mps_ap_t)1; cdie(mps_arena_create(&arena, mps_arena_class_vm(), mmqaArenaSIZE), "create arena"); - fmtA.align = (mps_align_t) 1; - fmtA.scan = &zilch; - fmtA.skip = &myskip; - fmtA.copy = &zilch; - fmtA.fwd = &zilch; - fmtA.isfwd = &zilch; - fmtA.pad = &zilch; + cdie(mps_fmt_create_k(&format, arena, mps_args_none), "create format"); - cdie( - mps_fmt_create_A(&format, arena, &fmtA), - "create format"); - - cdie( - mps_pool_create(&pool, arena, mps_class_lo(), format), - "create pool"); - -/* - cdie( - mps_ap_create(&ap, pool, mps_rank_exact()), - "create ap"); -*/ + cdie(mps_pool_create(&pool, arena, mps_class_lo(), format), "create pool"); mps_ap_destroy(ap); comment("Destroyed ap."); diff --git a/mps/test/conerr/31.c b/mps/test/conerr/31.c index 8b4f95197a3..dca4cc3caba 100644 --- a/mps/test/conerr/31.c +++ b/mps/test/conerr/31.c @@ -4,53 +4,30 @@ TEST_HEADER summary = destroy an AP twice language = c link = testlib.o +OUTPUT_SPEC + assert = true + assertfile P= mpsi.c + assertcond = TESTT(Buffer, buf) END_HEADER */ #include "testlib.h" #include "mpsclo.h" -static void zilch(void) -{ -} - - -static mps_addr_t myskip(mps_addr_t object) -{ - return *(mps_addr_t *)object; -} - - static void test(void) { mps_arena_t arena; mps_pool_t pool; - mps_fmt_t format; - mps_fmt_A_s fmtA; mps_ap_t ap; cdie(mps_arena_create(&arena, mps_arena_class_vm(), mmqaArenaSIZE), "create arena"); - fmtA.align = (mps_align_t) 1; - fmtA.scan = &zilch; - fmtA.skip = &myskip; - fmtA.copy = &zilch; - fmtA.fwd = &zilch; - fmtA.isfwd = &zilch; - fmtA.pad = &zilch; + cdie(mps_fmt_create_k(&format, arena, mps_args_none), "create format"); - cdie( - mps_fmt_create_A(&format, arena, &fmtA), - "create format"); + cdie(mps_pool_create(&pool, arena, mps_class_lo(), format), "create pool"); - cdie( - mps_pool_create(&pool, arena, mps_class_lo(), format), - "create pool"); - - cdie( - mps_ap_create(&ap, pool, mps_rank_exact()), - "create ap"); + cdie(mps_ap_create(&ap, pool, mps_rank_exact()), "create ap"); mps_ap_destroy(ap); comment("Destroyed ap."); diff --git a/mps/test/conerr/32.c b/mps/test/conerr/32.c index 3e1d77f8610..7ee92a781b5 100644 --- a/mps/test/conerr/32.c +++ b/mps/test/conerr/32.c @@ -4,36 +4,27 @@ TEST_HEADER summary = create AP in a pool that doesn't support it language = c link = testlib.o +OUTPUT_SPEC + assert = true + assertfile P= poolabs.c + assertcond = unreachable code END_HEADER */ #include "testlib.h" -#include "mpscmv.h" +#include "mpscmfs.h" static void test(void) { mps_arena_t arena; mps_pool_t pool; - size_t extendBy; - size_t avgSize; - size_t maxSize; mps_ap_t ap; - mps_addr_t obj; - - extendBy = (size_t) 4096; - avgSize = (size_t) 32; - maxSize = (size_t) 65536; - cdie(mps_arena_create(&arena, mps_arena_class_vm(), mmqaArenaSIZE), "create arena"); - cdie( - mps_pool_create(&pool, arena, mps_class_mv(), - extendBy, avgSize, maxSize), - "create pool"); + cdie(mps_pool_create(&pool, arena, mps_class_mfs(), 64), "create pool"); - cdie(mps_ap_create(&ap, pool, mps_rank_exact()), - "create ap"); + cdie(mps_ap_create(&ap, pool, mps_rank_exact()), "create ap"); mps_pool_destroy(pool); comment("Destroyed pool"); diff --git a/mps/test/conerr/33.c b/mps/test/conerr/33.c index 8a9ca7fedc8..3a3cb2c1281 100644 --- a/mps/test/conerr/33.c +++ b/mps/test/conerr/33.c @@ -8,57 +8,29 @@ END_HEADER */ #include "testlib.h" -#include "mpscamc.h" - -#define genCOUNT (3) - -static mps_gen_param_s testChain[genCOUNT] = { - { 6000, 0.90 }, { 8000, 0.65 }, { 16000, 0.50 } }; - -static void zilch(void) -{ -} - - -static mps_addr_t myskip(mps_addr_t object) -{ - return *(mps_addr_t *)object; -} - +#include "mpscams.h" static void test(void) { mps_arena_t arena; mps_pool_t pool; - - mps_chain_t chain; mps_fmt_t format; - mps_fmt_A_s fmtA; mps_ap_t ap; cdie(mps_arena_create(&arena, mps_arena_class_vm(), mmqaArenaSIZE), "create arena"); - fmtA.align = (mps_align_t) 4; - fmtA.scan = &zilch; - fmtA.skip = &myskip; - fmtA.copy = &zilch; - fmtA.fwd = &zilch; - fmtA.isfwd = &zilch; - fmtA.pad = &zilch; + cdie(mps_fmt_create_k(&format, arena, mps_args_none), "create format"); - cdie( - mps_fmt_create_A(&format, arena, &fmtA), - "create format"); + MPS_ARGS_BEGIN(args) { + MPS_ARGS_ADD(args, MPS_KEY_FORMAT, format); + cdie(mps_pool_create_k(&pool, arena, mps_class_ams(), args), + "create pool"); + } MPS_ARGS_END(args); - cdie(mps_chain_create(&chain, arena, genCOUNT, testChain), "chain_create"); - - cdie( - mps_pool_create(&pool, arena, mps_class_amc(), format, chain), - "create pool"); - - cdie( - mps_ap_create(&ap, pool, mps_rank_ambig()), - "create ap"); + MPS_ARGS_BEGIN(args) { + MPS_ARGS_ADD(args, MPS_KEY_RANK, mps_rank_weak()); + cdie(mps_ap_create_k(&ap, pool, args), "create ap"); + } MPS_ARGS_END(args); mps_ap_destroy(ap); comment("Destroyed ap."); @@ -69,9 +41,6 @@ static void test(void) mps_fmt_destroy(format); comment("Destroyed format."); - mps_chain_destroy(chain); - comment("Destroyed chain."); - mps_arena_destroy(arena); comment("Destroyed arena."); } diff --git a/mps/test/conerr/33a.c b/mps/test/conerr/33a.c index 371ecb6d711..3add3105d5e 100644 --- a/mps/test/conerr/33a.c +++ b/mps/test/conerr/33a.c @@ -8,64 +8,34 @@ END_HEADER */ #include "testlib.h" -#include "mpscamc.h" - -#define genCOUNT (3) - -static mps_gen_param_s testChain[genCOUNT] = { - { 6000, 0.90 }, { 8000, 0.65 }, { 16000, 0.50 } }; - -static void zilch(void) -{ -} - - -static mps_addr_t myskip(mps_addr_t object) -{ - return *(mps_addr_t *)object; -} - +#include "mpscams.h" static void test(void) { mps_arena_t arena; mps_pool_t pool; - - mps_chain_t chain; mps_fmt_t format; - mps_fmt_A_s fmtA; mps_ap_t ap; mps_addr_t p; cdie(mps_arena_create(&arena, mps_arena_class_vm(), mmqaArenaSIZE), "create arena"); - fmtA.align = (mps_align_t) 4; - fmtA.scan = &zilch; - fmtA.skip = &myskip; - fmtA.copy = &zilch; - fmtA.fwd = &zilch; - fmtA.isfwd = &zilch; - fmtA.pad = &zilch; + cdie(mps_fmt_create_k(&format, arena, mps_args_none), "create format"); - cdie( - mps_fmt_create_A(&format, arena, &fmtA), - "create format"); + MPS_ARGS_BEGIN(args) { + MPS_ARGS_ADD(args, MPS_KEY_FORMAT, format); + cdie(mps_pool_create_k(&pool, arena, mps_class_ams(), args), + "create pool"); + } MPS_ARGS_END(args); - cdie(mps_chain_create(&chain, arena, genCOUNT, testChain), "chain_create"); + MPS_ARGS_BEGIN(args) { + MPS_ARGS_ADD(args, MPS_KEY_RANK, mps_rank_weak()); + cdie(mps_ap_create_k(&ap, pool, args), "create ap"); + } MPS_ARGS_END(args); - cdie( - mps_pool_create(&pool, arena, mps_class_amc(), format, chain), - "create pool"); - - cdie( - mps_ap_create(&ap, pool, mps_rank_ambig()), - "create ap"); - -do - { + do { cdie(mps_reserve(&p, ap, 0x100), "Reserve: "); - } - while (!mps_commit(ap, p, 0x100)); + } while (!mps_commit(ap, p, 0x100)); comment("Committed."); mps_ap_destroy(ap); @@ -77,9 +47,6 @@ do mps_fmt_destroy(format); comment("Destroyed format."); - mps_chain_destroy(chain); - comment("Destroyed chain."); - mps_arena_destroy(arena); comment("Destroyed arena."); } diff --git a/mps/test/conerr/34.c b/mps/test/conerr/34.c index 3908e22b906..4b6e526ebad 100644 --- a/mps/test/conerr/34.c +++ b/mps/test/conerr/34.c @@ -4,6 +4,8 @@ TEST_HEADER summary = allocate in uncreated AP language = c link = myfmt.o testlib.o +OUTPUT_SPEC + abort = true END_HEADER */ @@ -27,7 +29,7 @@ static void test(void) mps_chain_t chain; mps_fmt_t format; - mps_ap_t ap; + mps_ap_t ap = (mps_ap_t)1; cdie(mps_arena_create(&arena, mps_arena_class_vm(), mmqaArenaSIZE), "create arena"); diff --git a/mps/test/conerr/35.c b/mps/test/conerr/35.c index da5efe35104..eb25e49f83e 100644 --- a/mps/test/conerr/35.c +++ b/mps/test/conerr/35.c @@ -4,6 +4,10 @@ TEST_HEADER summary = allocate in destroyed AP language = c link = myfmt.o testlib.o +OUTPUT_SPEC + assert = true + assertfile P= mpsi.c + assertcond = TESTT(Buffer, buf) END_HEADER */ diff --git a/mps/test/conerr/36.c b/mps/test/conerr/36.c index 96d66d92e86..60e68f8943a 100644 --- a/mps/test/conerr/36.c +++ b/mps/test/conerr/36.c @@ -4,6 +4,10 @@ TEST_HEADER summary = destroy AP between reserve and commit language = c link = myfmt.o testlib.o +OUTPUT_SPEC + assert = true + assertfile P= buffer.c + assertcond = BufferIsReady(buffer) END_HEADER */ diff --git a/mps/test/conerr/37.c b/mps/test/conerr/37.c index 0fcf40c4d71..659a2139766 100644 --- a/mps/test/conerr/37.c +++ b/mps/test/conerr/37.c @@ -1,9 +1,13 @@ /* TEST_HEADER id = $Id$ - summary = reserve and commit with different address + summary = reserve and commit (macros) with different address language = c link = myfmt.o testlib.o +OUTPUT_SPEC + assert = true + assertfile P= mpsi.c + assertcond = p == mps_ap->init END_HEADER */ diff --git a/mps/test/conerr/37f.c b/mps/test/conerr/37f.c index 268d9939e29..530af933fc6 100644 --- a/mps/test/conerr/37f.c +++ b/mps/test/conerr/37f.c @@ -1,9 +1,13 @@ /* TEST_HEADER id = $Id$ - summary = reserve and commit with different address + summary = reserve and commit (functions) with different address language = c link = myfmt.o testlib.o +OUTPUT_SPEC + assert = true + assertfile P= mpsi.c + assertcond = p == mps_ap->init END_HEADER */ @@ -14,6 +18,11 @@ END_HEADER #undef mps_reserve #undef mps_commit +#define genCOUNT (3) + +static mps_gen_param_s testChain[genCOUNT] = { + { 6000, 0.90 }, { 8000, 0.65 }, { 16000, 0.50 } }; + void *stackpointer; static void test(void) diff --git a/mps/test/conerr/38.c b/mps/test/conerr/38.c index 42cc13ba86c..cbaf71de7d0 100644 --- a/mps/test/conerr/38.c +++ b/mps/test/conerr/38.c @@ -1,9 +1,13 @@ /* TEST_HEADER id = $Id$ - summary = reserve and commit with different sizes + summary = reserve and commit (macros) with different sizes language = c link = myfmt.o testlib.o +OUTPUT_SPEC + assert = true + assertfile P= mpsi.c + assertcond = PointerAdd(mps_ap->init, size) == mps_ap->alloc END_HEADER */ diff --git a/mps/test/conerr/38f.c b/mps/test/conerr/38f.c index 504ebfcaa63..eb8974dd32c 100644 --- a/mps/test/conerr/38f.c +++ b/mps/test/conerr/38f.c @@ -1,9 +1,13 @@ /* TEST_HEADER id = $Id$ - summary = reserve and commit with different sizes + summary = reserve and commit (functions) with different sizes language = c link = myfmt.o testlib.o +OUTPUT_SPEC + assert = true + assertfile P= mpsi.c + assertcond = PointerAdd(mps_ap->init, size) == mps_ap->alloc END_HEADER */ @@ -14,6 +18,11 @@ END_HEADER #undef mps_reserve #undef mps_commit +#define genCOUNT (3) + +static mps_gen_param_s testChain[genCOUNT] = { + { 6000, 0.90 }, { 8000, 0.65 }, { 16000, 0.50 } }; + void *stackpointer; static void test(void) diff --git a/mps/test/conerr/39.c b/mps/test/conerr/39.c index 386cfdc8c48..c2e4b82e3bd 100644 --- a/mps/test/conerr/39.c +++ b/mps/test/conerr/39.c @@ -1,9 +1,13 @@ /* TEST_HEADER id = $Id$ - summary = commit without reserving + summary = commit (macro) without reserving language = c link = myfmt.o testlib.o +OUTPUT_SPEC + assert = true + assertfile P= mpsi.c + assertcond = p == mps_ap->init END_HEADER */ @@ -28,7 +32,7 @@ static void test(void) mps_chain_t chain; mps_fmt_t format; mps_ap_t ap; - mps_addr_t p; + mps_addr_t p = (mps_addr_t)1; cdie(mps_arena_create(&arena, mps_arena_class_vm(), mmqaArenaSIZE), "create arena"); @@ -53,7 +57,7 @@ static void test(void) mps_ap_create(&ap, pool, mps_rank_exact()), "create ap"); - allocone(ap, 0, NULL, NULL, 0x20); + allocone(ap, 0, NULL, NULL, 0x100); do { diff --git a/mps/test/conerr/39f.c b/mps/test/conerr/39f.c index d6cd0d0bc3a..326481c090a 100644 --- a/mps/test/conerr/39f.c +++ b/mps/test/conerr/39f.c @@ -1,9 +1,13 @@ /* TEST_HEADER id = $Id$ - summary = commit without reserving + summary = commit (function) without reserving language = c link = myfmt.o testlib.o +OUTPUT_SPEC + assert = true + assertfile P= mpsi.c + assertcond = p == mps_ap->init END_HEADER */ @@ -14,6 +18,11 @@ END_HEADER #undef mps_reserve #undef mps_commit +#define genCOUNT (3) + +static mps_gen_param_s testChain[genCOUNT] = { + { 6000, 0.90 }, { 8000, 0.65 }, { 16000, 0.50 } }; + void *stackpointer; static void test(void) @@ -26,7 +35,7 @@ static void test(void) mps_chain_t chain; mps_fmt_t format; mps_ap_t ap; - mps_addr_t p; + mps_addr_t p = (mps_addr_t)1; cdie(mps_arena_create(&arena, mps_arena_class_vm(), mmqaArenaSIZE), "create arena"); @@ -51,7 +60,7 @@ static void test(void) mps_ap_create(&ap, pool, mps_rank_exact()), "create ap"); - allocone(ap, 0, NULL, NULL, 0x20); + allocone(ap, 0, NULL, NULL, 0x100); do { diff --git a/mps/test/conerr/4.c b/mps/test/conerr/4.c index 5f1532d9efa..38451258bdf 100644 --- a/mps/test/conerr/4.c +++ b/mps/test/conerr/4.c @@ -4,6 +4,10 @@ TEST_HEADER summary = destroy an arena which contains a pool language = c link = testlib.o +OUTPUT_SPEC + assert = true + assertfile P= global.c + assertcond = RingLength(&arenaGlobals->poolRing) == 5 END_HEADER */ diff --git a/mps/test/conerr/40.c b/mps/test/conerr/40.c index e0794006f45..516b477808d 100644 --- a/mps/test/conerr/40.c +++ b/mps/test/conerr/40.c @@ -1,7 +1,7 @@ /* TEST_HEADER id = $Id$ - summary = reserve twice without committing + summary = reserve (macro) twice without committing language = c link = myfmt.o testlib.o END_HEADER diff --git a/mps/test/conerr/40f.c b/mps/test/conerr/40f.c index f6f4e59e57c..6f9d85dde6d 100644 --- a/mps/test/conerr/40f.c +++ b/mps/test/conerr/40f.c @@ -1,9 +1,13 @@ /* TEST_HEADER id = $Id$ - summary = reserve twice without committing + summary = reserve (function) twice without committing language = c link = myfmt.o testlib.o +OUTPUT_SPEC + assert = true + assertfile P= mpsi.c + assertcond = mps_ap->init == mps_ap->alloc END_HEADER */ @@ -14,6 +18,11 @@ END_HEADER #undef mps_reserve #undef mps_commit +#define genCOUNT (3) + +static mps_gen_param_s testChain[genCOUNT] = { + { 6000, 0.90 }, { 8000, 0.65 }, { 16000, 0.50 } }; + void *stackpointer; static void test(void) diff --git a/mps/test/conerr/41.c b/mps/test/conerr/41.c index 7360f25954f..44c03b77c40 100644 --- a/mps/test/conerr/41.c +++ b/mps/test/conerr/41.c @@ -4,6 +4,8 @@ TEST_HEADER summary = create root in uncreated arena language = c link = myfmt.o testlib.o +OUTPUT_SPEC + abort = true END_HEADER */ @@ -15,7 +17,7 @@ void *stackpointer; static void test(void) { - mps_arena_t arena; + mps_arena_t arena = (mps_arena_t)1; mps_root_t root; mps_addr_t roottable[10]; diff --git a/mps/test/conerr/42.c b/mps/test/conerr/42.c index dd19baf61f2..c6c453a9dec 100644 --- a/mps/test/conerr/42.c +++ b/mps/test/conerr/42.c @@ -4,6 +4,8 @@ TEST_HEADER summary = create root in destroyed arena language = c link = myfmt.o testlib.o +OUTPUT_SPEC + abort = true END_HEADER */ diff --git a/mps/test/conerr/43.c b/mps/test/conerr/43.c index e2ca92c55bb..1532e2f9a88 100644 --- a/mps/test/conerr/43.c +++ b/mps/test/conerr/43.c @@ -4,6 +4,8 @@ TEST_HEADER summary = destroy root though uncreated language = c link = myfmt.o testlib.o +OUTPUT_SPEC + abort = true END_HEADER */ @@ -16,7 +18,7 @@ void *stackpointer; static void test(void) { mps_arena_t arena; - mps_root_t root; + mps_root_t root = (mps_root_t)1; mps_addr_t roottable[10]; cdie(mps_arena_create(&arena, mps_arena_class_vm(), mmqaArenaSIZE), "create arena"); diff --git a/mps/test/conerr/44.c b/mps/test/conerr/44.c index 3ca0129b18f..5b7df5e1a08 100644 --- a/mps/test/conerr/44.c +++ b/mps/test/conerr/44.c @@ -4,6 +4,10 @@ TEST_HEADER summary = destroy root twice language = c link = myfmt.o testlib.o +OUTPUT_SPEC + assert = true + assertfile P= root.c + assertcond = TESTT(Root, root) END_HEADER */ diff --git a/mps/test/conerr/44a.c b/mps/test/conerr/44a.c index 193ab4b3503..6a430ae5e70 100644 --- a/mps/test/conerr/44a.c +++ b/mps/test/conerr/44a.c @@ -4,6 +4,8 @@ TEST_HEADER summary = create register root without registering thread language = c link = myfmt.o testlib.o +OUTPUT_SPEC + abort = true END_HEADER */ @@ -16,7 +18,7 @@ void *stackpointer; static void test(void) { mps_arena_t arena; - mps_thr_t thread; + mps_thr_t thread = (mps_thr_t)1; mps_root_t root; cdie(mps_arena_create(&arena, mps_arena_class_vm(), mmqaArenaSIZE), "create arena"); diff --git a/mps/test/conerr/45.c b/mps/test/conerr/45.c index cd85bffaaf6..82b73e3287d 100644 --- a/mps/test/conerr/45.c +++ b/mps/test/conerr/45.c @@ -4,6 +4,8 @@ TEST_HEADER summary = register thread in uncreated arena language = c link = myfmt.o testlib.o +OUTPUT_SPEC + abort = true END_HEADER */ @@ -15,7 +17,7 @@ void *stackpointer; static void test(void) { - mps_arena_t arena; + mps_arena_t arena = (mps_arena_t)1; mps_thr_t thread; /* diff --git a/mps/test/conerr/46.c b/mps/test/conerr/46.c index d4d495c7425..7c375bfe926 100644 --- a/mps/test/conerr/46.c +++ b/mps/test/conerr/46.c @@ -4,6 +4,8 @@ TEST_HEADER summary = register thread in destroyed arena language = c link = myfmt.o testlib.o +OUTPUT_SPEC + abort = true END_HEADER */ diff --git a/mps/test/conerr/47.c b/mps/test/conerr/47.c index 851692f0e0a..93bdda8f99e 100644 --- a/mps/test/conerr/47.c +++ b/mps/test/conerr/47.c @@ -4,6 +4,8 @@ TEST_HEADER summary = deregister thread without registering it first language = c link = myfmt.o testlib.o +OUTPUT_SPEC + abort = true END_HEADER */ @@ -16,7 +18,7 @@ void *stackpointer; static void test(void) { mps_arena_t arena; - mps_thr_t thread; + mps_thr_t thread = (mps_thr_t)1; cdie(mps_arena_create(&arena, mps_arena_class_vm(), mmqaArenaSIZE), "create arena"); diff --git a/mps/test/conerr/48.c b/mps/test/conerr/48.c index 82d02b9f346..98fd71caf3a 100644 --- a/mps/test/conerr/48.c +++ b/mps/test/conerr/48.c @@ -4,6 +4,9 @@ TEST_HEADER summary = deregister thread twice language = c link = myfmt.o testlib.o +OUTPUT_SPEC + assert = true + assertcond = SigCheck Thread: thread END_HEADER */ diff --git a/mps/test/conerr/5.c b/mps/test/conerr/5.c index aaac5408d4f..09a1893f31d 100644 --- a/mps/test/conerr/5.c +++ b/mps/test/conerr/5.c @@ -4,22 +4,16 @@ TEST_HEADER summary = destroy an arena which contains a format language = c link = testlib.o +OUTPUT_SPEC + assert = true + assertfile P= global.c + assertcond = RingIsSingle(&arena->formatRing) END_HEADER */ #include "testlib.h" #include "mpscmv.h" -static void zilch(void) -{ -} - - -static mps_addr_t myskip(mps_addr_t object) -{ - return object; -} - static void test(void) { mps_arena_t arena; @@ -27,18 +21,8 @@ static void test(void) mps_fmt_A_s fmtA; cdie(mps_arena_create(&arena, mps_arena_class_vm(), mmqaArenaSIZE), "create arena"); - - fmtA.align = (mps_align_t) 1; - fmtA.scan = &zilch; - fmtA.skip = &myskip; - fmtA.copy = &zilch; - fmtA.fwd = &zilch; - fmtA.isfwd = &zilch; - fmtA.pad = &zilch; - cdie( - mps_fmt_create_A(&format, arena, &fmtA), - "create format"); + cdie(mps_fmt_create_k(&format, arena, mps_args_none), "create format"); mps_arena_destroy(arena); comment("Destroy arena."); diff --git a/mps/test/conerr/50.c b/mps/test/conerr/50.c index 88734920716..586600afea2 100644 --- a/mps/test/conerr/50.c +++ b/mps/test/conerr/50.c @@ -4,6 +4,8 @@ TEST_HEADER summary = reset ld in uncreated arena language = c link = myfmt.o testlib.o +OUTPUT_SPEC + abort = true END_HEADER */ @@ -13,7 +15,7 @@ END_HEADER static void test(void) { - mps_arena_t arena; + mps_arena_t arena = (mps_arena_t)1; mps_ld_s ld; /* diff --git a/mps/test/conerr/51.c b/mps/test/conerr/51.c index 719a4f27d28..53e89493d01 100644 --- a/mps/test/conerr/51.c +++ b/mps/test/conerr/51.c @@ -4,6 +4,8 @@ TEST_HEADER summary = reset ld in destroyed arena language = c link = myfmt.o testlib.o +OUTPUT_SPEC + abort = true END_HEADER */ diff --git a/mps/test/conerr/52.c b/mps/test/conerr/52.c index 83e3d3eece7..a8d2425e0bb 100644 --- a/mps/test/conerr/52.c +++ b/mps/test/conerr/52.c @@ -4,6 +4,8 @@ TEST_HEADER summary = reset ld again, in destroyed arena language = c link = myfmt.o testlib.o +OUTPUT_SPEC + abort = true END_HEADER */ diff --git a/mps/test/conerr/53.c b/mps/test/conerr/53.c index 1ee5eda7615..0cd7a08ac37 100644 --- a/mps/test/conerr/53.c +++ b/mps/test/conerr/53.c @@ -4,6 +4,10 @@ TEST_HEADER summary = add to ld without resetting language = c link = myfmt.o testlib.o +OUTPUT_SPEC + assert = true + assertfile P= ld.c + assertcond = ld->_epoch <= arena->epoch END_HEADER */ diff --git a/mps/test/conerr/54.c b/mps/test/conerr/54.c index 81e8ceff4d4..994a5f73b7d 100644 --- a/mps/test/conerr/54.c +++ b/mps/test/conerr/54.c @@ -4,6 +4,10 @@ TEST_HEADER summary = is_stale without resetting language = c link = myfmt.o testlib.o +OUTPUT_SPEC + assert = true + assertfile P= ld.c + assertcond = ld->_epoch <= arena->epoch END_HEADER */ diff --git a/mps/test/conerr/55.c b/mps/test/conerr/55.c index 8f544925a45..9f32ccdcad9 100644 --- a/mps/test/conerr/55.c +++ b/mps/test/conerr/55.c @@ -4,6 +4,8 @@ TEST_HEADER summary = add to ld in destroyed arena language = c link = myfmt.o testlib.o +OUTPUT_SPEC + abort = true END_HEADER */ diff --git a/mps/test/conerr/56.c b/mps/test/conerr/56.c index 6d0abdd7e0d..332bec77471 100644 --- a/mps/test/conerr/56.c +++ b/mps/test/conerr/56.c @@ -4,6 +4,8 @@ TEST_HEADER summary = isstale in destroyed arena language = c link = myfmt.o testlib.o +OUTPUT_SPEC + abort = true END_HEADER */ diff --git a/mps/test/conerr/57.c b/mps/test/conerr/57.c index d8ac6b44b20..7e6707d46ea 100644 --- a/mps/test/conerr/57.c +++ b/mps/test/conerr/57.c @@ -13,20 +13,23 @@ END_HEADER static void test(void) { - mps_arena_t arena; + mps_arena_t arena0; mps_arena_t arena1; mps_ld_s ld; - cdie(mps_arena_create(&arena, mps_arena_class_vm(), mmqaArenaSIZE), "create arena"); - cdie(mps_arena_create(&arena1), "create arena 1"); + cdie(mps_arena_create(&arena0, mps_arena_class_vm(), mmqaArenaSIZE), "create arena"); + cdie(mps_arena_create(&arena1, mps_arena_class_vm(), mmqaArenaSIZE), "create arena 1"); - mps_ld_reset(&ld, arena); + mps_ld_reset(&ld, arena0); comment("Reset ld."); - mps_ld_add(&ld, arena1, &arena); + mps_ld_add(&ld, arena1, &arena0); comment("Added to ld."); - mps_arena_destroy(arena); + mps_arena_destroy(arena0); + comment("Destroyed arena."); + + mps_arena_destroy(arena1); comment("Destroyed arena."); } diff --git a/mps/test/conerr/58.c b/mps/test/conerr/58.c index 47be4a6ab65..7feeb5ea765 100644 --- a/mps/test/conerr/58.c +++ b/mps/test/conerr/58.c @@ -13,19 +13,22 @@ END_HEADER static void test(void) { - mps_arena_t arena; + mps_arena_t arena0; mps_arena_t arena1; mps_ld_s ld; - cdie(mps_arena_create(&arena, mps_arena_class_vm(), mmqaArenaSIZE), "create arena"); - cdie(mps_arena_create(&arena1), "create arena 1"); + cdie(mps_arena_create(&arena0, mps_arena_class_vm(), mmqaArenaSIZE), "create arena"); + cdie(mps_arena_create(&arena1, mps_arena_class_vm(), mmqaArenaSIZE), "create arena 1"); - mps_ld_reset(&ld, arena); + mps_ld_reset(&ld, arena0); comment("Reset ld."); - report("isstale", "%d", mps_ld_isstale(&ld, arena1, &arena)); + report("isstale", "%d", mps_ld_isstale(&ld, arena1, &arena0)); - mps_arena_destroy(arena); + mps_arena_destroy(arena0); + comment("Destroyed arena."); + + mps_arena_destroy(arena1); comment("Destroyed arena."); } diff --git a/mps/test/conerr/59.c b/mps/test/conerr/59.c index 8412f4daf72..347780adce1 100644 --- a/mps/test/conerr/59.c +++ b/mps/test/conerr/59.c @@ -4,6 +4,10 @@ TEST_HEADER summary = free though not allocated language = c link = testlib.o +OUTPUT_SPEC + assert = true + assertfile P= poolmv.c + assertcond = unreachable code END_HEADER */ diff --git a/mps/test/conerr/6.c b/mps/test/conerr/6.c index 7e68baa74a9..bfc417aa9f2 100644 --- a/mps/test/conerr/6.c +++ b/mps/test/conerr/6.c @@ -4,6 +4,10 @@ TEST_HEADER summary = destroy an arena which contains a root language = c link = testlib.o +OUTPUT_SPEC + assert = true + assertfile P= global.c + assertcond = RingIsSingle(&arenaGlobals->rootRing) END_HEADER */ @@ -27,6 +31,7 @@ static void test(void) mps_stack_scan_ambig, stackpointer, 0), "create root"); + mps_thread_dereg(thread); mps_arena_destroy(arena); comment("Destroy arena."); } diff --git a/mps/test/conerr/7.c b/mps/test/conerr/7.c index f1dd36c6f20..7c5bdab31a2 100644 --- a/mps/test/conerr/7.c +++ b/mps/test/conerr/7.c @@ -4,6 +4,10 @@ TEST_HEADER summary = destroy an arena which contains a thread language = c link = testlib.o +OUTPUT_SPEC + assert = true + assertfile P= global.c + assertcond = RingIsSingle(&arena->threadRing) END_HEADER */ diff --git a/mps/test/conerr/8.c b/mps/test/conerr/8.c index 57836544ec4..ba37375ea93 100644 --- a/mps/test/conerr/8.c +++ b/mps/test/conerr/8.c @@ -4,43 +4,24 @@ TEST_HEADER summary = create a format in an uncreated arena language = c link = testlib.o +OUTPUT_SPEC + assert = true + assertfile P= global.c + assertcond = TESTT(Arena, arena) END_HEADER */ #include "testlib.h" #include "mpscmv.h" -static void zilch(void) -{ -} - - -static mps_addr_t myskip(mps_addr_t object) -{ - return object; -} - static void test(void) { mps_arena_t arena; mps_fmt_t format; - mps_fmt_A_s fmtA; arena=malloc(64); - /* cdie(mps_arena_create(&arena, mps_arena_class_vm(), mmqaArenaSIZE), "create arena"); - */ - fmtA.align = (mps_align_t) 1; - fmtA.scan = &zilch; - fmtA.skip = &myskip; - fmtA.copy = &zilch; - fmtA.fwd = &zilch; - fmtA.isfwd = &zilch; - fmtA.pad = &zilch; - - cdie( - mps_fmt_create_A(&format, arena, &fmtA), - "create format"); + cdie(mps_fmt_create_k(&format, arena, mps_args_none), "create format"); mps_arena_destroy(arena); comment("Destroy arena."); diff --git a/mps/test/conerr/9.c b/mps/test/conerr/9.c index 9ef4cf1e0e7..47779320f8f 100644 --- a/mps/test/conerr/9.c +++ b/mps/test/conerr/9.c @@ -4,45 +4,25 @@ TEST_HEADER summary = create a format in a destroyed arena language = c link = testlib.o +OUTPUT_SPEC + abort = true END_HEADER */ #include "testlib.h" #include "mpscmv.h" -static void zilch(void) -{ -} - - -static mps_addr_t myskip(mps_addr_t object) -{ - return object; -} - static void test(void) { mps_arena_t arena; mps_fmt_t format; - mps_fmt_A_s fmtA; - cdie(mps_arena_create(&arena, mps_arena_class_vm(), mmqaArenaSIZE), "create arena"); - fmtA.align = (mps_align_t) 1; - fmtA.scan = &zilch; - fmtA.skip = &myskip; - fmtA.copy = &zilch; - fmtA.fwd = &zilch; - fmtA.isfwd = &zilch; - fmtA.pad = &zilch; - mps_arena_destroy(arena); comment("Destroy arena."); - cdie( - mps_fmt_create_A(&format, arena, &fmtA), - "create format"); + cdie(mps_fmt_create_k(&format, arena, mps_args_none), "create format"); } diff --git a/mps/test/testsets/conerr b/mps/test/testsets/conerr new file mode 100644 index 00000000000..3f108a9cb0f --- /dev/null +++ b/mps/test/testsets/conerr @@ -0,0 +1,65 @@ +conerr/0.c +conerr/1.c +conerr/2.c +conerr/3.c +conerr/4.c +conerr/5.c +conerr/6.c +conerr/7.c +conerr/8.c +conerr/9.c +conerr/10.c +conerr/11.c +conerr/12.c +conerr/13.c +conerr/14.c +conerr/15.c +conerr/16.c +conerr/17.c +conerr/18.c +conerr/19.c +conerr/20.c +conerr/21.c +conerr/22.c +conerr/23.c +conerr/24.c +conerr/25.c +conerr/26.c +conerr/27.c +conerr/28.c +conerr/29.c +conerr/30.c +conerr/31.c +conerr/32.c +conerr/33.c +conerr/34.c +conerr/35.c +conerr/36.c +conerr/37.c +conerr/37f.c +conerr/38.c +conerr/38f.c +conerr/39.c +conerr/39f.c +conerr/40.c +conerr/40f.c +conerr/41.c +conerr/42.c +conerr/43.c +conerr/44.c +conerr/44a.c +conerr/45.c +conerr/46.c +conerr/47.c +conerr/48.c +conerr/49.c +conerr/50.c +conerr/51.c +conerr/52.c +conerr/53.c +conerr/54.c +conerr/55.c +conerr/56.c +conerr/57.c +conerr/58.c +conerr/59.c