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 |