tests: Add unit test for lua scripting

Signed-off-by: Donald Lee <dlqs@gmx.com>
This commit is contained in:
Donald Lee 2021-06-20 06:41:28 +08:00
parent fa2bb2e8d3
commit 1e0e4d2355
5 changed files with 52 additions and 0 deletions

1
tests/.gitignore vendored
View File

@ -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

1
tests/lib/script1.lua Normal file
View File

@ -0,0 +1 @@
a = a + b

View File

@ -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 <zebra.h>
#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;
}

View File

@ -0,0 +1,8 @@
import frrtest
class TestFrrscript(frrtest.TestMultiOut):
program = "./test_frrscript"
TestFrrscript.exit_cleanly()

View File

@ -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)