| OLD | NEW |
| 1 #!/bin/bash -e | 1 #!/bin/bash -e |
| 2 # -*- Mode: Shell-script; tab-width: 4; indent-tabs-mode: nil; -*- | 2 # -*- Mode: Shell-script; tab-width: 4; indent-tabs-mode: nil; -*- |
| 3 | 3 |
| 4 # ***** BEGIN LICENSE BLOCK ***** | 4 # ***** BEGIN LICENSE BLOCK ***** |
| 5 # Version: MPL 1.1/GPL 2.0/LGPL 2.1 | 5 # Version: MPL 1.1/GPL 2.0/LGPL 2.1 |
| 6 # | 6 # |
| 7 # The contents of this file are subject to the Mozilla Public License Version | 7 # The contents of this file are subject to the Mozilla Public License Version |
| 8 # 1.1 (the "License"); you may not use this file except in compliance with | 8 # 1.1 (the "License"); you may not use this file except in compliance with |
| 9 # the License. You may obtain a copy of the License at | 9 # the License. You may obtain a copy of the License at |
| 10 # http://www.mozilla.org/MPL/ | 10 # http://www.mozilla.org/MPL/ |
| (...skipping 23 matching lines...) Expand all Loading... |
| 34 # and other provisions required by the GPL or the LGPL. If you do not delete | 34 # and other provisions required by the GPL or the LGPL. If you do not delete |
| 35 # the provisions above, a recipient may use your version of this file under | 35 # the provisions above, a recipient may use your version of this file under |
| 36 # the terms of any one of the MPL, the GPL or the LGPL. | 36 # the terms of any one of the MPL, the GPL or the LGPL. |
| 37 # | 37 # |
| 38 # ***** END LICENSE BLOCK ***** | 38 # ***** END LICENSE BLOCK ***** |
| 39 | 39 |
| 40 if [[ -z "$TEST_DIR" ]]; then | 40 if [[ -z "$TEST_DIR" ]]; then |
| 41 cat <<EOF | 41 cat <<EOF |
| 42 `basename $0`: error | 42 `basename $0`: error |
| 43 | 43 |
| 44 TEST_DIR, the location of the Sisyphus framework, | 44 TEST_DIR, the location of the Sisyphus framework, |
| 45 is required to be set prior to calling this script. | 45 is required to be set prior to calling this script. |
| 46 EOF | 46 EOF |
| 47 exit 2 | 47 exit 2 |
| 48 fi | 48 fi |
| 49 | 49 |
| 50 if [[ ! -e $TEST_DIR/bin/library.sh ]]; then | 50 if [[ ! -e $TEST_DIR/bin/library.sh ]]; then |
| 51 echo "TEST_DIR=$TEST_DIR" | 51 echo "TEST_DIR=$TEST_DIR" |
| 52 echo "" | 52 echo "" |
| 53 echo "This script requires the Sisyphus testing framework. Please " | 53 echo "This script requires the Sisyphus testing framework. Please " |
| 54 echo "cvs check out the Sisyphys framework from mozilla/testing/sisyphus" | 54 echo "cvs check out the Sisyphys framework from mozilla/testing/sisyphus" |
| 55 echo "and set the environment variable TEST_DIR to the directory where it" | 55 echo "and set the environment variable TEST_DIR to the directory where it" |
| 56 echo "located." | 56 echo "located." |
| 57 echo "" | 57 echo "" |
| 58 | 58 |
| 59 exit 2 | 59 exit 2 |
| 60 fi | 60 fi |
| 61 | 61 |
| 62 # | 62 # |
| 63 # options processing | 63 # options processing |
| 64 # | 64 # |
| 65 usage() | 65 usage() |
| 66 { | 66 { |
| 67 cat <<EOF | 67 cat <<EOF |
| 68 usage: detect-universe.sh -p products -b branches -R repositories -T buildtypes | 68 usage: detect-universe.sh -p products -b branches -R repositories -T buildtypes |
| 69 | 69 |
| 70 Outputs to stdout the universe data for this machine. | 70 Outputs to stdout the universe data for this machine. |
| 71 | 71 |
| 72 variable description | 72 variable description |
| 73 =============== ============================================================ | 73 =============== ============================================================ |
| 74 -p products required. one or more of firefox, thunderbird, js | 74 -p products required. one or more of firefox, thunderbird, fennec, js |
| 75 -b branches required. one or more of 1.8.0, 1.8.1, 1.9.0, 1.9.1 | 75 -b branches required. one or more of supported branches. set library.sh |
| 76 -R repositories required. one or more of CVS, mozilla-central, ... | 76 -R repositories required. one or more of CVS, mozilla-central, ... |
| 77 -T buildtype required. one or more of opt debug | 77 -T buildtype required. one or more of opt debug |
| 78 | 78 |
| 79 if an argument contains more than one value, it must be quoted. | 79 if an argument contains more than one value, it must be quoted. |
| 80 EOF | 80 EOF |
| 81 exit 2 | 81 exit 2 |
| 82 } | 82 } |
| 83 | 83 |
| 84 while getopts "p:b:R:T:" optname | 84 while getopts "p:b:R:T:" optname |
| 85 do | 85 do |
| 86 case $optname in | 86 case $optname in |
| 87 p) | 87 p) |
| 88 products=$OPTARG;; | 88 products=$OPTARG;; |
| 89 b) | 89 b) |
| 90 branches=$OPTARG;; | 90 branches=$OPTARG;; |
| 91 R) | 91 R) |
| 92 repos=$OPTARG;; | 92 repos=$OPTARG;; |
| 93 T) | 93 T) |
| 94 buildtypes=$OPTARG;; | 94 buildtypes=$OPTARG;; |
| 95 esac | 95 esac |
| 96 done | 96 done |
| 97 | 97 |
| 98 if [[ -z "$products" || -z "$branches" || -z "$buildtypes" ]]; then | 98 if [[ -z "$products" || -z "$branches" || -z "$buildtypes" ]]; then |
| 99 usage | 99 usage |
| 100 fi | 100 fi |
| 101 | 101 |
| 102 source $TEST_DIR/bin/library.sh | 102 source $TEST_DIR/bin/library.sh |
| 103 | 103 |
| 104 # convert the numeric speed rating to a prose value | |
| 105 if [[ $TEST_CPUSPEED -lt 4 ]]; then | |
| 106 TEST_CPUSPEED=slow | |
| 107 elif [[ $TEST_CPUSPEED -lt 9 ]]; then | |
| 108 TEST_CPUSPEED=medium | |
| 109 else | |
| 110 TEST_CPUSPEED=fast | |
| 111 fi | |
| 112 | |
| 113 (for product in $products; do | 104 (for product in $products; do |
| 114 for branch in $branches; do | 105 for branch in $branches; do |
| 115 for repo in $repos; do | 106 for repo in $repos; do |
| 116 | 107 |
| 117 if [[ "$branch" == "1.9.1" && $repo == "CVS" ]]; then | 108 if [[ ("$branch" != "1.8.0" && "$branch" != "1.8.1" && "$branch" !=
"1.9.0") && $repo == "CVS" ]]; then |
| 118 continue; | 109 continue; |
| 119 fi | 110 fi |
| 120 | 111 |
| 121 if [[ "$branch" != "1.9.1" && $repo != "CVS" ]]; then | 112 if [[ ("$branch" == "1.8.0" || "$branch" == "1.8.1" || "$branch" ==
"1.9.0") && $repo != "CVS" ]]; then |
| 122 continue | 113 continue |
| 123 fi | 114 fi |
| 124 | 115 |
| 125 » for buildtype in $buildtypes; do | 116 for buildtype in $buildtypes; do |
| 126 » if [[ $product == "js" ]]; then | 117 if [[ $product == "js" ]]; then |
| 127 » » testtype=shell | 118 testtype=shell |
| 128 » else | 119 else |
| 129 » » testtype=browser | 120 testtype=browser |
| 130 » fi | 121 fi |
| 131 » echo "TEST_OS=$OSID, TEST_KERNEL=$TEST_KERNEL, TEST_PROCESSO
RTYPE=$TEST_PROCESSORTYPE, TEST_MEMORY=$TEST_MEMORY, TEST_CPUSPEED=$TEST_CPUSPEE
D, TEST_TIMEZONE=$TEST_TIMEZONE, TEST_BRANCH=$branch, TEST_REPO=$repo, TEST_BUIL
DTYPE=$buildtype, TEST_TYPE=$testtype" | 122 echo "TEST_OS=$OSID, TEST_KERNEL=$TEST_KERNEL, TEST_PROCESSORTYP
E=$TEST_PROCESSORTYPE, TEST_MEMORY=$TEST_MEMORY, TEST_TIMEZONE=$TEST_TIMEZONE, T
EST_BRANCH=$branch, TEST_REPO=$repo, TEST_BUILDTYPE=$buildtype, TEST_TYPE=$testt
ype" |
| 132 » done | 123 done |
| 133 done | 124 done |
| 134 done | 125 done |
| 135 done) | sort -u | 126 done) | sort -u |
| OLD | NEW |