[rtems-libbsd commit] telnetd01: New test

Sebastian Huber sebh at rtems.org
Thu Sep 18 07:47:48 UTC 2014


Module:    rtems-libbsd
Branch:    master
Commit:    15f19afcb41660aa2d33c8e7842c1a6e85786d8f
Changeset: http://git.rtems.org/rtems-libbsd/commit/?id=15f19afcb41660aa2d33c8e7842c1a6e85786d8f

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Thu Sep 18 09:51:41 2014 +0200

telnetd01: New test

---

 Makefile                        |   11 +++++
 freebsd-to-rtems.py             |    1 +
 testsuite/telnetd01/test_main.c |   78 +++++++++++++++++++++++++++++++++++++++
 3 files changed, 90 insertions(+), 0 deletions(-)

diff --git a/Makefile b/Makefile
index b9fff10..9e38898 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 d85e9fd..94a0caa 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 0000000..c85a896
--- /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
+ *  <rtems at embedded-brains.de>
+ *
+ * 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 <assert.h>
+
+#include <rtems.h>
+#include <rtems/shell.h>
+#include <rtems/telnetd.h>
+
+#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 <rtems/bsd/test/default-network-init.h>



More information about the vc mailing list