diff --git a/Makefile b/Makefile index b9fff103..9e388981 100644 --- a/Makefile +++ b/Makefile @@ -1171,6 +1171,17 @@ NET_TESTS += $(TEST_ARPHOLE) O_FILES += $(TEST_ARPHOLE_O_FILES) D_FILES += $(TEST_ARPHOLE_D_FILES) +TEST_TELNETD01 = testsuite/telnetd01/telnetd01.exe +TEST_TELNETD01_O_FILES = +TEST_TELNETD01_D_FILES = +TEST_TELNETD01_O_FILES += testsuite/telnetd01/test_main.o +TEST_TELNETD01_D_FILES += testsuite/telnetd01/test_main.d +$(TEST_TELNETD01): $(TEST_TELNETD01_O_FILES) $(LIB) + $(LINK.c) -Wl,-Map,testsuite/telnetd01/telnetd01.map $^ -lm -lz -o $@ +NET_TESTS += $(TEST_TELNETD01) +O_FILES += $(TEST_TELNETD01_O_FILES) +D_FILES += $(TEST_TELNETD01_D_FILES) + TEST_UNIX01 = testsuite/unix01/unix01.exe TEST_UNIX01_O_FILES = TEST_UNIX01_D_FILES = diff --git a/freebsd-to-rtems.py b/freebsd-to-rtems.py index d85e9fd7..94a0caab 100755 --- a/freebsd-to-rtems.py +++ b/freebsd-to-rtems.py @@ -2453,6 +2453,7 @@ tests.addTest('foobarserver', ['test_main'], runTest = False, netTest = True) tests.addTest('dhcpcd01', ['test_main'], runTest = False, netTest = True) tests.addTest('dhcpcd02', ['test_main'], runTest = False, netTest = True) tests.addTest('arphole', ['test_main'], runTest = False, netTest = True) +tests.addTest('telnetd01', ['test_main'], runTest = False, netTest = True) tests.addTest('unix01', ['test_main']) tests.addTest('ftpd01', ['test_main'], netTest = True) tests.addTest('ping01', ['test_main'], netTest = True) diff --git a/testsuite/telnetd01/test_main.c b/testsuite/telnetd01/test_main.c new file mode 100644 index 00000000..c85a8964 --- /dev/null +++ b/testsuite/telnetd01/test_main.c @@ -0,0 +1,78 @@ +/* + * Copyright (c) 2014 embedded brains GmbH. All rights reserved. + * + * embedded brains GmbH + * Dornierstr. 4 + * 82178 Puchheim + * Germany + * + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include + +#include +#include +#include + +#define TEST_NAME "LIBBSD TELNETD 1" + +static void +telnet_shell(char *name, void *arg) +{ + rtems_shell_env_t env; + + memset(&env, 0, sizeof(env)); + + env.devname = name; + env.taskname = "TLNT"; + env.login_check = NULL; + env.forever = false; + + rtems_shell_main_loop(&env); +} + +rtems_telnetd_config_table rtems_telnetd_config = { + .command = telnet_shell, + .arg = NULL, + .priority = 0, + .stack_size = 0, + .login_check = NULL, + .keep_stdio = false +}; + +static void +test_main(void) +{ + rtems_status_code sc = rtems_telnetd_initialize(); + assert(sc == RTEMS_SUCCESSFUL); + + rtems_task_delete(RTEMS_SELF); + assert(0); +} + +#define DEFAULT_NETWORK_SHELL + +#define CONFIGURE_MAXIMUM_DRIVERS 32 + +#include