Dockerfile for SCTP conformance test suite

changes/84/7384/1
Harald Welte 6 years ago
parent 99eda5463e
commit fd94b85873
  1. 33
      sctp-test/0001-Fix-compilation-on-Linux.patch
  2. 37
      sctp-test/0001-disable-the-use-of-scheduler-priorities-and-mlockall.patch
  3. 27
      sctp-test/Dockerfile
  4. 4
      sctp-test/run

@ -0,0 +1,33 @@
From 3ed7dcf137c7ec53077faf31aae40b3c04cbedad Mon Sep 17 00:00:00 2001
From: Harald Welte <laforge@gnumonks.org>
Date: Wed, 3 May 2017 22:13:54 +0200
Subject: [PATCH] Fix compilation on Linux
DEBUG_LOGGING is a #define, we have to use the preprocessor to check for
it.
---
gtests/net/packetdrill/packet_socket_linux.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gtests/net/packetdrill/packet_socket_linux.c b/gtests/net/packetdrill/packet_socket_linux.c
index 8abf106..572b5b8 100644
--- a/gtests/net/packetdrill/packet_socket_linux.c
+++ b/gtests/net/packetdrill/packet_socket_linux.c
@@ -175,12 +175,12 @@ void packet_socket_set_filter(struct packet_socket *psock,
bpfcode.filter[3].k = ((client_ether[0] << 8) |
(client_ether[1]));
- if (DEBUG_LOGGING) {
+#ifdef DEBUG_LOGGING
int i;
DEBUGP("filter constants:\n");
for (i = 0; i < bpfcode.len; ++i)
DEBUGP("0x%x\n", bpfcode.filter[i].k);
- }
+#endif
/* Attach the filter. */
if (setsockopt(psock->packet_fd, SOL_SOCKET, SO_ATTACH_FILTER,
--
2.11.0

@ -0,0 +1,37 @@
From f3635ca581643f489836f6c603c9888ab7595c36 Mon Sep 17 00:00:00 2001
From: Harald Welte <laforge@gnumonks.org>
Date: Wed, 3 May 2017 22:31:53 +0200
Subject: [PATCH] disable the use of scheduler priorities and mlockall
This doesn't work inside of docker, so let's disable it
---
gtests/net/packetdrill/run.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/gtests/net/packetdrill/run.c b/gtests/net/packetdrill/run.c
index 54f4ebb..66a4c07 100644
--- a/gtests/net/packetdrill/run.c
+++ b/gtests/net/packetdrill/run.c
@@ -439,7 +439,7 @@ void set_scheduling_priority(void)
if (num_cpus <= 1)
return;
-#if !defined(__OpenBSD__)
+#if 0
/* Chose a real-time policy, but use SCHED_RR instead of
* SCHED_FIFO, so that we round-robin among real-time threads
* of the same priority. In practice this shouldn't matter,
@@ -466,8 +466,10 @@ void set_scheduling_priority(void)
*/
void lock_memory(void)
{
+#if 0
if (mlockall(MCL_CURRENT | MCL_FUTURE))
die_perror("lockall(MCL_CURRENT | MCL_FUTURE)");
+#endif
}
/* Wait for and return the wall time at which we should start the
--
2.11.0

@ -0,0 +1,27 @@
FROM debian-jessie-build
MAINTAINER Harald Welte <laforge@gnumonks.org>
RUN apt-get update && apt-get install -y \
bison flex
COPY *.patch /tmp/
RUN git config --global user.email "nobody@localhost" && \
git config --global user.name "Docker Container"
WORKDIR /tmp
RUN git clone https://github.com/nplab/packetdrill && \
cd packetdrill && \
git am /tmp/*.patch && \
cd gtests/net/packetdrill && \
./configure && \
make && \
cp packetdrill /usr/bin/
RUN git clone https://github.com/nplab/ETSI-SCTP-Conformance-Testsuite.git
COPY run /tmp/run
CMD /tmp/run

@ -0,0 +1,4 @@
#!/bin/sh
[ -d /dev/net ] || mkdir -p /dev/net
[ -c /dev/net/tun ] || mknod /dev/net/tun c 10 200
cd /tmp/ETSI-SCTP-Conformance-Testsuite && ./run-all-tests
Loading…
Cancel
Save