From af37c345e87e7bbf67196bc667ee1156a0ae3af1 Mon Sep 17 00:00:00 2001 From: maniacbug Date: Wed, 13 Jul 2011 15:41:37 -0700 Subject: [PATCH] Created an all-up script runner --- tests/README | 7 ++----- tests/pingpair_test/pingpair_test.pde | 23 +++++++++++++++++------ tests/pingpair_test/runtests.sh | 8 ++++++++ 3 files changed, 27 insertions(+), 11 deletions(-) create mode 100755 tests/pingpair_test/runtests.sh diff --git a/tests/README b/tests/README index 5730385..43ceaf5 100644 --- a/tests/README +++ b/tests/README @@ -1,10 +1,7 @@ The sketches in this directory are intended to be checkin tests. No code should be pushed to github without these tests passing. -The way I run each test is from within the sketch dir, doing this: -jam p4 p6 && ./runtest.py /dev/tty.usbserial-A40081RP - -runtest.py will exit with code 0 on pass code 1 on fail +See "runtests.sh" script inside each sketch dir. This script is fully compatible with +git bisest. Note that this requires python and py-serial - diff --git a/tests/pingpair_test/pingpair_test.pde b/tests/pingpair_test/pingpair_test.pde index f3e9ffa..5840c3c 100644 --- a/tests/pingpair_test/pingpair_test.pde +++ b/tests/pingpair_test/pingpair_test.pde @@ -138,6 +138,14 @@ void setup(void) // It would be a much better test if this program could accept configuration // from the serial port. Then it would be possible to run the same test under // lots of different circumstances. + // + // The idea is that we will print "+READY" at this point. The python script + // will wait for it, and then send down a configuration script that we + // execute here and then run with. + // + // The test controller will need to configure the receiver first, then go run + // the test on the sender. + // // // Setup and configure rf radio @@ -195,6 +203,14 @@ void setup(void) // attachInterrupt(0, check_radio, FALLING); + + // + // Receiver node automatically "passes" the test + // + if ( role == role_receiver ) + { + done = passed = true; + } } static uint32_t message_count = 0; @@ -206,7 +222,7 @@ void loop(void) // Sender role. Repeatedly send the current time // - if (role == role_sender) + if (role == role_sender && !done) { // The payload will always be the same, what will change is how much of it we send. static char send_payload[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ789012"; @@ -236,17 +252,12 @@ void loop(void) // if ( done ) { - detachInterrupt(0); printf("\n\r+OK "); if ( passed ) printf("PASS\n\r\n\r"); else printf("FAIL\n\r\n\r"); - - // Wait here - while(1) {} } - } void check_radio(void) diff --git a/tests/pingpair_test/runtests.sh b/tests/pingpair_test/runtests.sh new file mode 100755 index 0000000..1d0181d --- /dev/null +++ b/tests/pingpair_test/runtests.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +# Connect p6 to receiver, p4 to sender + +jam p4 p6 || exit 1 +./runtest.py /dev/tty.usbserial-A600eHIs || exit 1 +./runtest.py /dev/tty.usbserial-A40081RP || exit 1 +exit 0