From 17448000375f7548cb31b00d5b20e7a079541c10 Mon Sep 17 00:00:00 2001
From: Shivansh Rai <shivanshrai84@gmail.com>
Date: Wed, 29 Jun 2016 05:15:19 +0530
Subject: [PATCH] Test for blocking read

---
 .../tests/bsd/tcp/blocking/blocking-read.pkt  | 22 +++++++++++++++++++
 1 file changed, 22 insertions(+)
 create mode 100644 gtests/net/packetdrill/tests/bsd/tcp/blocking/blocking-read.pkt

diff --git a/gtests/net/packetdrill/tests/bsd/tcp/blocking/blocking-read.pkt b/gtests/net/packetdrill/tests/bsd/tcp/blocking/blocking-read.pkt
new file mode 100644
index 00000000..22271311
--- /dev/null
+++ b/gtests/net/packetdrill/tests/bsd/tcp/blocking/blocking-read.pkt
@@ -0,0 +1,22 @@
+// Test for blocking read
+
+// Establish a connection
+0.000 socket(..., SOCK_STREAM, IPPROTO_TCP) = 3
+0.000 setsockopt(3, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
+0.000 bind(3, ..., ...) = 0
+0.000 listen(3, 1) = 0
+
+0.100 < S 0:0(0) win 65535 <mss 1460,sackOK,nop,nop,nop,wscale 7>
+0.100 > S. 0:0(0) ack 1 <...>
+0.200 < . 1:1(0) ack 1 win 65535
+0.200 accept(3, ..., ...) = 4
+
+// We initiate a blocking read system call
+0.200...0.300 read(4, ..., 2000) = 2000
+0.300 < P. 1:2001(2000) ack 1 win 65535
+0.300 > . 1:1(0) ack 2001
+
+0.400...0.500 read(4, ..., 1000) = 1000
+0.500 < P. 2001:3001(1000) ack 1 win 65535
+// TODO: Find out why timing has to be relaxed by 100 ms in this case
+0.600~0.610 > . 1:1(0) ack 3001 <...>
-- 
GitLab