tests: Add channels argument to run-all.sh and start.sh
authorHaim Dreyfuss <haim.dreyfuss@intel.com>
Tue, 10 Jun 2014 17:50:29 +0000 (20:50 +0300)
committerJouni Malinen <j@w1.fi>
Sat, 14 Jun 2014 16:47:51 +0000 (19:47 +0300)
Add an option to run-all.sh and start.sh to get as an argument the
number of concurrent channels that mac80211_hwsim will be loaded with.
To start mac80211_hwsim with more than one channel, the following
parameter should be added to command line: channels=<num_channels>
The default is one channel (no concurrent channels).
The driver should be loaded with multi channel support in order to run
some tests.

Signed-off-by: Haim Dreyfuss <haim.dreyfuss@intel.com>
tests/hwsim/README
tests/hwsim/run-all.sh
tests/hwsim/start.sh

index 734ed9f..d04a862 100644 (file)
@@ -146,6 +146,9 @@ conditions:
 # run normal test cases with Linux tracing
 ./run-all.sh trace
 
+# run normal test cases with multi channel support (see details below)
+./run-all.sh channels=<num of channels>
+
 run-all.sh directs debug logs into the logs subdirectory (or $LOGDIR if
 present in the environment). Log file names include the current UNIX
 timestamp and a postfix to identify the specific log:
@@ -170,6 +173,12 @@ used to specify that all test cases from a single file are to be
 run. Test name as the last command line argument can be specified that a
 single test case is to be run (e.g., "./run-tests.py ap_pmf_required").
 
+Notice that some tests require the driver to support concurrent
+operation on multi channels in order to run. These tests will be skipped
+in case the driver does not support multi channels. To enable support
+for multi channel, the number of supported channel is passed as an
+argument to run-all.sh or start.sh
+
 
 Adding/modifying test cases
 ---------------------------
index 9b556a3..2598557 100755 (executable)
@@ -43,7 +43,14 @@ else
        unset TRACE_ARGS
 fi
 
-if ! ./start.sh $VALGRIND $TRACE; then
+NUM_CH=$1
+if [ x${NUM_CH%=[0-9]*} = "xchannels" ]; then
+       shift
+else
+       unset NUM_CH
+fi
+
+if ! ./start.sh $VALGRIND $TRACE $NUM_CH; then
        if ! [ -z "$LOGBASEDIR" ] ; then
                echo "Could not start test environment" > $LOGDIR/run
        fi
index a130ec1..30a7b01 100755 (executable)
@@ -68,7 +68,16 @@ else
 fi
 
 $DIR/stop.sh
-test -f /proc/modules && sudo modprobe mac80211_hwsim radios=6
+
+TMP=$1
+if [ x${TMP%=[0-9]*} = "xchannels" ]; then
+       NUM_CH=${TMP#channels=}
+       shift
+else
+       NUM_CH=1
+fi
+
+test -f /proc/modules && sudo modprobe mac80211_hwsim radios=6 channels=$NUM_CH
 sudo ifconfig hwsim0 up
 sudo $WLANTEST -i hwsim0 -n $LOGDIR/hwsim0.pcapng -c -dt -L $LOGDIR/hwsim0 &
 for i in 0 1 2; do