diff options
Diffstat (limited to 'tests/lib/test_frrscript.c')
| -rw-r--r-- | tests/lib/test_frrscript.c | 28 |
1 files changed, 23 insertions, 5 deletions
diff --git a/tests/lib/test_frrscript.c b/tests/lib/test_frrscript.c index 4d34b58832..3bb45a2651 100644 --- a/tests/lib/test_frrscript.c +++ b/tests/lib/test_frrscript.c @@ -36,18 +36,36 @@ int main(int argc, char **argv) assert(a == 300); assert(b == 200); + frrscript_load(fs, "fact", NULL); + long long n = 5; + + result = frrscript_call(fs, "fact", ("n", &n)); + assert(result == 0); + assert(n == 120); + + /* Function does not exist in script file*/ + result = frrscript_load(fs, "does_not_exist", NULL); + assert(result == 1); + + /* Function does not exist in script file*/ result = frrscript_load(fs, "does_not_exist", NULL); assert(result == 1); + /* Function was not (successfully) loaded */ result = frrscript_call(fs, "does_not_exist", ("a", &a), ("b", &b)); assert(result == 1); - frrscript_load(fs, "fact", NULL); - long long n = 5; + /* Function returns void */ + result = frrscript_call(fs, "bad_return1"); + assert(result == 1); - result = frrscript_call(fs, "fact", ("n", &n)); - assert(result == 0); - assert(n == 120); + /* Function returns number */ + result = frrscript_call(fs, "bad_return2"); + assert(result == 1); + + /* Function throws exception */ + result = frrscript_call(fs, "bad_return3"); + assert(result == 1); return 0; } |
