summaryrefslogtreecommitdiff
path: root/tests/interferences_bug1
diff options
context:
space:
mode:
Diffstat (limited to 'tests/interferences_bug1')
-rw-r--r--tests/interferences_bug1/README.md16
-rw-r--r--tests/interferences_bug1/out9
-rw-r--r--tests/interferences_bug1/platform.yaml15
-rw-r--r--tests/interferences_bug1/receiver.py6
-rw-r--r--tests/interferences_bug1/sender.py5
5 files changed, 51 insertions, 0 deletions
diff --git a/tests/interferences_bug1/README.md b/tests/interferences_bug1/README.md
new file mode 100644
index 0000000..8142dbd
--- /dev/null
+++ b/tests/interferences_bug1/README.md
@@ -0,0 +1,16 @@
+# Bug description
+
+## Story
+- Discovered by a master student (Stian Alexander Solli) during his master thesis
+
+## Scenario
+- Three nodes
+- All node reachable by each other except 0 and 2
+- Senders are node 1 and 2
+- Receiver is node 0
+
+## Bug
+- If both sender (1 and 2) send at the same time, node 0 communications are marked as interference which is undesirable
+
+## Fix
+- Add an additional check in the case where "receiver is sending" to ensure that the communication must be mark as interfering
diff --git a/tests/interferences_bug1/out b/tests/interferences_bug1/out
new file mode 100644
index 0000000..7f774a4
--- /dev/null
+++ b/tests/interferences_bug1/out
@@ -0,0 +1,9 @@
+[t=0.000,src=n1,grp=def] Send 1 bytes on wlan0
+[t=0.000,src=n2,grp=def] Send 1 bytes on wlan0
+[t=1.000,src=n0,grp=def] Receive 1 bytes on wlan0
+[t=1.000,src=n2,grp=def] Receive 1 bytes on wlan0 with errors
+[t=1.000,src=n1,grp=def] Receive 1 bytes on wlan0 with errors
+[t=1.000,src=n0,grp=def] Receiver RCode.SUCCESS
+[t=1.000,src=n1,grp=def] Sender RCode.SUCCESS
+[t=1.000,src=n2,grp=def] Sender RCode.SUCCESS
+[t=1.000,src=esds] Simulation ends
diff --git a/tests/interferences_bug1/platform.yaml b/tests/interferences_bug1/platform.yaml
new file mode 100644
index 0000000..6b891de
--- /dev/null
+++ b/tests/interferences_bug1/platform.yaml
@@ -0,0 +1,15 @@
+nodes:
+ count: 3
+ implementations:
+ - 1,2 sender.py
+ - 0 receiver.py
+
+interfaces:
+ wlan0:
+ type: "wireless"
+ nodes: all
+ links:
+ - all 1Bps 0s all
+ - 0,2 0bps 0s 0,2 # Node 0 and 2 are out of range
+ txperfs:
+ - all 1Bps 0s
diff --git a/tests/interferences_bug1/receiver.py b/tests/interferences_bug1/receiver.py
new file mode 100644
index 0000000..9e8a811
--- /dev/null
+++ b/tests/interferences_bug1/receiver.py
@@ -0,0 +1,6 @@
+#!/usr/bin/env python
+
+def execute(api):
+ code,data=api.receive("wlan0")
+ api.log("Receiver "+str(code))
+
diff --git a/tests/interferences_bug1/sender.py b/tests/interferences_bug1/sender.py
new file mode 100644
index 0000000..c07749a
--- /dev/null
+++ b/tests/interferences_bug1/sender.py
@@ -0,0 +1,5 @@
+#!/usr/bin/env python
+
+def execute(api):
+ code=api.send("wlan0","Hello World!",1,1)
+ api.log("Sender "+str(code))