[travis] add code coverage flag (#3037)

This commit is contained in:
Yakun Xu
2018-09-10 14:40:23 -10:00
committed by Jonathan Hui
parent c573dafe8e
commit afb4d2e72a
6 changed files with 36 additions and 16 deletions
+11 -9
View File
@@ -548,15 +548,16 @@ set -x
[ $BUILD_TARGET != posix-app-cli ] || {
./bootstrap || die
VIRTUAL_TIME_UART=1 make -f examples/Makefile-posix || die
make -f src/posix/Makefile-posix || die
PYTHONUNBUFFERED=1 OT_CLI_PATH="$(pwd)/$(ls output/posix/*/bin/ot-cli)" RADIO_DEVICE="$(pwd)/$(ls output/*/bin/ot-ncp-radio)" COVERAGE=1 make -f src/posix/Makefile-posix check || die
# enable code coverage for OpenThread transceiver only
COVERAGE=1 VIRTUAL_TIME_UART=1 make -f examples/Makefile-posix || die
COVERAGE=1 make -f src/posix/Makefile-posix || die
COVERAGE=1 PYTHONUNBUFFERED=1 OT_CLI_PATH="$(pwd)/$(ls output/posix/*/bin/ot-cli)" RADIO_DEVICE="$(pwd)/$(ls output/*/bin/ot-ncp-radio)" make -f src/posix/Makefile-posix check || die
}
[ $BUILD_TARGET != posix-app-pty ] || {
./bootstrap
make -f examples/Makefile-posix
make -f src/posix/Makefile-posix
COVERAGE=1 make -f examples/Makefile-posix
COVERAGE=1 make -f src/posix/Makefile-posix
SOCAT_OUTPUT=/tmp/ot-socat
socat -d -d pty,raw,echo=0 pty,raw,echo=0 > /dev/null 2> $SOCAT_OUTPUT &
@@ -611,14 +612,15 @@ EOF
[ $BUILD_TARGET != posix-app-ncp ] || {
./bootstrap || die
VIRTUAL_TIME_UART=1 make -f examples/Makefile-posix || die
make -f src/posix/Makefile-posix || die
PYTHONUNBUFFERED=1 OT_NCP_PATH="$(pwd)/$(ls output/posix/*/bin/ot-ncp)" RADIO_DEVICE="$(pwd)/$(ls output/*/bin/ot-ncp-radio)" COVERAGE=1 NODE_TYPE=ncp-sim make -f src/posix/Makefile-posix check || die
COVERAGE=1 VIRTUAL_TIME_UART=1 make -f examples/Makefile-posix || die
# enable code coverage for OpenThread posix radio
COVERAGE=1 make -f src/posix/Makefile-posix || die
COVERAGE=1 PYTHONUNBUFFERED=1 OT_NCP_PATH="$(pwd)/$(ls output/posix/*/bin/ot-ncp)" RADIO_DEVICE="$(pwd)/$(ls output/*/bin/ot-ncp-radio)" NODE_TYPE=ncp-sim make -f src/posix/Makefile-posix check || die
}
[ $BUILD_TARGET != posix-ncp ] || {
./bootstrap || die
PYTHONUNBUFFERED=1 NODE_TYPE=ncp-sim make -f examples/Makefile-posix check || die
COVERAGE=1 PYTHONUNBUFFERED=1 NODE_TYPE=ncp-sim make -f examples/Makefile-posix check || die
}
[ $BUILD_TARGET != toranj-test-framework ] || {
+17 -2
View File
@@ -53,7 +53,8 @@
uint32_t NODE_ID = 1;
uint32_t WELLKNOWN_NODE_ID = 34;
extern bool gPlatformPseudoResetWasRequested;
extern bool gPlatformPseudoResetWasRequested;
static volatile bool gTerminate = false;
int gArgumentsCount = 0;
char **gArguments = NULL;
@@ -62,6 +63,12 @@ uint64_t sNow = 0; // microseconds
int sSockFd;
uint16_t sPortOffset;
static void handleSignal(int aSignal)
{
(void)aSignal;
gTerminate = true;
}
void otSimSendEvent(const struct Event *aEvent)
{
ssize_t rval;
@@ -236,6 +243,9 @@ void otSysInit(int argc, char *argv[])
platformAlarmInit(1);
platformRadioInit();
platformRandomInit();
signal(SIGTERM, &handleSignal);
signal(SIGHUP, &handleSignal);
}
bool otSysPseudoResetWasRequested(void)
@@ -256,6 +266,11 @@ void otSysProcessDrivers(otInstance *aInstance)
int max_fd = -1;
int rval;
if (gTerminate)
{
exit(0);
}
FD_ZERO(&read_fds);
FD_ZERO(&write_fds);
FD_ZERO(&error_fds);
@@ -279,7 +294,7 @@ void otSysProcessDrivers(otInstance *aInstance)
exit(EXIT_FAILURE);
}
if (FD_ISSET(sSockFd, &read_fds))
if (rval > 0 && FD_ISSET(sSockFd, &read_fds))
{
receiveEvent(aInstance);
}
+5
View File
@@ -46,6 +46,7 @@ BuildJobs ?= 10
configure_OPTIONS = \
--enable-application-coap \
--enable-border-agent \
--enable-border-router \
--enable-cert-log \
--enable-child-supervision \
@@ -67,6 +68,10 @@ configure_OPTIONS = \
--with-ncp-bus=uart \
$(NULL)
ifeq ($(COVERAGE),1)
configure_OPTIONS += --enable-coverage
endif
TopSourceDir := $(dir $(shell readlink $(firstword $(MAKEFILE_LIST))))../..
AbsTopSourceDir := $(dir $(realpath $(firstword $(MAKEFILE_LIST))))../..
+1 -1
View File
@@ -272,7 +272,7 @@ static int OpenPty(const char *aFile, const char *aConfig)
close(static_cast<int>(i));
}
rval = snprintf(cmd, sizeof(cmd), "%s %s", aFile, aConfig);
rval = snprintf(cmd, sizeof(cmd), "exec %s %s", aFile, aConfig);
VerifyOrExit(rval > 0 && static_cast<size_t>(rval) < sizeof(cmd),
otLogCritPlat(mInstance, "NCP file and configuration is too long!"));
+1 -3
View File
@@ -141,11 +141,9 @@ class otCli:
if self.pexpect and self.pexpect.isalive():
print("%d: exit" % self.nodeid)
self.pexpect.send('exit\n')
self.pexpect.expect(pexpect.EOF)
self.pexpect.terminate()
self._expect(pexpect.EOF)
self.pexpect.wait()
self.pexpect = None
sys.stdout.flush()
def send_command(self, cmd, go=True):
print("%d: %s" % (self.nodeid, cmd))
+1 -1
View File
@@ -58,7 +58,7 @@ class RealTime:
def get_messages_sent_by(self, nodeid):
return self._sniffer.get_messages_sent_by(nodeid)
def go(self, duration):
def go(self, duration, nodeid=None):
time.sleep(duration)
def stop(self):