summaryrefslogtreecommitdiffstats
path: root/testsuite/debugger01
diff options
context:
space:
mode:
authorChris Johns <chrisj@rtems.org>2016-11-28 14:23:15 +1100
committerChris Johns <chrisj@rtems.org>2016-11-29 15:27:23 +1100
commitf7a4107c6f2e6c8231b606e38af5adb31178a342 (patch)
tree5fa7c344000f6fde0b6981596aa9d0c7bf173bdf /testsuite/debugger01
parentftpd: Use floating-point tasks due to syslog() (diff)
downloadrtems-libbsd-f7a4107c6f2e6c8231b606e38af5adb31178a342.tar.bz2
Add a RTEMS Debugger TCP remote transport.
The patch also adds support to libbsd's build system making source conditional on a configure check. The debugger support is not available on all architectures and this feature lets us test if is avaliable.
Diffstat (limited to 'testsuite/debugger01')
-rw-r--r--testsuite/debugger01/test_main.c71
1 files changed, 71 insertions, 0 deletions
diff --git a/testsuite/debugger01/test_main.c b/testsuite/debugger01/test_main.c
new file mode 100644
index 00000000..6a4095c8
--- /dev/null
+++ b/testsuite/debugger01/test_main.c
@@ -0,0 +1,71 @@
+/*
+ * Copyright (c) 2016 Chris Johns <chrisj@rtems.org>
+ * All rights reserved.
+ *
+ * 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 <errno.h>
+#include <string.h>
+
+#include <rtems.h>
+#include <rtems/shell.h>
+
+#include <rtems/rtems-debugger.h>
+#include <rtems/rtems-debugger-remote-tcp.h>
+
+#define TEST_NAME "LIBBSD DEBUGGER 1"
+
+extern rtems_shell_cmd_t rtems_shell_DEBUGGER_Command;
+
+static void
+test_main(void)
+{
+ rtems_printer printer;
+ int r;
+
+ rtems_print_printer_fprintf(&printer, stdout);
+
+ rtems_shell_add_cmd_struct(&rtems_shell_DEBUGGER_Command);
+
+ r = rtems_debugger_register_tcp_remote();
+ if (r < 0) {
+ printf("error: TCP remote register: %s\n", strerror(errno));
+ return;
+ }
+
+ r = rtems_debugger_start("tcp", "1122", 3, 1, &printer);
+ if (r < 0) {
+ printf("error: debugger start: %s\n", strerror(errno));
+ return;
+ }
+
+ while (true)
+ sleep(60);
+}
+
+#define DEFAULT_NETWORK_SHELL
+
+#define CONFIGURE_MAXIMUM_DRIVERS 32
+
+#include <rtems/bsd/test/default-network-init.h>