diff options
Diffstat (limited to 'extension')
-rw-r--r-- | extension/ChangeLog | 6 | ||||
-rw-r--r-- | extension/testext.c | 18 |
2 files changed, 10 insertions, 14 deletions
diff --git a/extension/ChangeLog b/extension/ChangeLog index 15153213..c8f77042 100644 --- a/extension/ChangeLog +++ b/extension/ChangeLog @@ -1,9 +1,3 @@ -2015-01-08 Andrew J. Schorr <aschorr@telemetry-investments.com> - - * testext.c (var_test): Lookup of PROCINFO should always succeed. - (test_deferred): PROCINFO should always be present, so call lookup - to grab it. - 2015-01-06 Andrew J. Schorr <aschorr@telemetry-investments.com> * testext.c (test_deferred): New function to help with testing diff --git a/extension/testext.c b/extension/testext.c index 42ec0915..7c61bb0d 100644 --- a/extension/testext.c +++ b/extension/testext.c @@ -303,11 +303,11 @@ var_test(int nargs, awk_value_t *result) goto out; } - /* look up PROCINFO - should succeed */ + /* look up PROCINFO - should fail */ if (sym_lookup("PROCINFO", AWK_ARRAY, & value)) - printf("var_test: sym_lookup of PROCINFO passed - got a value!\n"); + printf("var_test: sym_lookup of PROCINFO failed - got a value!\n"); else - printf("var_test: sym_lookup of PROCINFO failed - did not get a value\n"); + printf("var_test: sym_lookup of PROCINFO passed - did not get a value\n"); /* look up a reserved variable - should pass */ if (sym_lookup("ARGC", AWK_NUMBER, & value)) @@ -399,11 +399,8 @@ test_deferred(int nargs, awk_value_t *result) printf("test_deferred: nargs not right (%d should be 0)\n", nargs); goto out; } - - if (! sym_lookup("PROCINFO", AWK_ARRAY, & arr)) { - printf("test_deferred: %d: sym_lookup failed\n", __LINE__); - goto out; - } + arr.val_type = AWK_ARRAY; + arr.array_cookie = create_array(); for (i = 0; i < sizeof(seed)/sizeof(seed[0]); i++) { make_const_string(seed[i].name, strlen(seed[i].name), & index); @@ -414,6 +411,11 @@ test_deferred(int nargs, awk_value_t *result) } } + if (! sym_update("PROCINFO", & arr)) { + printf("test_deferred: %d: sym_update failed\n", __LINE__); + goto out; + } + /* test that it still contains the values we loaded */ for (i = 0; i < sizeof(seed)/sizeof(seed[0]); i++) { make_const_string(seed[i].name, strlen(seed[i].name), & index); |