Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #2108 from yatch/pr/poc-tsch-queue-flush-nbr-queue
TSCH: POC of a bug in tsch_queue_flush_nbr_queue()
- Loading branch information
Showing
9 changed files
with
451 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,147 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<simconf> | ||
<project EXPORT="discard">[APPS_DIR]/mrm</project> | ||
<project EXPORT="discard">[APPS_DIR]/mspsim</project> | ||
<project EXPORT="discard">[APPS_DIR]/avrora</project> | ||
<project EXPORT="discard">[APPS_DIR]/serial_socket</project> | ||
<project EXPORT="discard">[APPS_DIR]/collect-view</project> | ||
<project EXPORT="discard">[APPS_DIR]/powertracker</project> | ||
<simulation> | ||
<title>My simulation</title> | ||
<randomseed>123456</randomseed> | ||
<motedelay_us>1000000</motedelay_us> | ||
<radiomedium> | ||
org.contikios.cooja.radiomediums.UDGM | ||
<transmitting_range>50.0</transmitting_range> | ||
<interference_range>100.0</interference_range> | ||
<success_ratio_tx>1.0</success_ratio_tx> | ||
<success_ratio_rx>1.0</success_ratio_rx> | ||
</radiomedium> | ||
<events> | ||
<logoutput>40000</logoutput> | ||
</events> | ||
<motetype> | ||
org.contikios.cooja.contikimote.ContikiMoteType | ||
<identifier>mtype476</identifier> | ||
<description>Cooja Mote Type #1</description> | ||
<source>[CONTIKI_DIR]/regression-tests/27-tsch/code/test-flush-nbr-queue.c</source> | ||
<commands>make test-flush-nbr-queue.cooja TARGET=cooja</commands> | ||
<moteinterface>org.contikios.cooja.interfaces.Position</moteinterface> | ||
<moteinterface>org.contikios.cooja.interfaces.Battery</moteinterface> | ||
<moteinterface>org.contikios.cooja.contikimote.interfaces.ContikiVib</moteinterface> | ||
<moteinterface>org.contikios.cooja.contikimote.interfaces.ContikiMoteID</moteinterface> | ||
<moteinterface>org.contikios.cooja.contikimote.interfaces.ContikiRS232</moteinterface> | ||
<moteinterface>org.contikios.cooja.contikimote.interfaces.ContikiBeeper</moteinterface> | ||
<moteinterface>org.contikios.cooja.interfaces.RimeAddress</moteinterface> | ||
<moteinterface>org.contikios.cooja.contikimote.interfaces.ContikiIPAddress</moteinterface> | ||
<moteinterface>org.contikios.cooja.contikimote.interfaces.ContikiRadio</moteinterface> | ||
<moteinterface>org.contikios.cooja.contikimote.interfaces.ContikiButton</moteinterface> | ||
<moteinterface>org.contikios.cooja.contikimote.interfaces.ContikiPIR</moteinterface> | ||
<moteinterface>org.contikios.cooja.contikimote.interfaces.ContikiClock</moteinterface> | ||
<moteinterface>org.contikios.cooja.contikimote.interfaces.ContikiLED</moteinterface> | ||
<moteinterface>org.contikios.cooja.contikimote.interfaces.ContikiCFS</moteinterface> | ||
<moteinterface>org.contikios.cooja.contikimote.interfaces.ContikiEEPROM</moteinterface> | ||
<moteinterface>org.contikios.cooja.interfaces.Mote2MoteRelations</moteinterface> | ||
<moteinterface>org.contikios.cooja.interfaces.MoteAttributes</moteinterface> | ||
<symbols>false</symbols> | ||
</motetype> | ||
<mote> | ||
<interface_config> | ||
org.contikios.cooja.interfaces.Position | ||
<x>38.79981729133275</x> | ||
<y>97.05367953429746</y> | ||
<z>0.0</z> | ||
</interface_config> | ||
<interface_config> | ||
org.contikios.cooja.contikimote.interfaces.ContikiMoteID | ||
<id>1</id> | ||
</interface_config> | ||
<interface_config> | ||
org.contikios.cooja.contikimote.interfaces.ContikiRadio | ||
<bitrate>250.0</bitrate> | ||
</interface_config> | ||
<interface_config> | ||
org.contikios.cooja.contikimote.interfaces.ContikiEEPROM | ||
<eeprom>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==</eeprom> | ||
</interface_config> | ||
<motetype_identifier>mtype476</motetype_identifier> | ||
</mote> | ||
</simulation> | ||
<plugin> | ||
org.contikios.cooja.plugins.SimControl | ||
<width>280</width> | ||
<z>4</z> | ||
<height>160</height> | ||
<location_x>400</location_x> | ||
<location_y>0</location_y> | ||
</plugin> | ||
<plugin> | ||
org.contikios.cooja.plugins.Visualizer | ||
<plugin_config> | ||
<moterelations>true</moterelations> | ||
<skin>org.contikios.cooja.plugins.skins.IDVisualizerSkin</skin> | ||
<skin>org.contikios.cooja.plugins.skins.GridVisualizerSkin</skin> | ||
<skin>org.contikios.cooja.plugins.skins.TrafficVisualizerSkin</skin> | ||
<skin>org.contikios.cooja.plugins.skins.UDGMVisualizerSkin</skin> | ||
<viewport>0.9090909090909091 0.0 0.0 0.9090909090909091 158.72743882606113 84.76938224154777</viewport> | ||
</plugin_config> | ||
<width>400</width> | ||
<z>3</z> | ||
<height>400</height> | ||
<location_x>1</location_x> | ||
<location_y>1</location_y> | ||
</plugin> | ||
<plugin> | ||
org.contikios.cooja.plugins.LogListener | ||
<plugin_config> | ||
<filter /> | ||
<formatted_time /> | ||
<coloring /> | ||
</plugin_config> | ||
<width>1320</width> | ||
<z>2</z> | ||
<height>240</height> | ||
<location_x>400</location_x> | ||
<location_y>160</location_y> | ||
</plugin> | ||
<plugin> | ||
org.contikios.cooja.plugins.TimeLine | ||
<plugin_config> | ||
<mote>0</mote> | ||
<showRadioRXTX /> | ||
<showRadioHW /> | ||
<showLEDs /> | ||
<zoomfactor>500.0</zoomfactor> | ||
</plugin_config> | ||
<width>1720</width> | ||
<z>1</z> | ||
<height>166</height> | ||
<location_x>0</location_x> | ||
<location_y>957</location_y> | ||
</plugin> | ||
<plugin> | ||
org.contikios.cooja.plugins.Notes | ||
<plugin_config> | ||
<notes>Enter notes here</notes> | ||
<decorations>true</decorations> | ||
</plugin_config> | ||
<width>1040</width> | ||
<z>0</z> | ||
<height>160</height> | ||
<location_x>680</location_x> | ||
<location_y>0</location_y> | ||
</plugin> | ||
<plugin> | ||
org.contikios.cooja.plugins.ScriptRunner | ||
<plugin_config> | ||
<scriptfile>[CONTIKI_DIR]/regression-tests/27-tsch/js/unit-test.js</scriptfile> | ||
<active>true</active> | ||
</plugin_config> | ||
<width>495</width> | ||
<z>0</z> | ||
<height>525</height> | ||
<location_x>663</location_x> | ||
<location_y>105</location_y> | ||
</plugin> | ||
</simconf> | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
include ../Makefile.simulation-test |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
all: | ||
|
||
CFLAGS += -D PROJECT_CONF_H=\"project-conf.h\" | ||
APPS += unit-test | ||
MODULES += core/net/mac/tsch core/net/mac/tsch/sixtop | ||
|
||
PROJECT_SOURCEFILES += common.c | ||
|
||
CONTIKI = ../../.. | ||
CONTIKI_WITH_IPV6 = 1 | ||
include $(CONTIKI)/Makefile.include |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
/* | ||
* Copyright (c) 2017, Yasuyuki Tanaka | ||
* 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. | ||
* | ||
* 3. Neither the name of the copyright holder nor the names of its | ||
* contributors may be used to endorse or promote products derived | ||
* from this software without specific prior written permission. | ||
* | ||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 | ||
* COPYRIGHT HOLDER 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 <stdio.h> | ||
#include <string.h> | ||
|
||
#include "unit-test.h" | ||
#include "common.h" | ||
|
||
#include "lib/simEnvChange.h" | ||
#include "sys/cooja_mt.h" | ||
|
||
void | ||
test_print_report(const unit_test_t *utp) | ||
{ | ||
printf("=check-me= "); | ||
if(utp->result == unit_test_failure) { | ||
printf("FAILED - %s: exit at L%u\n", utp->descr, utp->exit_line); | ||
} else { | ||
printf("SUCCEEDED - %s\n", utp->descr); | ||
} | ||
|
||
/* give up the CPU so that the mote can output messages in the serial buffer */ | ||
simProcessRunValue = 1; | ||
cooja_mt_yield(); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
/* | ||
* Copyright (c) 2017, Yasuyuki Tanaka | ||
* 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. | ||
* | ||
* 3. Neither the name of the copyright holder nor the names of its | ||
* contributors may be used to endorse or promote products derived | ||
* from this software without specific prior written permission. | ||
* | ||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 | ||
* COPYRIGHT HOLDER 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. | ||
*/ | ||
|
||
#ifndef _COMMON_H | ||
#define _COMMON_H | ||
|
||
#include "unit-test.h" | ||
|
||
void test_print_report(const unit_test_t *utp); | ||
|
||
#endif /* !_COMMON_H */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
/* | ||
* Copyright (c) 2017, Yasuyuki Tanaka | ||
* 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. | ||
* | ||
* 3. Neither the name of the copyright holder nor the names of its | ||
* contributors may be used to endorse or promote products derived | ||
* from this software without specific prior written permission. | ||
* | ||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 | ||
* COPYRIGHT HOLDER 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. | ||
*/ | ||
|
||
#ifndef _PROJECT_CONF_H_ | ||
#define _PROJECT_CONF_H_ | ||
|
||
#define UNIT_TEST_PRINT_FUNCTION test_print_report | ||
|
||
/* Set the minimum value of QUEUEBUF_CONF_NUM for the flush_nbr_queue test */ | ||
#undef QUEUEBUF_CONF_NUM | ||
#define QUEUEBUF_CONF_NUM 1 | ||
|
||
#undef TSCH_LOG_CONF_LEVEL | ||
#define TSCH_LOG_CONF_LEVEL 2 | ||
|
||
#undef TSCH_CONF_AUTOSTART | ||
#define TSCH_CONF_AUTOSTART 1 | ||
|
||
#undef NETSTACK_CONF_MAC | ||
#define NETSTACK_CONF_MAC tschmac_driver | ||
|
||
#undef NETSTACK_CONF_RDC | ||
#define NETSTACK_CONF_RDC nordc_driver | ||
|
||
#undef NETSTACK_CONF_FRAMER | ||
#define NETSTACK_CONF_FRAMER framer_802154 | ||
|
||
#undef FRAME802154_CONF_VERSION | ||
#define FRAME802154_CONF_VERSION FRAME802154_IEEE802154E_2012 | ||
|
||
#if CONTIKI_TARGET_COOJA | ||
#define COOJA_CONF_SIMULATE_TURNAROUND 0 | ||
#endif /* CONTIKI_TARGET_COOJA */ | ||
|
||
#endif /* __PROJECT_CONF_H__ */ |
Oops, something went wrong.