~yolanda.robla/glance/precise-security

« back to all changes in this revision

Viewing changes to run_tests.sh

  • Committer: Bazaar Package Importer
  • Author(s): Chuck Short
  • Date: 2011-04-12 09:52:06 UTC
  • mto: (50.1.2 precise-proposed)
  • mto: This revision was merged to the branch mainline in revision 3.
  • Revision ID: james.westby@ubuntu.com-20110412095206-8ynvol4gw0phuu30
Tags: upstream-2011.2~bzr108
ImportĀ upstreamĀ versionĀ 2011.2~bzr108

Show diffs side-by-side

added added

removed removed

Lines of Context:
6
6
  echo ""
7
7
  echo "  -V, --virtual-env        Always use virtualenv.  Install automatically if not present"
8
8
  echo "  -N, --no-virtual-env     Don't use virtualenv.  Run tests in local environment"
 
9
  echo "  -f, --force              Force a clean re-build of the virtual environment. Useful when dependencies have been added."
9
10
  echo "  -h, --help               Print this usage message"
10
11
  echo ""
11
12
  echo "Note: with no options specified, the script will try to run the tests in a virtual environment,"
14
15
  exit
15
16
}
16
17
 
17
 
function process_options {
18
 
  array=$1
19
 
  elements=${#array[@]}
20
 
  for (( x=0;x<$elements;x++)); do
21
 
    process_option ${array[${x}]}
22
 
  done
23
 
}
24
 
 
25
18
function process_option {
26
 
  option=$1
27
 
  case $option in
 
19
  case "$1" in
28
20
    -h|--help) usage;;
29
21
    -V|--virtual-env) let always_venv=1; let never_venv=0;;
30
22
    -N|--no-virtual-env) let always_venv=0; let never_venv=1;;
 
23
    -f|--force) let force=1;;
 
24
    *) noseargs="$noseargs $1"
31
25
  esac
32
26
}
33
27
 
35
29
with_venv=tools/with_venv.sh
36
30
always_venv=0
37
31
never_venv=0
38
 
options=("$@")
39
 
 
40
 
process_options $options
41
 
 
42
 
if [ $never_venv -eq 1 ]; then
 
32
force=0
 
33
noseargs=
 
34
wrapper=""
 
35
 
 
36
for arg in "$@"; do
 
37
  process_option $arg
 
38
done
 
39
 
 
40
function run_tests {
43
41
  # Just run the test suites in current environment
44
 
  nosetests --logging-clear-handlers
45
 
  exit
46
 
fi
47
 
 
48
 
if [ -e ${venv} ]; then
49
 
  ${with_venv} nosetests --logging-clear-handlers
50
 
else  
51
 
  if [ $always_venv -eq 1 ]; then
52
 
    # Automatically install the virtualenv
53
 
    python tools/install_venv.py
 
42
  ${wrapper} rm -f glance.sqlite
 
43
  ${wrapper} $NOSETESTS 2> run_tests.err.log
 
44
}
 
45
 
 
46
NOSETESTS="python run_tests.py $noseargs"
 
47
 
 
48
if [ $never_venv -eq 0 ]
 
49
then
 
50
  # Remove the virtual environment if --force used
 
51
  if [ $force -eq 1 ]; then
 
52
    echo "Cleaning virtualenv..."
 
53
    rm -rf ${venv}
 
54
  fi
 
55
  if [ -e ${venv} ]; then
 
56
    wrapper="${with_venv}"
54
57
  else
55
 
    echo -e "No virtual environment found...create one? (Y/n) \c"
56
 
    read use_ve
57
 
    if [ "x$use_ve" = "xY" ]; then
58
 
      # Install the virtualenv and run the test suite in it
 
58
    if [ $always_venv -eq 1 ]; then
 
59
      # Automatically install the virtualenv
59
60
      python tools/install_venv.py
 
61
      wrapper="${with_venv}"
60
62
    else
61
 
      nosetests --logging-clear-handlers
62
 
      exit
 
63
      echo -e "No virtual environment found...create one? (Y/n) \c"
 
64
      read use_ve
 
65
      if [ "x$use_ve" = "xY" -o "x$use_ve" = "x" -o "x$use_ve" = "xy" ]; then
 
66
        # Install the virtualenv and run the test suite in it
 
67
        python tools/install_venv.py
 
68
                    wrapper=${with_venv}
 
69
      fi
63
70
    fi
64
71
  fi
65
 
  ${with_venv} nosetests --logging-clear-handlers
66
72
fi
 
73
 
 
74
# FIXME(sirp): bzr version-info is not currently pep-8. This was fixed with
 
75
# lp701898 [1], however, until that version of bzr becomes standard, I'm just
 
76
# excluding the vcsversion.py file
 
77
#
 
78
# [1] https://bugs.launchpad.net/bzr/+bug/701898
 
79
#
 
80
PEP8_EXCLUDE=vcsversion.py
 
81
PEP8_OPTIONS="--exclude=$PEP8_EXCLUDE --repeat --show-pep8 --show-source"
 
82
PEP8_INCLUDE="bin/* glance tests tools setup.py run_tests.py"
 
83
run_tests && pep8 $PEP8_OPTIONS $PEP8_INCLUDE || exit 1