]> git.proxmox.com Git - mirror_frr.git/commitdiff
tests: Add test for frrscript_get_result
authorDonald Lee <dlqs@gmx.com>
Wed, 7 Jul 2021 13:54:00 +0000 (21:54 +0800)
committerDonald Lee <dlqs@gmx.com>
Sat, 17 Jul 2021 22:32:03 +0000 (06:32 +0800)
Signed-off-by: Donald Lee <dlqs@gmx.com>
tests/lib/script1.lua
tests/lib/test_frrscript.c

index e911a1c9414a41c8c06d1d5b7fa2d3421cf4a29a..5029a921bc47f75886b9bcbf641ae628d90fb2c1 100644 (file)
@@ -15,7 +15,7 @@ function fact(n)
     end
   end
   return {
-    n = helper(n)
+    ans = helper(n)
   }
 end
 
index 3bb45a2651ac9915e34e3563046458c2963c120c..e8b7927e15a80f9a40347d920b88464a87749094 100644 (file)
@@ -20,6 +20,7 @@
 #include <zebra.h>
 
 #include "lib/frrscript.h"
+#include "lib/frrlua.h"
 
 int main(int argc, char **argv)
 {
@@ -36,12 +37,16 @@ int main(int argc, char **argv)
        assert(a == 300);
        assert(b == 200);
 
-       frrscript_load(fs, "fact", NULL);
        long long n = 5;
 
+       result = frrscript_load(fs, "fact", NULL);
+       assert(result == 0);
        result = frrscript_call(fs, "fact", ("n", &n));
        assert(result == 0);
-       assert(n == 120);
+       long long *ansptr =
+               frrscript_get_result(fs, "fact", "ans", lua_tointegerp);
+       assert(*ansptr == 120);
+       XFREE(MTYPE_TMP, ansptr);
 
        /* Function does not exist in script file*/
        result = frrscript_load(fs, "does_not_exist", NULL);