From 7948c5d27ac5313841a0f8e0b88ecc090932dffe Mon Sep 17 00:00:00 2001 From: Donald Lee Date: Mon, 5 Jul 2021 05:25:49 +0800 Subject: [PATCH] tests: Add errorneous test cases Signed-off-by: Donald Lee --- tests/lib/script1.lua | 12 ++++++++++++ tests/lib/test_frrscript.c | 30 ++++++++++++++++++++++++------ 2 files changed, 36 insertions(+), 6 deletions(-) diff --git a/tests/lib/script1.lua b/tests/lib/script1.lua index f7cd8a90b9..e911a1c941 100644 --- a/tests/lib/script1.lua +++ b/tests/lib/script1.lua @@ -18,3 +18,15 @@ function fact(n) n = helper(n) } end + +function bad_return1() +end + +function bad_return2() + return 1 +end + +function bad_return3() + error("Something bad!") +end + 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,12 +36,6 @@ int main(int argc, char **argv) assert(a == 300); assert(b == 200); - result = frrscript_load(fs, "does_not_exist", NULL); - assert(result == 1); - - result = frrscript_call(fs, "does_not_exist", ("a", &a), ("b", &b)); - assert(result == 1); - frrscript_load(fs, "fact", NULL); long long n = 5; @@ -49,5 +43,29 @@ int main(int argc, char **argv) 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); + + /* Function returns void */ + result = frrscript_call(fs, "bad_return1"); + assert(result == 1); + + /* 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; }