Mercurial > lbo > hg > ylisp
changeset 158:8c6d3494924a
value: Test yref_eq
author | Lewin Bormann <lbo@spheniscida.de> |
---|---|
date | Tue, 03 Sep 2019 16:54:53 +0200 |
parents | 15825a4a3580 |
children | 28d1b36a05cd |
files | src/value_test.c |
diffstat | 1 files changed, 7 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/value_test.c Tue Sep 03 15:36:03 2019 +0200 +++ b/src/value_test.c Tue Sep 03 16:54:53 2019 +0200 @@ -53,6 +53,8 @@ assert('A' == *ystr_at(&yvalue_get(second)->value.expr.value.str, 0)); assert('A' == *ystr_at(&yvalue_get(yref_clone(&first))->value.expr.value.str, 0)); assert('a' == *ystr_at(&yvalue_get(cloned)->value.expr.value.str, 0)); + + // Double-free expected! } void test_value_set(void) { @@ -104,13 +106,16 @@ void test_value_refs(void) { yref_t ref = yref_new_c("hello"); assert(YREF_SYM == yref_type(&ref)); + assert(yref_eq(&ref, &ref)); yref_destroy(&ref); ref = yref_new(); assert(YREF_ID == yref_type(&ref)); + assert(yref_eq(&ref, &ref)); yref_destroy(&ref); ref = yref_new_cix(2); assert(YREF_STACK == yref_type(&ref)); assert(2 == yref_cix(&ref)); + assert(yref_eq(&ref, &ref)); ystr_t dbg = yref_debug(&ref); assert(0 == ystr_cmp_str(&dbg, "id:<stackrel:-2>")); ystr_destroy(&dbg); @@ -123,5 +128,7 @@ test_value_clone(); test_value_set(); test_value_refs(); + //yvalue_free_all(); test_value_clone does some weird thigns, so we can't free all values. + yatom_free_all(); return 0; }