From: Donald Lee Date: Sat, 19 Jun 2021 22:41:28 +0000 (+0800) Subject: tests: Add unit test for lua scripting X-Git-Tag: base_8.1~355^2~11 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=1e0e4d2355452d7537d406e9eb6ed0df8cb35d8c;p=matthieu%2Ffrr.git tests: Add unit test for lua scripting Signed-off-by: Donald Lee --- diff --git a/tests/.gitignore b/tests/.gitignore index fb2edc939a..c5c3bb87ba 100644 --- a/tests/.gitignore +++ b/tests/.gitignore @@ -25,6 +25,7 @@ /lib/test_atomlist /lib/test_buffer /lib/test_checksum +/lib/test_frrscript /lib/test_graph /lib/test_heavy /lib/test_heavy_thread diff --git a/tests/lib/script1.lua b/tests/lib/script1.lua new file mode 100644 index 0000000000..e9ebc29bd9 --- /dev/null +++ b/tests/lib/script1.lua @@ -0,0 +1 @@ +a = a + b diff --git a/tests/lib/test_frrscript.c b/tests/lib/test_frrscript.c new file mode 100644 index 0000000000..bd75cc5552 --- /dev/null +++ b/tests/lib/test_frrscript.c @@ -0,0 +1,37 @@ +/* + * frrscript unit tests + * Copyright (C) 2021 Donald Lee + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation; either version 2 of the License, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; see the file COPYING; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#include + +#include "lib/frrscript.h" + +int main(int argc, char **argv) +{ + frrscript_init("./lib"); + + struct frrscript *fs = frrscript_load("script1", NULL); + long long a = 100, b = 200; + int result = frrscript_call(fs, ("a", &a), ("b", &b)); + + assert(result == 0); + assert(a == 300); + assert(b == 200); + + return 0; +} diff --git a/tests/lib/test_frrscript.py b/tests/lib/test_frrscript.py new file mode 100644 index 0000000000..46c6d99957 --- /dev/null +++ b/tests/lib/test_frrscript.py @@ -0,0 +1,8 @@ +import frrtest + + +class TestFrrscript(frrtest.TestMultiOut): + program = "./test_frrscript" + + +TestFrrscript.exit_cleanly() diff --git a/tests/subdir.am b/tests/subdir.am index ca477851e3..0c083debce 100644 --- a/tests/subdir.am +++ b/tests/subdir.am @@ -70,6 +70,7 @@ check_PROGRAMS = \ tests/lib/test_atomlist \ tests/lib/test_buffer \ tests/lib/test_checksum \ + tests/lib/test_frrscript \ tests/lib/test_heavy_thread \ tests/lib/test_heavy_wq \ tests/lib/test_heavy \ @@ -289,6 +290,10 @@ tests_lib_test_checksum_CFLAGS = $(TESTS_CFLAGS) tests_lib_test_checksum_CPPFLAGS = $(TESTS_CPPFLAGS) tests_lib_test_checksum_LDADD = $(ALL_TESTS_LDADD) tests_lib_test_checksum_SOURCES = tests/lib/test_checksum.c +tests_lib_test_frrscript_CFLAGS = $(TESTS_CFLAGS) +tests_lib_test_frrscript_CPPFLAGS = $(TESTS_CPPFLAGS) +tests_lib_test_frrscript_LDADD = $(ALL_TESTS_LDADD) +tests_lib_test_frrscript_SOURCES = tests/lib/test_frrscript.c tests_lib_test_graph_CFLAGS = $(TESTS_CFLAGS) tests_lib_test_graph_CPPFLAGS = $(TESTS_CPPFLAGS) tests_lib_test_graph_LDADD = $(ALL_TESTS_LDADD)