#!/bin/bash # Copyright (c) 2013 The Chromium OS Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. # Runs the lansim unit tests. UNITTESTS=" pyiftun_unittest.py py/tools_unittest.py " # Unittests that require creating a TUN/TAP interface (and thus access to # /dev/net/tun) need to be run as root. ROOT_UNITTESTS=" py/tuntap_unittest.py py/simulator_unittest.py " set -e # Display help/usage message. usage() { cat <&2 exit 1 ;; esac done shift $((OPTIND-1)) if [[ $# > 0 ]]; then echo "Invalid argument: $1" exit 1 fi # Invoke unit test scripts. for unittest_script in $UNITTESTS; do echo "Running $unittest_script:": python ${unittest_script} || test ${force_all} done for unittest_script in $ROOT_UNITTESTS; do echo "Running $unittest_script as root:" sudo PYTHONPATH=${PYTHONPATH} python ${unittest_script} || test ${force_all} done exit 0