summaryrefslogtreecommitdiffstats
path: root/testsuite/ftpd01
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2013-11-14 13:48:43 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2013-12-16 15:34:46 +0100
commit57bfdf772b5e912fbb2f4e839d38bf8258716541 (patch)
tree71ba198985b85cf5d05068161d6055740ba87a55 /testsuite/ftpd01
parentChanges due to <sys/cpuset.h> from latest Newlib (diff)
downloadrtems-libbsd-57bfdf772b5e912fbb2f4e839d38bf8258716541.tar.bz2
ftpd01: New test
Diffstat (limited to 'testsuite/ftpd01')
-rw-r--r--testsuite/ftpd01/test_main.c117
1 files changed, 117 insertions, 0 deletions
diff --git a/testsuite/ftpd01/test_main.c b/testsuite/ftpd01/test_main.c
new file mode 100644
index 00000000..9f031532
--- /dev/null
+++ b/testsuite/ftpd01/test_main.c
@@ -0,0 +1,117 @@
+/*
+ * Copyright (c) 2013 embedded brains GmbH. All rights reserved.
+ *
+ * embedded brains GmbH
+ * Dornierstr. 4
+ * 82178 Puchheim
+ * Germany
+ * <rtems@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/ftpd.h>
+#include <rtems/shell.h>
+#include <rtems/console.h>
+
+#define TEST_NAME "LIBBSD FTPD 1"
+
+struct rtems_ftpd_configuration rtems_ftpd_configuration = {
+ /* FTPD task priority */
+ .priority = 100,
+
+ /* Maximum buffersize for hooks */
+ .max_hook_filesize = 0,
+
+ /* Well-known port */
+ .port = 21,
+
+ /* List of hooks */
+ .hooks = NULL,
+
+ /* Root for FTPD or NULL for "/" */
+ .root = NULL,
+
+ /* Max. connections */
+ .tasks_count = 4,
+
+ /* Idle timeout in seconds or 0 for no (infinite) timeout */
+ .idle = 5 * 60,
+
+ /* Access: 0 - r/w, 1 - read-only, 2 - write-only, 3 - browse-only */
+ .access = 0
+};
+
+static void
+test_main(void)
+{
+ rtems_status_code sc;
+ int rv;
+
+ rv = rtems_initialize_ftpd();
+ assert(rv == 0);
+
+ sc = rtems_shell_init(
+ "SHLL",
+ 32 * 1024,
+ 1,
+ CONSOLE_DEVICE_NAME,
+ false,
+ true,
+ NULL
+ );
+ assert(sc == RTEMS_SUCCESSFUL);
+}
+
+#define CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER
+#define CONFIGURE_APPLICATION_NEEDS_ZERO_DRIVER
+
+#include <rtems/bsd/test/default-network-init.h>
+
+#define CONFIGURE_SHELL_COMMANDS_INIT
+
+#include <bsp/irq-info.h>
+
+#define CONFIGURE_SHELL_USER_COMMANDS &bsp_interrupt_shell_command
+
+#define CONFIGURE_SHELL_COMMAND_CPUUSE
+#define CONFIGURE_SHELL_COMMAND_PERIODUSE
+#define CONFIGURE_SHELL_COMMAND_STACKUSE
+
+#define CONFIGURE_SHELL_COMMAND_CP
+#define CONFIGURE_SHELL_COMMAND_PWD
+#define CONFIGURE_SHELL_COMMAND_LS
+#define CONFIGURE_SHELL_COMMAND_LN
+#define CONFIGURE_SHELL_COMMAND_LSOF
+#define CONFIGURE_SHELL_COMMAND_CHDIR
+#define CONFIGURE_SHELL_COMMAND_CD
+#define CONFIGURE_SHELL_COMMAND_MKDIR
+#define CONFIGURE_SHELL_COMMAND_RMDIR
+#define CONFIGURE_SHELL_COMMAND_CAT
+#define CONFIGURE_SHELL_COMMAND_MV
+#define CONFIGURE_SHELL_COMMAND_RM
+#define CONFIGURE_SHELL_COMMAND_MALLOC_INFO
+
+#include <rtems/shellconfig.h>