зеркало из https://github.com/mozilla/pjs.git
Land sisyphus, bug 383286, r=rcampbell
This commit is contained in:
Родитель
e44dece75a
Коммит
09048939c0
|
@ -0,0 +1,90 @@
|
|||
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; -*- */
|
||||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
*
|
||||
* The contents of this file are subject to the Mozilla Public License Version
|
||||
* 1.1 (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
* http://www.mozilla.org/MPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
* for the specific language governing rights and limitations under the
|
||||
* License.
|
||||
*
|
||||
* The Original Code is The Original Code is Mozilla Automated Testing Code
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* Mozilla Corporation.
|
||||
* Portions created by the Initial Developer are Copyright (C) 2005
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s): Bob Clary <bob@bclary.com>
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
* in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
* of those above. If you wish to allow use of your version of this file only
|
||||
* under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
* use your version of this file under the terms of the MPL, indicate your
|
||||
* decision by deleting the provisions above and replace them with the notice
|
||||
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
* the provisions above, a recipient may use your version of this file under
|
||||
* the terms of any one of the MPL, the GPL or the LGPL.
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
function AppInfo()
|
||||
{
|
||||
// See http://developer.mozilla.org/en/docs/Using_nsIXULAppInfo
|
||||
var appInfo;
|
||||
|
||||
this.vendor = 'unknown';
|
||||
this.name = 'unknown';
|
||||
this.ID = 'unknown';
|
||||
this.version = 'unknown';
|
||||
this.appBuildID = 'unknown';
|
||||
this.platformVersion = 'unknown';
|
||||
this.platformBuildID = 'unknown';
|
||||
|
||||
try
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
|
||||
|
||||
if('@mozilla.org/xre/app-info;1' in Components.classes)
|
||||
{
|
||||
// running under Mozilla 1.8 or later
|
||||
appInfo = Components
|
||||
.classes['@mozilla.org/xre/app-info;1']
|
||||
.getService(Components.interfaces.nsIXULAppInfo);
|
||||
|
||||
this.vendor = appInfo.vendor;
|
||||
this.name = appInfo.name;
|
||||
this.ID = appInfo.ID;
|
||||
this.version = appInfo.version;
|
||||
this.appBuildID = appInfo.appBuildID;
|
||||
this.platformVersion = appInfo.platformVersion;
|
||||
this.platformBuildID = appInfo.platformBuildID;
|
||||
}
|
||||
}
|
||||
catch(e)
|
||||
{
|
||||
}
|
||||
|
||||
if (this.vendor == 'unknown')
|
||||
{
|
||||
var ua = navigator.userAgent;
|
||||
var cap = ua.match(/rv:([\d.ab+]+).*Gecko\/(\d{8,8}) ([\S]+)\/([\d.]+)/);
|
||||
|
||||
if (cap && cap.length == 5)
|
||||
{
|
||||
this.vendor = navigator.vendor ? navigator.vendor : 'Mozilla';
|
||||
this.name = cap[3];
|
||||
this.version = cap[4];
|
||||
this.appBuildID = cap[2] + '00';
|
||||
this.platformVersion = cap[1];
|
||||
this.platformBuildID = this.appBuildID;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,121 @@
|
|||
#!/usr/local/bin/bash -e
|
||||
# -*- Mode: Shell-script; tab-width: 4; indent-tabs-mode: nil; -*-
|
||||
# ***** BEGIN LICENSE BLOCK *****
|
||||
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
#
|
||||
# The contents of this file are subject to the Mozilla Public License Version
|
||||
# 1.1 (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
# http://www.mozilla.org/MPL/
|
||||
#
|
||||
# Software distributed under the License is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
# for the specific language governing rights and limitations under the
|
||||
# License.
|
||||
#
|
||||
# The Original Code is mozilla.org code.
|
||||
#
|
||||
# The Initial Developer of the Original Code is
|
||||
# Mozilla Corporation.
|
||||
# Portions created by the Initial Developer are Copyright (C) 2006.
|
||||
# the Initial Developer. All Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
# Bob Clary <bob@bclary.com>
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the terms of
|
||||
# either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
# in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
# of those above. If you wish to allow use of your version of this file only
|
||||
# under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
# use your version of this file under the terms of the MPL, indicate your
|
||||
# decision by deleting the provisions above and replace them with the notice
|
||||
# and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
# the provisions above, a recipient may use your version of this file under
|
||||
# the terms of any one of the MPL, the GPL or the LGPL.
|
||||
#
|
||||
# ***** END LICENSE BLOCK *****
|
||||
|
||||
TEST_DIR=${TEST_DIR:-/work/mozilla/mozilla.com/test.mozilla.com/www}
|
||||
TEST_BIN=${TEST_BIN:-$TEST_DIR/bin}
|
||||
source ${TEST_BIN}/library.sh
|
||||
|
||||
source $TEST_BIN/set-build-env.sh $@
|
||||
|
||||
case $product in
|
||||
firefox|thunderbird)
|
||||
cd $TREE/mozilla
|
||||
|
||||
if ! make -f client.mk build 2>&1; then
|
||||
error "during build"
|
||||
fi
|
||||
|
||||
case "$OSID" in
|
||||
"mac")
|
||||
if [[ "$buildtype" == "debug" ]]; then
|
||||
if [[ "$product" == "firefox" ]]; then
|
||||
executablepath=$product-$buildtype/dist/FirefoxDebug.app/Contents/MacOS
|
||||
elif [[ "$product" == "thunderbird" ]]; then
|
||||
executablepath=$product-$buildtype/dist/ThunderbirdDebug.app/Contents/MacOS
|
||||
fi
|
||||
else
|
||||
if [[ "$product" == "firefox" ]]; then
|
||||
executablepath=$product-$buildtype/dist/Firefox.app/Contents/MacOS
|
||||
elif [[ "$product" == "thunderbird" ]]; then
|
||||
executablepath=$product-$buildtype/dist/Thunderbird.app/Contents/MacOS
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
"linux")
|
||||
executablepath=$product-$buildtype/dist/bin
|
||||
;;
|
||||
esac
|
||||
|
||||
if [[ "$OSID" != "win32" ]]; then
|
||||
#
|
||||
# patch unix-like startup scripts to exec instead of
|
||||
# forking new processes
|
||||
#
|
||||
executable=`get_executable $product $branch $executablepath`
|
||||
if [[ -z "$executable" ]]; then
|
||||
error "get_executable $product $branch $executablepath returned empty path"
|
||||
fi
|
||||
|
||||
|
||||
executabledir=`dirname $executable`
|
||||
|
||||
# patch to use exec to prevent forked processes
|
||||
cd "$executabledir"
|
||||
if [ -e "$product" ]; then
|
||||
echo "$SCRIPT: patching $product"
|
||||
cp $TEST_BIN/$product.diff .
|
||||
patch -N -p0 < $product.diff
|
||||
fi
|
||||
if [ -e run-mozilla.sh ]; then
|
||||
echo "$SCRIPT: patching run-mozilla.sh"
|
||||
cp $TEST_BIN/run-mozilla.diff .
|
||||
patch -N -p0 < run-mozilla.diff
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
js)
|
||||
cd $TREE/mozilla/js/src
|
||||
|
||||
if [[ $buildtype == "debug" ]]; then
|
||||
export JSBUILDOPT=
|
||||
else
|
||||
export JSBUILDOPT=BUILD_OPT=1
|
||||
fi
|
||||
|
||||
if ! make -f Makefile.ref ${JSBUILDOPT} clean 2>&1; then
|
||||
error "during js/src clean"
|
||||
fi
|
||||
|
||||
if ! make -f Makefile.ref ${JSBUILDOPT} 2>&1; then
|
||||
error "during js/src build"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
|
|
@ -0,0 +1,152 @@
|
|||
#!/usr/local/bin/bash -e
|
||||
# -*- Mode: Shell-script; tab-width: 4; indent-tabs-mode: nil; -*-
|
||||
# ***** BEGIN LICENSE BLOCK *****
|
||||
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
#
|
||||
# The contents of this file are subject to the Mozilla Public License Version
|
||||
# 1.1 (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
# http://www.mozilla.org/MPL/
|
||||
#
|
||||
# Software distributed under the License is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
# for the specific language governing rights and limitations under the
|
||||
# License.
|
||||
#
|
||||
# The Original Code is mozilla.org code.
|
||||
#
|
||||
# The Initial Developer of the Original Code is
|
||||
# Mozilla Corporation.
|
||||
# Portions created by the Initial Developer are Copyright (C) 2006.
|
||||
# the Initial Developer. All Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
# Bob Clary <bob@bclary.com>
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the terms of
|
||||
# either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
# in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
# of those above. If you wish to allow use of your version of this file only
|
||||
# under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
# use your version of this file under the terms of the MPL, indicate your
|
||||
# decision by deleting the provisions above and replace them with the notice
|
||||
# and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
# the provisions above, a recipient may use your version of this file under
|
||||
# the terms of any one of the MPL, the GPL or the LGPL.
|
||||
#
|
||||
# ***** END LICENSE BLOCK *****
|
||||
|
||||
TEST_DIR=${TEST_DIR:-/work/mozilla/mozilla.com/test.mozilla.com/www}
|
||||
TEST_BIN=${TEST_BIN:-$TEST_DIR/bin}
|
||||
source ${TEST_BIN}/library.sh
|
||||
|
||||
TEST_LOG=/dev/null
|
||||
|
||||
trap 'echo -e "\n*** ERROR ***\n\b" && tail $TEST_LOG' ERR
|
||||
|
||||
#
|
||||
# options processing
|
||||
#
|
||||
options="p:b:B:T:e:d:"
|
||||
function usage()
|
||||
{
|
||||
cat<<EOF
|
||||
usage:
|
||||
$SCRIPT -p products -b branches -B buildcommands -T buildtypes [-e extra]
|
||||
|
||||
variable description
|
||||
=============== ===========================================================
|
||||
-p products required. one or more of firefox thunderbird
|
||||
-b branches required. one or more of 1.8.0 1.8.1 1.9.0
|
||||
-B buildcommands required. one or more of clean checkout build
|
||||
-T buildtypes required. one or more of opt debug
|
||||
-e extra optional. extra qualifier to pick build tree and mozconfig.
|
||||
-d datafiles optional. one or more filenames of files containing
|
||||
environment variable definitions to be included.
|
||||
|
||||
note that the environment variables should have the same
|
||||
names as in the "variable" column.
|
||||
EOF
|
||||
exit 2
|
||||
}
|
||||
|
||||
unset products branches buildcommands buildtypes extra extraflag datafiles
|
||||
|
||||
while getopts $options optname ;
|
||||
do
|
||||
case $optname in
|
||||
p) products="$OPTARG";;
|
||||
b) branches="$OPTARG";;
|
||||
B) buildcommands="$OPTARG";;
|
||||
T) buildtypes="$OPTARG";;
|
||||
e) extra="-$OPTARG"
|
||||
extraflag="-e $OPTARG";;
|
||||
d) datafiles=$OPTARG;;
|
||||
esac
|
||||
done
|
||||
|
||||
# include environment variables
|
||||
if [[ -n "$datafiles" ]]; then
|
||||
for datafile in $datafiles; do
|
||||
cat $datafile | sed 's|^|data: |'
|
||||
source $datafile
|
||||
done
|
||||
fi
|
||||
|
||||
if [[ -z "$products" || -z "$branches" || -z "$buildcommands" || \
|
||||
-z "$buildtypes" ]]; then
|
||||
usage
|
||||
fi
|
||||
|
||||
# clean first in case checkout changes the configuration
|
||||
if echo "$buildcommands" | grep -iq clean; then
|
||||
for product in $products; do
|
||||
for branch in $branches; do
|
||||
for buildtype in $buildtypes; do
|
||||
|
||||
TEST_DATE=`date -u +%Y-%m-%d-%H-%M-%S``date +%z`
|
||||
TEST_LOG="${TEST_DIR}/results/${TEST_DATE},$product,$branch$extra,$buildtype,$OSID,${MACHINE},clean.log"
|
||||
|
||||
echo "writing results to $TEST_LOG"
|
||||
|
||||
clean.sh -p $product -b $branch -T $buildtype $extraflag > $TEST_LOG 2>&1
|
||||
|
||||
done
|
||||
done
|
||||
done
|
||||
fi
|
||||
|
||||
# if checkout, ignore buildtypes
|
||||
if echo "$buildcommands" | grep -iq checkout; then
|
||||
for product in $products; do
|
||||
for branch in $branches; do
|
||||
|
||||
TEST_DATE=`date -u +%Y-%m-%d-%H-%M-%S``date +%z`
|
||||
TEST_LOG="${TEST_DIR}/results/${TEST_DATE},$product,$branch$extra,$buildtype,$OSID,${MACHINE},checkout.log"
|
||||
|
||||
echo "writing results to $TEST_LOG"
|
||||
|
||||
|
||||
checkout.sh -p $product -b $branch -T opt $extraflag > $TEST_LOG 2>&1
|
||||
|
||||
done
|
||||
done
|
||||
fi
|
||||
|
||||
if echo "$buildcommands" | grep -iq build; then
|
||||
for product in $products; do
|
||||
for branch in $branches; do
|
||||
for buildtype in $buildtypes; do
|
||||
|
||||
TEST_DATE=`date -u +%Y-%m-%d-%H-%M-%S``date +%z`
|
||||
TEST_LOG="${TEST_DIR}/results/${TEST_DATE},$product,$branch$extra,$buildtype,$OSID,${MACHINE}-build.log"
|
||||
|
||||
echo "writing results to $TEST_LOG"
|
||||
|
||||
build.sh -p $product -b $branch -T $buildtype $extraflag > $TEST_LOG 2>&1
|
||||
done
|
||||
done
|
||||
done
|
||||
fi
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>Get Build Information</title>
|
||||
<script type="text/javascript" src="appinfo.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Get Build Information</h1>
|
||||
<script type="text/javascript">
|
||||
|
||||
var appInfo = new AppInfo();
|
||||
|
||||
document.write(appInfo.toSource());
|
||||
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,140 @@
|
|||
#!/usr/local/bin/bash -e
|
||||
# -*- Mode: Shell-script; tab-width: 4; indent-tabs-mode: nil; -*-
|
||||
# ***** BEGIN LICENSE BLOCK *****
|
||||
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
#
|
||||
# The contents of this file are subject to the Mozilla Public License Version
|
||||
# 1.1 (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
# http://www.mozilla.org/MPL/
|
||||
#
|
||||
# Software distributed under the License is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
# for the specific language governing rights and limitations under the
|
||||
# License.
|
||||
#
|
||||
# The Original Code is mozilla.org code.
|
||||
#
|
||||
# The Initial Developer of the Original Code is
|
||||
# Mozilla Corporation.
|
||||
# Portions created by the Initial Developer are Copyright (C) 2006.
|
||||
# the Initial Developer. All Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
# Bob Clary <bob@bclary.com>
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the terms of
|
||||
# either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
# in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
# of those above. If you wish to allow use of your version of this file only
|
||||
# under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
# use your version of this file under the terms of the MPL, indicate your
|
||||
# decision by deleting the provisions above and replace them with the notice
|
||||
# and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
# the provisions above, a recipient may use your version of this file under
|
||||
# the terms of any one of the MPL, the GPL or the LGPL.
|
||||
#
|
||||
# ***** END LICENSE BLOCK *****
|
||||
|
||||
TEST_DIR=${TEST_DIR:-/work/mozilla/mozilla.com/test.mozilla.com/www}
|
||||
TEST_BIN=${TEST_BIN:-$TEST_DIR/bin}
|
||||
source ${TEST_BIN}/library.sh
|
||||
|
||||
#
|
||||
# options processing
|
||||
#
|
||||
options="p:b:x:N:d:"
|
||||
function usage()
|
||||
{
|
||||
cat <<EOF
|
||||
usage:
|
||||
$SCRIPT -p product -b branch -x executablepath -N profilename
|
||||
[-d datafiles]
|
||||
|
||||
variable description
|
||||
=============== ============================================================
|
||||
-p product required. firefox|thunderbird
|
||||
-b branch required. 1.8.0|1.8.1|1.9.0
|
||||
-x executablepath required. directory-tree containing executable named
|
||||
'product'
|
||||
-N profilename required. name of profile to be used
|
||||
-d datafiles optional. one or more filenames of files containing
|
||||
environment variable definitions to be included.
|
||||
|
||||
note that the environment variables should have the same
|
||||
names as in the "variable" column.
|
||||
|
||||
Checks if the Spider extension is installed either in the named profile
|
||||
or as a global extension, by attempting up to 3 times to launch the Spider.
|
||||
|
||||
If Spider fails to launch, the script returns exit code 66.
|
||||
|
||||
EOF
|
||||
exit 1
|
||||
}
|
||||
|
||||
unset product branch executablepath profilename datafiles
|
||||
|
||||
while getopts $options optname ;
|
||||
do
|
||||
case $optname in
|
||||
p) product=$OPTARG;;
|
||||
b) branch=$OPTARG;;
|
||||
x) executablepath=$OPTARG;;
|
||||
N) profilename=$OPTARG;;
|
||||
d) datafiles=$OPTARG;;
|
||||
esac
|
||||
done
|
||||
|
||||
# include environment variables
|
||||
if [[ -n "$datafiles" ]]; then
|
||||
for datafile in $datafiles; do
|
||||
cat $datafile | sed 's|^|data: |'
|
||||
source $datafile
|
||||
done
|
||||
fi
|
||||
|
||||
if [[ -z "$product" || -z "$branch" || -z "$executablepath" || -z "$profilename" ]];
|
||||
then
|
||||
usage
|
||||
fi
|
||||
|
||||
if [[ "$product" != "firefox" && "$product" != "thunderbird" ]]; then
|
||||
error "product \"$product\" must be one of firefox or thunderbird"
|
||||
fi
|
||||
|
||||
if [[ "$branch" != "1.8.0" && "$branch" != "1.8.1" && "$branch" != "1.9.0" ]];
|
||||
then
|
||||
error "branch \"$branch\" must be one of 1.8.0, 1.8.1, 1.9.0"
|
||||
fi
|
||||
|
||||
executable=`get_executable $product $branch $executablepath`
|
||||
|
||||
if [[ -z "$executable" ]]; then
|
||||
error "get_executable $product $branch $executablepath returned empty path"
|
||||
fi
|
||||
|
||||
if [[ ! -x "$executable" ]]; then
|
||||
error "executable \"$executable\" is not executable"
|
||||
fi
|
||||
|
||||
if echo "$profilename" | egrep -qiv '[a-z0-9_]'; then
|
||||
error "profile name must consist of letters, digits or _"
|
||||
fi
|
||||
|
||||
echo # attempt to force Spider to load
|
||||
|
||||
tries=1
|
||||
while ! $TEST_BIN/timed_run.py ${TEST_STARTUP_TIMEOUT} "Start Spider: try $tries" \
|
||||
"$executable" -P "$profilename" \
|
||||
-spider -start -quit \
|
||||
-uri "http://${TEST_HTTP}/bin/start-spider.html" \
|
||||
-hook "http://${TEST_HTTP}/bin/userhook-checkspider.js"; do
|
||||
let tries=tries+1
|
||||
if [ "$tries" -gt 3 ]; then
|
||||
echo "Failed to start spider. Exiting..."
|
||||
exit 66
|
||||
fi
|
||||
done
|
||||
|
|
@ -0,0 +1,97 @@
|
|||
#!/usr/local/bin/bash -e
|
||||
# -*- Mode: Shell-script; tab-width: 4; indent-tabs-mode: nil; -*-
|
||||
# ***** BEGIN LICENSE BLOCK *****
|
||||
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
#
|
||||
# The contents of this file are subject to the Mozilla Public License Version
|
||||
# 1.1 (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
# http://www.mozilla.org/MPL/
|
||||
#
|
||||
# Software distributed under the License is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
# for the specific language governing rights and limitations under the
|
||||
# License.
|
||||
#
|
||||
# The Original Code is mozilla.org code.
|
||||
#
|
||||
# The Initial Developer of the Original Code is
|
||||
# Mozilla Corporation.
|
||||
# Portions created by the Initial Developer are Copyright (C) 2006.
|
||||
# the Initial Developer. All Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
# Bob Clary <bob@bclary.com>
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the terms of
|
||||
# either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
# in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
# of those above. If you wish to allow use of your version of this file only
|
||||
# under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
# use your version of this file under the terms of the MPL, indicate your
|
||||
# decision by deleting the provisions above and replace them with the notice
|
||||
# and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
# the provisions above, a recipient may use your version of this file under
|
||||
# the terms of any one of the MPL, the GPL or the LGPL.
|
||||
#
|
||||
# ***** END LICENSE BLOCK *****
|
||||
|
||||
TEST_DIR=${TEST_DIR:-/work/mozilla/mozilla.com/test.mozilla.com/www}
|
||||
TEST_BIN=${TEST_BIN:-$TEST_DIR/bin}
|
||||
source ${TEST_BIN}/library.sh
|
||||
|
||||
source /work/mozilla/mozilla.com/test.mozilla.com/www/bin/set-build-env.sh $@
|
||||
|
||||
if [[ -z "$TREE" ]]; then
|
||||
error "source tree not specified!"
|
||||
fi
|
||||
|
||||
cd $TREE
|
||||
|
||||
case $product in
|
||||
firefox|thunderbird)
|
||||
if [[ ! ( -d mozilla && \
|
||||
-e mozilla/client.mk && \
|
||||
-e "mozilla/$project/config/mozconfig" ) ]]; then
|
||||
if ! cvs -z3 -q co $BRANCH_CO_FLAGS \
|
||||
mozilla/client.mk mozilla/$project/config/mozconfig; then
|
||||
error "during checkout of mozconfig"
|
||||
fi
|
||||
fi
|
||||
|
||||
cd mozilla
|
||||
|
||||
if ! make -f client.mk checkout 2>&1; then
|
||||
error "during checkout of tree"
|
||||
fi
|
||||
;;
|
||||
js)
|
||||
if [[ ! ( -d mozilla && \
|
||||
-e mozilla/js && \
|
||||
-e mozilla/js/src ) ]]; then
|
||||
cvs -z3 -q co mozilla/js/src
|
||||
fi
|
||||
|
||||
cd mozilla/js/src
|
||||
|
||||
if ! cvs -z3 -q update -d -P 2>&1; then
|
||||
error "during checkout of js/src"
|
||||
fi
|
||||
|
||||
if ! cvs -z3 -q update -d -P -A editline config 2>&1; then
|
||||
error "during checkout of js/src"
|
||||
fi
|
||||
# end for js shell
|
||||
;;
|
||||
*)
|
||||
error "unknown product $product"
|
||||
;;
|
||||
esac
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,62 @@
|
|||
#!/usr/local/bin/bash -e
|
||||
# -*- Mode: Shell-script; tab-width: 4; indent-tabs-mode: nil; -*-
|
||||
# ***** BEGIN LICENSE BLOCK *****
|
||||
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
#
|
||||
# The contents of this file are subject to the Mozilla Public License Version
|
||||
# 1.1 (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
# http://www.mozilla.org/MPL/
|
||||
#
|
||||
# Software distributed under the License is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
# for the specific language governing rights and limitations under the
|
||||
# License.
|
||||
#
|
||||
# The Original Code is mozilla.org code.
|
||||
#
|
||||
# The Initial Developer of the Original Code is
|
||||
# Mozilla Corporation.
|
||||
# Portions created by the Initial Developer are Copyright (C) 2006.
|
||||
# the Initial Developer. All Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
# Bob Clary <bob@bclary.com>
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the terms of
|
||||
# either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
# in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
# of those above. If you wish to allow use of your version of this file only
|
||||
# under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
# use your version of this file under the terms of the MPL, indicate your
|
||||
# decision by deleting the provisions above and replace them with the notice
|
||||
# and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
# the provisions above, a recipient may use your version of this file under
|
||||
# the terms of any one of the MPL, the GPL or the LGPL.
|
||||
#
|
||||
# ***** END LICENSE BLOCK *****
|
||||
|
||||
TEST_DIR=${TEST_DIR:-/work/mozilla/mozilla.com/test.mozilla.com/www}
|
||||
TEST_BIN=${TEST_BIN:-$TEST_DIR/bin}
|
||||
source ${TEST_BIN}/library.sh
|
||||
|
||||
source /work/mozilla/mozilla.com/test.mozilla.com/www/bin/set-build-env.sh $@
|
||||
|
||||
case $product in
|
||||
firefox|thunderbird)
|
||||
cd $TREE/mozilla
|
||||
|
||||
if ! make -f client.mk distclean 2>&1; then
|
||||
error "during client.mk clean"
|
||||
fi
|
||||
;;
|
||||
|
||||
js)
|
||||
cd $TREE/mozilla/js/src
|
||||
|
||||
if ! make -f Makefile.ref clean 2>&1; then
|
||||
error "during SpiderMonkey clean"
|
||||
fi
|
||||
;;
|
||||
esac
|
|
@ -0,0 +1,50 @@
|
|||
#!/bin/bash -e
|
||||
|
||||
delim=,
|
||||
|
||||
while getopts "d:" optname;
|
||||
do
|
||||
case $optname in
|
||||
d) delim=$OPTARG;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [[ $OPTIND -gt 1 ]]; then
|
||||
shift 2
|
||||
fi
|
||||
|
||||
|
||||
if [[ -n "$4" ]]; then
|
||||
for a in $1; do for b in $2; do for c in $3; do for d in $4; do echo $a$delim$b$delim$c$delim$d; done; done; done; done
|
||||
elif [[ -n "$3" ]]; then
|
||||
for a in $1; do for b in $2; do for c in $3; do echo $a$delim$b$delim$c; done; done; done
|
||||
elif [[ -n "$2" ]]; then
|
||||
for a in $1; do for b in $2; do echo $a$delim$b; done; done
|
||||
elif [[ -n "$1" ]]; then
|
||||
for a in $1; do echo $a; done
|
||||
else
|
||||
cat<<EOF
|
||||
usage: combo.sh [-d delim] list1 [list2 [list3 [list4]]]
|
||||
|
||||
output combinations of items in each list using delim as the delimiter
|
||||
|
||||
-d delim specifies the delimiter. The default is comma (,).
|
||||
|
||||
$combo.sh "a b"
|
||||
a
|
||||
b
|
||||
|
||||
combo.ah "a b" "1 2"
|
||||
a,1
|
||||
a,2
|
||||
b,1
|
||||
b,2
|
||||
|
||||
combo.ah -d "-" "a b" "1 2"
|
||||
a-1
|
||||
a-2
|
||||
b-1
|
||||
b-2
|
||||
|
||||
EOF
|
||||
fi
|
|
@ -0,0 +1,119 @@
|
|||
#!/usr/local/bin/bash -e
|
||||
# -*- Mode: Shell-script; tab-width: 4; indent-tabs-mode: nil; -*-
|
||||
# ***** BEGIN LICENSE BLOCK *****
|
||||
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
#
|
||||
# The contents of this file are subject to the Mozilla Public License Version
|
||||
# 1.1 (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
# http://www.mozilla.org/MPL/
|
||||
#
|
||||
# Software distributed under the License is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
# for the specific language governing rights and limitations under the
|
||||
# License.
|
||||
#
|
||||
# The Original Code is mozilla.org code.
|
||||
#
|
||||
# The Initial Developer of the Original Code is
|
||||
# Mozilla Corporation.
|
||||
# Portions created by the Initial Developer are Copyright (C) 2006.
|
||||
# the Initial Developer. All Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
# Bob Clary <bob@bclary.com>
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the terms of
|
||||
# either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
# in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
# of those above. If you wish to allow use of your version of this file only
|
||||
# under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
# use your version of this file under the terms of the MPL, indicate your
|
||||
# decision by deleting the provisions above and replace them with the notice
|
||||
# and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
# the provisions above, a recipient may use your version of this file under
|
||||
# the terms of any one of the MPL, the GPL or the LGPL.
|
||||
#
|
||||
# ***** END LICENSE BLOCK *****
|
||||
|
||||
TEST_DIR=${TEST_DIR:-/work/mozilla/mozilla.com/test.mozilla.com/www}
|
||||
TEST_BIN=${TEST_BIN:-$TEST_DIR/bin}
|
||||
source ${TEST_BIN}/library.sh
|
||||
|
||||
#
|
||||
# options processing
|
||||
#
|
||||
options="d:n"
|
||||
function usage()
|
||||
{
|
||||
cat <<EOF
|
||||
usage:
|
||||
$SCRIPT -d directory [-n]
|
||||
|
||||
-d directory directory to be created.
|
||||
-n never prompt when removing existing directory.
|
||||
|
||||
Attempts to safely create an empty directory. If -n is not
|
||||
specified, the script will prompt before deleting any files
|
||||
or directories. If -n is specified, it will not prompt.
|
||||
|
||||
The safety measures include refusing to run if run by user
|
||||
root and by refusing to create directories unless there are
|
||||
a subdirectory of /tmp or have at least two ancestor
|
||||
directories... /grandparent/parent/child.
|
||||
|
||||
******************** WARNING ********************
|
||||
This script will destroy existing directories and
|
||||
their contents. It can potentially wipe out your
|
||||
disk. Use with caution.
|
||||
******************** WARNING ********************
|
||||
|
||||
EOF
|
||||
exit 2
|
||||
}
|
||||
|
||||
unset directory
|
||||
|
||||
rmopt="-i"
|
||||
|
||||
while getopts $options optname ;
|
||||
do
|
||||
case $optname in
|
||||
d) directory=$OPTARG;;
|
||||
n) unset rmopt;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [[ -z $directory ]]
|
||||
then
|
||||
usage
|
||||
fi
|
||||
|
||||
if [[ `whoami` == "root" ]]; then
|
||||
error "can not be run as root"
|
||||
fi
|
||||
|
||||
# get the cannonical name directory name
|
||||
mkdir -p "$directory"
|
||||
if ! pushd "$directory" > /dev/null ; then
|
||||
error "$directory is not accessible"
|
||||
fi
|
||||
directory=`pwd`
|
||||
popd > /dev/null
|
||||
|
||||
if [[ "$directory" == "/" ]]; then
|
||||
error "directory $directory can not be root"
|
||||
fi
|
||||
|
||||
parent=`dirname "$directory"`
|
||||
grandparent=`dirname "$parent"`
|
||||
|
||||
if [[ "$parent" != "/tmp" && ( "$parent" == "/" || "$grandparent" == "/" ) ]]; then
|
||||
error "directory $directory can not be a subdirectory of $parent"
|
||||
fi
|
||||
|
||||
|
||||
# clean the directory if requested
|
||||
rm -fR $rmopt $directory
|
||||
mkdir -p "$directory"
|
|
@ -0,0 +1,155 @@
|
|||
#!/usr/local/bin/bash -e
|
||||
# -*- Mode: Shell-script; tab-width: 4; indent-tabs-mode: nil; -*-
|
||||
# ***** BEGIN LICENSE BLOCK *****
|
||||
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
#
|
||||
# The contents of this file are subject to the Mozilla Public License Version
|
||||
# 1.1 (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
# http://www.mozilla.org/MPL/
|
||||
#
|
||||
# Software distributed under the License is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
# for the specific language governing rights and limitations under the
|
||||
# License.
|
||||
#
|
||||
# The Original Code is mozilla.org code.
|
||||
#
|
||||
# The Initial Developer of the Original Code is
|
||||
# Mozilla Corporation.
|
||||
# Portions created by the Initial Developer are Copyright (C) 2006.
|
||||
# the Initial Developer. All Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
# Bob Clary <bob@bclary.com>
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the terms of
|
||||
# either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
# in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
# of those above. If you wish to allow use of your version of this file only
|
||||
# under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
# use your version of this file under the terms of the MPL, indicate your
|
||||
# decision by deleting the provisions above and replace them with the notice
|
||||
# and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
# the provisions above, a recipient may use your version of this file under
|
||||
# the terms of any one of the MPL, the GPL or the LGPL.
|
||||
#
|
||||
# ***** END LICENSE BLOCK *****
|
||||
|
||||
TEST_DIR=${TEST_DIR:-/work/mozilla/mozilla.com/test.mozilla.com/www}
|
||||
TEST_BIN=${TEST_BIN:-$TEST_DIR/bin}
|
||||
source ${TEST_BIN}/library.sh
|
||||
|
||||
#
|
||||
# options processing
|
||||
#
|
||||
options="p:b:x:D:N:L:U:d:"
|
||||
function usage()
|
||||
{
|
||||
cat <<EOF
|
||||
usage:
|
||||
$SCRIPT -p product -b branch -x executablepath -D directory -N profilename
|
||||
[-L profiletemplate] [-U user] [-d datafiles]
|
||||
|
||||
variable description
|
||||
=============== ============================================================
|
||||
-p product required. firefox|thunderbird
|
||||
-b branch required. 1.8.0|1.8.1|1.9.0
|
||||
-x executablepath required. directory-tree containing executable 'product'
|
||||
-D directory required. directory where profile is to be created.
|
||||
-N profilename required. profile name
|
||||
-L profiletemplate optional. location of a template profile to be used.
|
||||
-U user optional. user.js preferences file.
|
||||
-d datafiles optional. one or more filenames of files containing
|
||||
environment variable definitions to be included.
|
||||
|
||||
note that the environment variables should have the same
|
||||
names as in the "variable" column.
|
||||
EOF
|
||||
exit 1
|
||||
}
|
||||
|
||||
unset product branch executablepath directory profilename profiletemplate user datafiles
|
||||
|
||||
while getopts $options optname ;
|
||||
do
|
||||
case $optname in
|
||||
p) product=$OPTARG;;
|
||||
b) branch=$OPTARG;;
|
||||
x) executablepath=$OPTARG;;
|
||||
D) directory=$OPTARG;;
|
||||
N) profilename=$OPTARG;;
|
||||
L) profiletemplate=$OPTARG;;
|
||||
U) user=$OPTARG;;
|
||||
d) datafiles=$OPTARG;;
|
||||
esac
|
||||
done
|
||||
|
||||
# include environment variables
|
||||
if [[ -n "$datafiles" ]]; then
|
||||
for datafile in $datafiles; do
|
||||
cat $datafile | sed 's|^|data: |'
|
||||
source $datafile
|
||||
done
|
||||
fi
|
||||
|
||||
if [[ -z "$product" || -z "$branch" || -z "$executablepath" || \
|
||||
-z "$directory" || -z "$profilename" ]]; then
|
||||
usage
|
||||
fi
|
||||
|
||||
if [[ "$product" != "firefox" && "$product" != "thunderbird" ]]; then
|
||||
error "product \"$product\" must be one of firefox or thunderbird"
|
||||
fi
|
||||
|
||||
if [[ "$branch" != "1.8.0" && "$branch" != "1.8.1" && "$branch" != "1.9.0" ]];
|
||||
then
|
||||
error "branch \"$branch\" must be one of 1.8.0, 1.8.1, 1.9.0"
|
||||
fi
|
||||
|
||||
executable=`get_executable $product $branch $executablepath`
|
||||
|
||||
if [[ -z "$executable" ]]; then
|
||||
error "get_executable $product $branch $executablepath returned empty path"
|
||||
fi
|
||||
|
||||
if [[ ! -x "$executable" ]]; then
|
||||
error "executable \"$executable\" is not executable"
|
||||
fi
|
||||
|
||||
$TEST_BIN/create-directory.sh -d "$directory" -n
|
||||
|
||||
if echo "$profilename" | egrep -qiv '[a-z0-9_]'; then
|
||||
error "profile name \"$profilename\" must consist of letters, digits or _"
|
||||
fi
|
||||
|
||||
if [ $OSID == "win32" ]; then
|
||||
directoryospath=`cygpath -a -w $directory`
|
||||
if [[ -z "$directoryospath" ]]; then
|
||||
error "unable to convert unix path to windows path"
|
||||
fi
|
||||
else
|
||||
directoryospath="$directory"
|
||||
fi
|
||||
|
||||
echo "creating profile $profilename in directory $directory"
|
||||
|
||||
if ! $TEST_BIN/timed_run.py ${TEST_STARTUP_TIMEOUT} "-" $executable -CreateProfile "$profilename $directoryospath"; then
|
||||
error "creating profile $directory"
|
||||
fi
|
||||
|
||||
if [[ -n $profiletemplate ]]; then
|
||||
if [[ ! -d $profiletemplate ]]; then
|
||||
error "profile template directory $profiletemplate does not exist"
|
||||
fi
|
||||
echo "copying template profile $profiletemplate to $directory"
|
||||
cp -R $profiletemplate/* $directory
|
||||
fi
|
||||
|
||||
if [[ ! -z $user ]]; then
|
||||
cp $user $directory/user.js
|
||||
fi
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,132 @@
|
|||
#!/usr/local/bin/bash -e
|
||||
# -*- Mode: Shell-script; tab-width: 4; indent-tabs-mode: nil; -*-
|
||||
# ***** BEGIN LICENSE BLOCK *****
|
||||
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
#
|
||||
# The contents of this file are subject to the Mozilla Public License Version
|
||||
# 1.1 (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
# http://www.mozilla.org/MPL/
|
||||
#
|
||||
# Software distributed under the License is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
# for the specific language governing rights and limitations under the
|
||||
# License.
|
||||
#
|
||||
# The Original Code is mozilla.org code.
|
||||
#
|
||||
# The Initial Developer of the Original Code is
|
||||
# Mozilla Corporation.
|
||||
# Portions created by the Initial Developer are Copyright (C) 2005.
|
||||
# the Initial Developer. All Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
# Bob Clary <bob@bclary.com>
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the terms of
|
||||
# either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
# in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
# of those above. If you wish to allow use of your version of this file only
|
||||
# under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
# use your version of this file under the terms of the MPL, indicate your
|
||||
# decision by deleting the provisions above and replace them with the notice
|
||||
# and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
# the provisions above, a recipient may use your version of this file under
|
||||
# the terms of any one of the MPL, the GPL or the LGPL.
|
||||
#
|
||||
# ***** END LICENSE BLOCK *****
|
||||
|
||||
args=$@
|
||||
script=`basename $0`
|
||||
|
||||
#
|
||||
# options processing
|
||||
#
|
||||
options="u:c:f:t:d:"
|
||||
function usage()
|
||||
{
|
||||
cat <<EOF
|
||||
$SCRIPT $args
|
||||
|
||||
usage:
|
||||
$SCRIPT -u url [-c credentials] -f filepath [-t timeout] [-d datafiles]
|
||||
|
||||
variable description
|
||||
=============== ============================================================
|
||||
-u url required. url to download build from
|
||||
-c credentials optional. username:password
|
||||
-f filepath required. path to filename to store downloaded file
|
||||
-t timeout optional. timeout in seconds before download fails.
|
||||
default 300 seconds
|
||||
-d datafiles optional. one or more filenames of files containing
|
||||
environment variable definitions to be included.
|
||||
|
||||
note that the environment variables should have the same
|
||||
names as in the "variable" column.
|
||||
|
||||
downloads file from url with optional authentication credentials
|
||||
saving the file to filepath. If the path to the file does not exist,
|
||||
it is created. If the download takes longer than timeout seconds,
|
||||
the download is cancelled.
|
||||
|
||||
EOF
|
||||
exit 2
|
||||
}
|
||||
|
||||
unset url credentials filepath timeout datafiles
|
||||
|
||||
while getopts $options optname ;
|
||||
do
|
||||
case $optname in
|
||||
u) url=$OPTARG;;
|
||||
c) credentials=$OPTARG;;
|
||||
f) filepath=$OPTARG;;
|
||||
t) timeout=$OPTARG;;
|
||||
d) datafiles=$OPTARG;;
|
||||
esac
|
||||
done
|
||||
|
||||
# include environment variables
|
||||
if [[ -n "$datafiles" ]]; then
|
||||
for datafile in $datafiles; do
|
||||
cat $datafile | sed 's|^|data: |'
|
||||
source $datafile
|
||||
done
|
||||
fi
|
||||
|
||||
if [[ -z $url || -z $filepath ]]
|
||||
then
|
||||
usage
|
||||
fi
|
||||
|
||||
if [[ -n "$credentials" ]]; then
|
||||
auth="--user $credentials"
|
||||
fi
|
||||
|
||||
timeout=${timeout:-300}
|
||||
|
||||
|
||||
path=`dirname $filepath`
|
||||
|
||||
if [[ -z "$path" ]]; then
|
||||
echo "$SCRIPT: ERROR filepath path is empty"
|
||||
exit 2
|
||||
fi
|
||||
|
||||
echo "url=$url filepath=$filepath credentials=$credentials timeout=$timeout"
|
||||
|
||||
# curl options
|
||||
# -S show error if failure
|
||||
# -s silent mode
|
||||
# -L follow 3XX redirections
|
||||
# -m $timeout time out
|
||||
# -D - dump headers to stdout
|
||||
# --create-dirs create path if needed
|
||||
|
||||
if ! curl -LsS -m $timeout "$url" -D - --create-dirs -o $filepath $auth; then
|
||||
echo "$SCRIPT: FAIL Unable to download $url"
|
||||
exit 2
|
||||
fi
|
||||
|
||||
|
|
@ -0,0 +1,97 @@
|
|||
#!/usr/bin/perl
|
||||
# -*- Mode: Perl; tab-width: 4; indent-tabs-mode: nil; -*-
|
||||
# ***** BEGIN LICENSE BLOCK *****
|
||||
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
#
|
||||
# The contents of this file are subject to the Mozilla Public License Version
|
||||
# 1.1 (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
# http://www.mozilla.org/MPL/
|
||||
#
|
||||
# Software distributed under the License is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
# for the specific language governing rights and limitations under the
|
||||
# License.
|
||||
#
|
||||
# The Original Code is Mozilla Automated Testing Code.
|
||||
#
|
||||
# The Initial Developer of the Original Code is
|
||||
# Mozilla Corporation.
|
||||
# Portions created by the Initial Developer are Copyright (C) 2005
|
||||
# the Initial Developer. All Rights Reserved.
|
||||
#
|
||||
# Contributor(s): Bob Clary <bob@bclary.com>
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the terms of
|
||||
# either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
# in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
# of those above. If you wish to allow use of your version of this file only
|
||||
# under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
# use your version of this file under the terms of the MPL, indicate your
|
||||
# decision by deleting the provisions above and replace them with the notice
|
||||
# and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
# the provisions above, a recipient may use your version of this file under
|
||||
# the terms of any one of the MPL, the GPL or the LGPL.
|
||||
#
|
||||
# ***** END LICENSE BLOCK *****
|
||||
use URI::Escape;
|
||||
use lib "$ENV{HOME}/projects/mozilla.com/test.mozilla.com/www/bin/";
|
||||
|
||||
my $hook = shift @ARGV || usage("hook");
|
||||
my $sitelist = shift @ARGV || usage("sitelist");
|
||||
|
||||
open SITES, "<$sitelist" || die "unable to open $sitelist\n";
|
||||
|
||||
my @sites = <SITES>;
|
||||
|
||||
close SITES;
|
||||
|
||||
my $site;
|
||||
|
||||
my $chromeurl;
|
||||
my $testUrl;
|
||||
|
||||
print "<html><body>\n";
|
||||
|
||||
foreach $site (@sites)
|
||||
{
|
||||
|
||||
chomp $site;
|
||||
|
||||
my $spider = "chrome://spider/content/spider.xul?" .
|
||||
"depth=0&timeout=120&waittime=5&hooksignal=on&autostart=on&autoquit=on&javascripterrors=off&" .
|
||||
"javascriptwarnings=off&chromeerrors=on&xblerrors=on&csserrors=off&" .
|
||||
"scripturl=" .
|
||||
uri_escape("http://" .
|
||||
$ENV{TEST_HTTP} .
|
||||
$hook) .
|
||||
"&" .
|
||||
"url=" . uri_escape(uri_escape($site));
|
||||
|
||||
print "<a href=\"$spider\">$site\</a><br>\n";
|
||||
}
|
||||
print "</html>\n";
|
||||
|
||||
sub usage
|
||||
{
|
||||
my $arg = shift @_;
|
||||
|
||||
print <<USAGE;
|
||||
|
||||
Error in $arg.
|
||||
|
||||
Usage: each-to-html.pl hook sitelist
|
||||
|
||||
Create an HTML page containing links to invoke Spider with the
|
||||
appropriate URL and parameters.
|
||||
|
||||
hook - path to userhook script
|
||||
sitelist - path to text file containing list of sites,
|
||||
one to a line
|
||||
USAGE
|
||||
|
||||
exit 2;
|
||||
}
|
||||
|
||||
1;
|
|
@ -0,0 +1,380 @@
|
|||
#!/usr/bin/perl
|
||||
# -*- Mode: Perl; tab-width: 4; indent-tabs-mode: nil; -*-
|
||||
# ***** BEGIN LICENSE BLOCK *****
|
||||
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
#
|
||||
# The contents of this file are subject to the Mozilla Public License Version
|
||||
# 1.1 (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
# http://www.mozilla.org/MPL/
|
||||
#
|
||||
# Software distributed under the License is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
# for the specific language governing rights and limitations under the
|
||||
# License.
|
||||
#
|
||||
# The Original Code is Mozilla Automated Testing Code.
|
||||
#
|
||||
# The Initial Developer of the Original Code is
|
||||
# Mozilla Corporation.
|
||||
# Portions created by the Initial Developer are Copyright (C) 2005
|
||||
# the Initial Developer. All Rights Reserved.
|
||||
#
|
||||
# Contributor(s): Bob Clary <bob@bclary.com>
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the terms of
|
||||
# either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
# in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
# of those above. If you wish to allow use of your version of this file only
|
||||
# under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
# use your version of this file under the terms of the MPL, indicate your
|
||||
# decision by deleting the provisions above and replace them with the notice
|
||||
# and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
# the provisions above, a recipient may use your version of this file under
|
||||
# the terms of any one of the MPL, the GPL or the LGPL.
|
||||
#
|
||||
# ***** END LICENSE BLOCK *****
|
||||
|
||||
use File::Basename;
|
||||
use File::Copy;
|
||||
use Cwd;
|
||||
|
||||
#my $DEBUG = 0;
|
||||
#editTalkback("/tmp/test/firefox-1.5-nightly-opt/firefox/firefox", "talkbackid");
|
||||
|
||||
1;
|
||||
|
||||
sub editTalkback
|
||||
{
|
||||
my ($binary, $talkbackid) = @_;
|
||||
my $rc;
|
||||
my $signal;
|
||||
my $home = $ENV{HOME};
|
||||
my $os = undef;
|
||||
my $ostype = "";
|
||||
|
||||
# prevent replacements due to & in urls
|
||||
$talkbackid =~ s/&/\\&/g;
|
||||
|
||||
# hack around lack of available environment entries in both
|
||||
# cygwin perl and redhat perl
|
||||
open OSTYPE, "set | grep OSTYPE |" || die "Unable to open OSTYPE: $!";
|
||||
while (<OSTYPE>)
|
||||
{
|
||||
chomp;
|
||||
$ostype .= $_;
|
||||
}
|
||||
close OSTYPE;
|
||||
|
||||
die "Unable to determine OSTYPE" if (!$ostype);
|
||||
|
||||
if ($ostype =~ /cygwin/i)
|
||||
{
|
||||
$os = "win32";
|
||||
}
|
||||
elsif ($ostype =~ /linux/i)
|
||||
{
|
||||
$os = "linux";
|
||||
}
|
||||
elsif ($ostype =~ /darwin/)
|
||||
{
|
||||
$os = "mac";
|
||||
}
|
||||
else
|
||||
{
|
||||
die "Unknown Operating System: $ostype";
|
||||
}
|
||||
|
||||
if (!$binary)
|
||||
{
|
||||
die "binary argument missing";
|
||||
}
|
||||
|
||||
if (! -f $binary)
|
||||
{
|
||||
die "$binary does not exist";
|
||||
}
|
||||
|
||||
my $installpath = dirname($binary);
|
||||
|
||||
#print "installpath=$installpath\n";
|
||||
|
||||
if (! -d $installpath)
|
||||
{
|
||||
die "$installpath does not exist";
|
||||
}
|
||||
|
||||
#
|
||||
# edit talkback to automatically submit
|
||||
#
|
||||
my $talkback=1;
|
||||
|
||||
if ( -e "$installpath/extensions/talkback\@mozilla.org/components/master.ini")
|
||||
{
|
||||
chdir "$installpath/extensions/talkback\@mozilla.org/components/";
|
||||
}
|
||||
elsif ( -e "$installpath/extensions/talkback\@mozilla.org/components/talkback/master.ini")
|
||||
{
|
||||
chdir "$installpath/extensions/talkback\@mozilla.org/components/talkback/";
|
||||
}
|
||||
elsif ( -e "$installpath/components/master.ini")
|
||||
{
|
||||
chdir "$installpath/components";
|
||||
}
|
||||
else
|
||||
{
|
||||
#print "Talkback not installed.\n";
|
||||
$talkback=0 ;
|
||||
}
|
||||
|
||||
if ( $talkback == 1 )
|
||||
{
|
||||
# edit to automatically send talkback incidents
|
||||
if ( -e "master.sed")
|
||||
{
|
||||
#print "talkback master.ini already edited\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
#print "editing talkback master.ini in " . cwd() . "\n";
|
||||
copy("/work/mozilla/mozilla.com/test.mozilla.com/www/bin/master.sed", "master.sed");
|
||||
system(("sed", "-ibak", "-f", "master.sed", "master.ini"));
|
||||
|
||||
$rc = $? >> 8;
|
||||
$signal = $? & 127;
|
||||
$dumped = $? & 128;
|
||||
if ($rc != 0)
|
||||
{
|
||||
die "non zero exitcode editing master.ini: $!";
|
||||
}
|
||||
if ($signal)
|
||||
{
|
||||
#print "signal $signal editing master.ini\n";
|
||||
}
|
||||
}
|
||||
|
||||
open MASTER, "master.ini" || die "unable to open master.ini: $!";
|
||||
while (<MASTER>)
|
||||
{
|
||||
chomp $_;
|
||||
if (/VendorID = "([^"]*)"/)
|
||||
{
|
||||
($vendorid) = $1;
|
||||
}
|
||||
elsif (/ProductID = "([^"]*)"/)
|
||||
{
|
||||
($productid) = $1;
|
||||
}
|
||||
elsif (/PlatformID = "([^"]*)"/)
|
||||
{
|
||||
($platformid) = $1;
|
||||
}
|
||||
elsif (/BuildID = "([^"]*)"/)
|
||||
{
|
||||
($buildid) = $1;
|
||||
}
|
||||
}
|
||||
close MASTER;
|
||||
|
||||
if ("$DEBUG")
|
||||
{
|
||||
print "vendorid=$vendorid\n";
|
||||
print "productid=$productid\n";
|
||||
print "platformid=$platformid\n";
|
||||
print "buildid=$buildid\n";
|
||||
}
|
||||
|
||||
my $appdata;
|
||||
|
||||
if ($os eq "win32")
|
||||
{
|
||||
# get application data directory in windows format
|
||||
$appdata = $ENV{APPDATA};
|
||||
if (!$appdata)
|
||||
{
|
||||
die "Empty Windows Application Data directory\n";
|
||||
}
|
||||
|
||||
open PATH, "cygpath -d \"$appdata\"|" || die "Unable to open cygpath: $!";
|
||||
my $path = "";
|
||||
while (<PATH>)
|
||||
{
|
||||
chomp;
|
||||
$path .= $_;
|
||||
}
|
||||
close PATH;
|
||||
$path =~ s/\\/\\\\/g;
|
||||
|
||||
if (!$path)
|
||||
{
|
||||
die "Unable to convert Windows Application Data directory to short format\n";
|
||||
}
|
||||
|
||||
# convert application data directory to unix format
|
||||
$appdata = "";
|
||||
open PATH, "cygpath -u $path|" || die "unable to open cygpath: $!";
|
||||
while (<PATH>)
|
||||
{
|
||||
chomp;
|
||||
$appdata .= $_;
|
||||
}
|
||||
close PATH;
|
||||
if (!$appdata)
|
||||
{
|
||||
die "Unix format Windows Application Data directory is empty\n";
|
||||
}
|
||||
$talkbackdir = "$appdata/Talkback";
|
||||
}
|
||||
elsif ($os eq "linux")
|
||||
{
|
||||
$talkbackdir="$home/.fullcircle";
|
||||
}
|
||||
elsif ($os eq "mac")
|
||||
{
|
||||
$talkbackdir="$home/Library/Application\ Support/FullCircle";
|
||||
}
|
||||
else
|
||||
{
|
||||
die "unknown os $os";
|
||||
}
|
||||
|
||||
|
||||
if ( ! -e "$talkbackdir" )
|
||||
{
|
||||
if (! mkdir "$talkbackdir", 755)
|
||||
{
|
||||
die "unable to create $talkbackdir\n: $!";
|
||||
}
|
||||
}
|
||||
|
||||
my $talkbackinidir;
|
||||
|
||||
if ($os eq "win32")
|
||||
{
|
||||
$talkbackinidir="$talkbackdir/$vendorid/$productid/$platformid/$buildid/";
|
||||
|
||||
if ( ! -e "$talkbackdir/$vendorid" )
|
||||
{
|
||||
if (! mkdir "$talkbackdir/$vendorid", 755)
|
||||
{
|
||||
die "unable to make $talkbackdir/$vendorid: $!";
|
||||
}
|
||||
}
|
||||
|
||||
if (! -e "$talkbackdir/$vendorid/$productid")
|
||||
{
|
||||
if (! mkdir "$talkbackdir/$vendorid/$productid", 755)
|
||||
{
|
||||
die "unable to make $talkbackdir/$vendorid/$productid: $!";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (! -e "$talkbackdir/$vendorid")
|
||||
{
|
||||
if (! mkdir "$talkbackdir/$vendorid/$productid/$platformid", 755)
|
||||
{
|
||||
die "unable to make $talkbackdir/$vendorid/$productid/$platformid: $!";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (! -e "$talkbackdir/$vendorid/$productid/$platformid")
|
||||
{
|
||||
if (! mkdir "$talkbackdir/$vendorid/$productid/$platformid", 755)
|
||||
{
|
||||
die "unable to make $talkbackdir/$vendorid/$productid/$platformid: $!";
|
||||
}
|
||||
}
|
||||
|
||||
if ( ! -e "$talkbackdir/$vendorid/$productid/$platformid/$buildid")
|
||||
{
|
||||
if (! mkdir "$talkbackdir/$vendorid/$productid/$platformid/$buildid", 755)
|
||||
{
|
||||
die "unable to make $talkbackdir/$vendorid/$productid/$platformid/$buildid: $!";
|
||||
}
|
||||
}
|
||||
}
|
||||
elsif ($os eq "linux")
|
||||
{
|
||||
$talkbackinidir="$talkbackdir/$vendorid$productid$platformid$buildid";
|
||||
if (! -e "$talkbackdir/$vendorid$productid$platformid$buildid" )
|
||||
{
|
||||
if (! mkdir "$talkbackdir/$vendorid$productid$platformid$buildid", 755)
|
||||
{
|
||||
die "unable to make $talkbackdir/$vendorid$productid$platformid$buildid: $!";
|
||||
}
|
||||
}
|
||||
}
|
||||
elsif ($os eq "mac")
|
||||
{
|
||||
$talkbackinidir="$talkbackdir/$vendorid$productid$platformid$buildid";
|
||||
if (! -e "$talkbackdir/$vendorid$productid$platformid$buildid" )
|
||||
{
|
||||
if (! mkdir "$talkbackdir/$vendorid$productid$platformid$buildid", 755)
|
||||
{
|
||||
die "unable to make $talkbackdir/$vendorid$productid$platformid$buildid: $!";
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
die "$os not supported yet";
|
||||
}
|
||||
|
||||
if (! chdir $talkbackinidir)
|
||||
{
|
||||
die "unable to cd $talkbackinidir: $!";
|
||||
}
|
||||
|
||||
|
||||
if (!copy("/work/mozilla/mozilla.com/test.mozilla.com/www/talkback/$os/Talkback.ini", "Talkback.ini"))
|
||||
{
|
||||
die "unable to copy Talkback.ini: $!";
|
||||
}
|
||||
|
||||
#print "patching Talkback.ini\n";
|
||||
if ($os eq "win32")
|
||||
{
|
||||
$rc = system(("sed",
|
||||
"-ibak",
|
||||
"-e",
|
||||
"s|URLEdit .*|URLEdit = \"mozqa:$talkbackid\"|",
|
||||
"Talkback.ini")) & 0xffff;
|
||||
if ($rc != 0)
|
||||
{
|
||||
die "unable to edit Talkback.ini: $!";
|
||||
}
|
||||
}
|
||||
elsif ($os eq "linux")
|
||||
{
|
||||
$rc = system(("sed",
|
||||
"-ibak",
|
||||
"-e",
|
||||
"s|URLEditControl .*|URLEditControl = \"mozqa:$talkbackid\"|",
|
||||
"Talkback.ini")) & 0xffff;
|
||||
if ($rc != 0)
|
||||
{
|
||||
die "unable to edit Talkback.ini: $!";
|
||||
}
|
||||
}
|
||||
elsif ($os eq "mac")
|
||||
{
|
||||
$rc = system(("sed",
|
||||
"-ibak",
|
||||
"-e",
|
||||
"s|URLEditControl .*|URLEditControl = \"mozqa:$talkbackid\"|",
|
||||
"Talkback.ini")) & 0xffff;
|
||||
if ($rc != 0)
|
||||
{
|
||||
die "unable to edit Talkback.ini: $!";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
die "$os not supported yet";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,201 @@
|
|||
#!/usr/local/bin/bash -e
|
||||
# -*- Mode: Shell-script; tab-width: 4; indent-tabs-mode: nil; -*-
|
||||
# ***** BEGIN LICENSE BLOCK *****
|
||||
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
#
|
||||
# The contents of this file are subject to the Mozilla Public License Version
|
||||
# 1.1 (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
# http://www.mozilla.org/MPL/
|
||||
#
|
||||
# Software distributed under the License is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
# for the specific language governing rights and limitations under the
|
||||
# License.
|
||||
#
|
||||
# The Original Code is mozilla.org code.
|
||||
#
|
||||
# The Initial Developer of the Original Code is
|
||||
# Mozilla Corporation.
|
||||
# Portions created by the Initial Developer are Copyright (C) 2006.
|
||||
# the Initial Developer. All Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
# Bob Clary <bob@bclary.com>
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the terms of
|
||||
# either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
# in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
# of those above. If you wish to allow use of your version of this file only
|
||||
# under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
# use your version of this file under the terms of the MPL, indicate your
|
||||
# decision by deleting the provisions above and replace them with the notice
|
||||
# and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
# the provisions above, a recipient may use your version of this file under
|
||||
# the terms of any one of the MPL, the GPL or the LGPL.
|
||||
#
|
||||
# ***** END LICENSE BLOCK *****
|
||||
|
||||
TEST_DIR=${TEST_DIR:-/work/mozilla/mozilla.com/test.mozilla.com/www}
|
||||
TEST_BIN=${TEST_BIN:-$TEST_DIR/bin}
|
||||
source ${TEST_BIN}/library.sh
|
||||
|
||||
#
|
||||
# options processing
|
||||
#
|
||||
options="p:b:x:i:d:"
|
||||
function usage()
|
||||
{
|
||||
cat <<EOF
|
||||
usage:
|
||||
$SCRIPT -p product -b branch -x executablepath -i talkbackid [-d datafiles]
|
||||
|
||||
variable description
|
||||
=============== ============================================================
|
||||
-p product required. firefox|thunderbird
|
||||
-b branch required. 1.8.0|1.8.1|1.9.0
|
||||
-x executablepath required. directory-tree containing executable named
|
||||
'product'
|
||||
-i talkbackid required. identifier to add to talkback url
|
||||
-d datafiles optional. one or more filenames of files containing
|
||||
environment variable definitions to be included.
|
||||
|
||||
note that the environment variables should have the same
|
||||
names as in the "variable" column.
|
||||
EOF
|
||||
exit 1
|
||||
}
|
||||
|
||||
unset product branch executablepath talkbackid datafiles
|
||||
|
||||
while getopts $options optname ;
|
||||
do
|
||||
case $optname in
|
||||
p) product=$OPTARG;;
|
||||
b) branch=$OPTARG;;
|
||||
x) executablepath=$OPTARG;;
|
||||
i) talkbackid=$OPTARG;;
|
||||
d) datafiles=$OPTARG;;
|
||||
esac
|
||||
done
|
||||
|
||||
# include environment variables
|
||||
if [[ -n "$datafiles" ]]; then
|
||||
for datafile in $datafiles; do
|
||||
cat $datafile | sed 's|^|data: |'
|
||||
source $datafile
|
||||
done
|
||||
fi
|
||||
|
||||
if [[ -z "$product" || -z "$branch" || \
|
||||
-z "$executablepath" || -z "$talkbackid" ]]; then
|
||||
usage
|
||||
fi
|
||||
|
||||
executable=`get_executable $product $branch $executablepath`
|
||||
|
||||
if [[ -z "$executable" ]]; then
|
||||
error "get_executable $product $branch $executablepath returned empty path"
|
||||
fi
|
||||
|
||||
if [[ ! -x "$executable" ]]; then
|
||||
error "executable \"$executable\" is not executable"
|
||||
fi
|
||||
|
||||
executablepath=`dirname $executable`
|
||||
|
||||
# escape & in talkback id to prevent replacements
|
||||
talkbackid=`echo $talkbackid | sed 's@&@\\\\&@g'`
|
||||
|
||||
#
|
||||
# edit talkback to automatically submit
|
||||
#
|
||||
talkback=1
|
||||
|
||||
if [[ -e "$executablepath/extensions/talkback@mozilla.org/components/master.ini" ]]; then
|
||||
cd "$executablepath/extensions/talkback@mozilla.org/components/"
|
||||
elif [[ -e "$executablepath/extensions/talkback@mozilla.org/components/talkback/master.ini" ]]; then
|
||||
cd "$executablepath/extensions/talkback@mozilla.org/components/talkback/"
|
||||
elif [[ -e "$executablepath/components/master.ini" ]]; then
|
||||
cd "$executablepath/components"
|
||||
else
|
||||
# talkback not found
|
||||
talkback=0
|
||||
fi
|
||||
|
||||
if [[ $talkback -eq 1 ]]; then
|
||||
# edit to automatically send talkback incidents
|
||||
if [[ ! -e master.sed ]]; then
|
||||
#echo "$0: editing talkback master.ini in `pwd`"
|
||||
cp $TEST_BIN/master.sed .
|
||||
sed -f master.sed -ibak master.ini
|
||||
fi
|
||||
|
||||
if [[ "$OSID" == "mac" ]]; then
|
||||
vendorid=`grep '^VendorID = "' master.ini | sed 's@VendorID = "\([^"]*\)"@\1@'`
|
||||
productid=`grep '^ProductID = "' master.ini | sed 's@ProductID = "\([^"]*\)"@\1@'`
|
||||
platformid=`grep '^PlatformID = "' master.ini | sed 's@PlatformID = "\([^"]*\)"@\1@'`
|
||||
buildid=`grep '^BuildID = "' master.ini | sed 's@BuildID = "\([^"]*\)"@\1@'`
|
||||
else
|
||||
vendorid=`dos2unix < master.ini | grep '^VendorID = "' | sed 's@VendorID = "\([^"]*\)"@\1@'`
|
||||
productid=`dos2unix < master.ini | grep '^ProductID = "' | sed 's@ProductID = "\([^"]*\)"@\1@'`
|
||||
platformid=`dos2unix < master.ini | grep '^PlatformID = "' | sed 's@PlatformID = "\([^"]*\)"@\1@'`
|
||||
buildid=`dos2unix < master.ini | grep '^BuildID = "' | sed 's@BuildID = "\([^"]*\)"@\1@'`
|
||||
fi
|
||||
|
||||
case $OSID in
|
||||
"win32")
|
||||
appdata=`cygpath -a -d "$APPDATA"`
|
||||
talkbackdir="`cygpath -a -u $appdata`/Talkback"
|
||||
;;
|
||||
"linux")
|
||||
talkbackdir="$HOME/.fullcircle"
|
||||
;;
|
||||
"mac" )
|
||||
# hack around Mac's use of spaces in directory names
|
||||
talkbackdir="$HOME/Library/Application Support/FullCircle"
|
||||
IFS=:
|
||||
;;
|
||||
*)
|
||||
error "unknown os $OSID"
|
||||
;;
|
||||
esac
|
||||
|
||||
if [[ -z "$talkbackdir" ]]; then
|
||||
error "empty talkback directory"
|
||||
fi
|
||||
|
||||
mkdir -p "$talkbackdir"
|
||||
|
||||
case $OSID in
|
||||
win32)
|
||||
talkbackinidir="$talkbackdir/$vendorid/$productid/$platformid/$buildid"
|
||||
;;
|
||||
"linux" | "mac" )
|
||||
talkbackinidir="$talkbackdir/$vendorid$productid$platformid$buildid"
|
||||
;;
|
||||
esac
|
||||
|
||||
if [[ ! -d "$talkbackinidir" ]]; then
|
||||
create-directory.sh -d "$talkbackinidir" -n
|
||||
fi
|
||||
|
||||
cd $talkbackinidir
|
||||
|
||||
cp /work/mozilla/mozilla.com/test.mozilla.com/www/talkback/$OSID/Talkback.ini .
|
||||
|
||||
case "$OSID" in
|
||||
"win32")
|
||||
sed -ibak "s@URLEdit .*@URLEdit = \"mozqa:$talkbackid\"@" Talkback.ini
|
||||
;;
|
||||
"linux" )
|
||||
sed -ibak "s@URLEditControl .*@URLEditControl = \"mozqa:$talkbackid\"@" Talkback.ini
|
||||
;;
|
||||
"mac" )
|
||||
sed -ibak "s@URLEditControl .*@URLEditControl = \"mozqa:$talkbackid\"@" Talkback.ini
|
||||
;;
|
||||
*)
|
||||
error "unknown os=$OSID"
|
||||
esac
|
||||
fi
|
|
@ -0,0 +1,11 @@
|
|||
--- firefox 2005-08-18 06:28:49.000000000 -0700
|
||||
+++ firefox.test 2005-08-18 19:39:34.813357354 -0700
|
||||
@@ -178,7 +178,7 @@
|
||||
then
|
||||
echo $dist_bin/run-mozilla.sh $script_args $dist_bin/$MOZILLA_BIN "$@"
|
||||
fi
|
||||
-"$dist_bin/run-mozilla.sh" $script_args "$dist_bin/$MOZILLA_BIN" "$@"
|
||||
+exec "$dist_bin/run-mozilla.sh" $script_args "$dist_bin/$MOZILLA_BIN" "$@"
|
||||
exitcode=$?
|
||||
|
||||
## Stop addon scripts
|
|
@ -0,0 +1,20 @@
|
|||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>Get Build Information</title>
|
||||
<script type="text/javascript" src="quit.js"></script>
|
||||
<script type="text/javascript" src="appinfo.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Get Build Information</h1>
|
||||
<script type="text/javascript">
|
||||
|
||||
|
||||
var appInfoSource = (new AppInfo()).toSource();
|
||||
|
||||
document.write(appInfoSource);
|
||||
dump(appInfoSource);
|
||||
|
||||
goQuitApplication();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,9 @@
|
|||
#!/usr/bin/expect
|
||||
|
||||
spawn hdiutil attach $argv
|
||||
|
||||
expect {
|
||||
"byte" {send "G"; exp_continue}
|
||||
"Y/N" {send "Y\r"; exp_continue}
|
||||
}
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
dashes = ----------
|
||||
msg = @echo "$(1)": $(dashes) $(2) $(dashes)
|
||||
prepend = sed 's/^/$(1): /'
|
||||
html2text = lynx --dump $(1)
|
||||
TEST_PROFILE?=TEST
|
||||
|
||||
dumpvars = echo TARGETS=$$targets && for var in `echo $${!TEST_*}`; do echo $${var}=$${!var}; done
|
||||
|
||||
|
|
@ -0,0 +1,174 @@
|
|||
#!/usr/local/bin/bash -e
|
||||
# -*- Mode: Shell-script; tab-width: 4; indent-tabs-mode: nil; -*-
|
||||
# ***** BEGIN LICENSE BLOCK *****
|
||||
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
#
|
||||
# The contents of this file are subject to the Mozilla Public License Version
|
||||
# 1.1 (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
# http://www.mozilla.org/MPL/
|
||||
#
|
||||
# Software distributed under the License is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
# for the specific language governing rights and limitations under the
|
||||
# License.
|
||||
#
|
||||
# The Original Code is mozilla.org code.
|
||||
#
|
||||
# The Initial Developer of the Original Code is
|
||||
# Mozilla Corporation.
|
||||
# Portions created by the Initial Developer are Copyright (C) 2006.
|
||||
# the Initial Developer. All Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
# Bob Clary <bob@bclary.com>
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the terms of
|
||||
# either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
# in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
# of those above. If you wish to allow use of your version of this file only
|
||||
# under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
# use your version of this file under the terms of the MPL, indicate your
|
||||
# decision by deleting the provisions above and replace them with the notice
|
||||
# and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
# the provisions above, a recipient may use your version of this file under
|
||||
# the terms of any one of the MPL, the GPL or the LGPL.
|
||||
#
|
||||
# ***** END LICENSE BLOCK *****
|
||||
|
||||
TEST_DIR=${TEST_DIR:-/work/mozilla/mozilla.com/test.mozilla.com/www}
|
||||
TEST_BIN=${TEST_BIN:-$TEST_DIR/bin}
|
||||
source ${TEST_BIN}/library.sh
|
||||
|
||||
#
|
||||
# options processing
|
||||
#
|
||||
options="p:b:x:f:d:"
|
||||
function usage()
|
||||
{
|
||||
cat <<EOF
|
||||
usage:
|
||||
$SCRIPT -p product -b branch -x executablepath -f filename [-d datafiles]
|
||||
|
||||
variable description
|
||||
=============== ============================================================
|
||||
-p product required. firefox|thunderbird
|
||||
-b branch required. 1.8.0|1.8.1|1.9.0
|
||||
-x executablepath required. directory where to install build
|
||||
-f filename required. path to filename where installer is stored
|
||||
-d datafiles optional. one or more filenames of files containing
|
||||
environment variable definitions to be included.
|
||||
|
||||
note that the environment variables should have the same
|
||||
names as in the "variable" column.
|
||||
|
||||
EOF
|
||||
exit 2
|
||||
}
|
||||
|
||||
unset product branch executablepath filename datafiles
|
||||
|
||||
while getopts $options optname ;
|
||||
do
|
||||
case $optname in
|
||||
p) product=$OPTARG;;
|
||||
b) branch=$OPTARG;;
|
||||
x) executablepath=$OPTARG;;
|
||||
f) filename=$OPTARG;;
|
||||
d) datafiles=$OPTARG;;
|
||||
esac
|
||||
done
|
||||
|
||||
# include environment variables
|
||||
if [[ -n "$datafiles" ]]; then
|
||||
for datafile in $datafiles; do
|
||||
cat $datafile | sed 's|^|data: |'
|
||||
source $datafile
|
||||
done
|
||||
fi
|
||||
|
||||
if [[ -z "$product" || -z "$branch" || -z "$executablepath" || -z "$filename" ]]
|
||||
then
|
||||
usage
|
||||
fi
|
||||
|
||||
${TEST_BIN}/uninstall-build.sh -p "$product" -b "$branch" -x "$executablepath"
|
||||
|
||||
${TEST_BIN}/create-directory.sh -d "$executablepath" -n
|
||||
|
||||
filetype=`file $filename`
|
||||
|
||||
if [[ $OSID == "win32" ]]; then
|
||||
|
||||
if echo $filetype | grep -iq windows; then
|
||||
chmod u+x "$filename"
|
||||
if [[ $branch == "1.8.0" ]]; then
|
||||
$filename -ms -hideBanner -dd `cygpath -a -w "$executablepath"`
|
||||
else
|
||||
$filename /S /D=`cygpath -a -w "$executablepath"`
|
||||
fi
|
||||
elif echo $filetype | grep -iq 'zip archive'; then
|
||||
unzip -o -d "$executablepath" "$filename"
|
||||
else
|
||||
error "$unknown file type $filetype"
|
||||
fi
|
||||
|
||||
else
|
||||
|
||||
if [[ $OSID == "linux" ]]; then
|
||||
|
||||
if echo $filetype | grep -iq 'bzip2'; then
|
||||
tar -jxvf $filename -C "$executablepath"
|
||||
elif echo $filetype | grep -iq 'gzip'; then
|
||||
tar -zxvf $filename -C "$executablepath"
|
||||
else
|
||||
error "unknown file type $filetype"
|
||||
fi
|
||||
|
||||
elif [[ $OSID == "mac" ]]; then
|
||||
# answer license prompt
|
||||
result=`${TEST_BIN}/hdiutil-expect.ex $filename`
|
||||
# now get the volume data
|
||||
#result=`hdiutil attach $filename`
|
||||
disk=`echo $result | sed 's@.*\(/dev/[^ ]*\).*/dev.*/dev.*@\1@'`
|
||||
# remove the carriage return inserted by expect
|
||||
volume=`echo $result | sed "s|[^a-zA-Z0-9/]||g" | sed 's@.*\(/Volumes/.*\)@\1@'`
|
||||
echo "disk=$disk"
|
||||
echo "volume=$volume"
|
||||
if [[ -z "$disk" || -z "$volume" ]]; then
|
||||
error "mounting disk image: $result"
|
||||
fi
|
||||
|
||||
for app in $volume/*.app; do
|
||||
cp -R $app $executablepath
|
||||
done
|
||||
|
||||
hdiutil detach $disk
|
||||
|
||||
fi
|
||||
|
||||
#
|
||||
# patch unix-like startup scripts to exec instead of
|
||||
# forking new processes
|
||||
#
|
||||
executable=`get_executable $product $branch $executablepath`
|
||||
if [[ -z "$executable" ]]; then
|
||||
error "get_executable $product $branch $executablepath returned empty directory"
|
||||
fi
|
||||
executabledir=`dirname $executable`
|
||||
|
||||
# patch to use exec to prevent forked processes
|
||||
cd "$executabledir"
|
||||
if [ -e "$product" ]; then
|
||||
echo "$SCRIPT: patching $product"
|
||||
cp $TEST_BIN/$product.diff .
|
||||
patch -N -p0 < $product.diff
|
||||
fi
|
||||
if [ -e run-mozilla.sh ]; then
|
||||
echo "$SCRIPT: patching run-mozilla.sh"
|
||||
cp $TEST_BIN/run-mozilla.diff .
|
||||
patch -N -p0 < run-mozilla.diff
|
||||
fi
|
||||
fi
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>Install Extensions - 1</title>
|
||||
<script type="text/javascript" src="quit.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Install Extensions - 1</h1>
|
||||
<p>
|
||||
First restart to install extensions...
|
||||
</p>
|
||||
<script type="text/javascript">
|
||||
setTimeout("goQuitApplication()", 10000);
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,15 @@
|
|||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>Install Extensions - 2</title>
|
||||
<script type="text/javascript" src="quit.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Install Extensions - 2</h1>
|
||||
<p>
|
||||
Second restart to install extensions...
|
||||
</p>
|
||||
<script type="text/javascript">
|
||||
setTimeout("goQuitApplication()", 10000);
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,166 @@
|
|||
#!/usr/local/bin/bash -e
|
||||
# -*- Mode: Shell-script; tab-width: 4; indent-tabs-mode: nil; -*-
|
||||
# ***** BEGIN LICENSE BLOCK *****
|
||||
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
#
|
||||
# The contents of this file are subject to the Mozilla Public License Version
|
||||
# 1.1 (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
# http://www.mozilla.org/MPL/
|
||||
#
|
||||
# Software distributed under the License is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
# for the specific language governing rights and limitations under the
|
||||
# License.
|
||||
#
|
||||
# The Original Code is mozilla.org code.
|
||||
#
|
||||
# The Initial Developer of the Original Code is
|
||||
# Mozilla Corporation.
|
||||
# Portions created by the Initial Developer are Copyright (C) 2005.
|
||||
# the Initial Developer. All Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
# Bob Clary <bob@bclary.com>
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the terms of
|
||||
# either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
# in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
# of those above. If you wish to allow use of your version of this file only
|
||||
# under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
# use your version of this file under the terms of the MPL, indicate your
|
||||
# decision by deleting the provisions above and replace them with the notice
|
||||
# and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
# the provisions above, a recipient may use your version of this file under
|
||||
# the terms of any one of the MPL, the GPL or the LGPL.
|
||||
#
|
||||
# ***** END LICENSE BLOCK *****
|
||||
|
||||
TEST_DIR=${TEST_DIR:-/work/mozilla/mozilla.com/test.mozilla.com/www}
|
||||
TEST_BIN=${TEST_BIN:-$TEST_DIR/bin}
|
||||
source ${TEST_BIN}/library.sh
|
||||
|
||||
echo "$SCRIPT $@"
|
||||
|
||||
#
|
||||
# options processing
|
||||
#
|
||||
options="p:b:x:N:E:d:"
|
||||
function usage()
|
||||
{
|
||||
cat <<EOF
|
||||
usage:
|
||||
$SCRIPT -p product -b branch -x executablepath -N profilename -E extensions
|
||||
[-d datafiles]
|
||||
|
||||
variable description
|
||||
=============== ============================================================
|
||||
-p product required. firefox|thunderbird
|
||||
-b branch required. 1.8.0|1.8.1|1.9.0
|
||||
-x executablepath required. directory-tree containing executable named
|
||||
'product'
|
||||
-N profilename required. profile name
|
||||
-E extensions required. path to directory containing xpis to be installed
|
||||
-d datafiles optional. one or more filenames of files containing
|
||||
environment variable definitions to be included.
|
||||
|
||||
note that the environment variables should have the same
|
||||
names as in the "variable" column.
|
||||
|
||||
EOF
|
||||
exit 1
|
||||
}
|
||||
|
||||
unset product branch executablepath profilename extensions datafiles
|
||||
|
||||
while getopts $options optname ;
|
||||
do
|
||||
case $optname in
|
||||
p) product=$OPTARG;;
|
||||
b) branch=$OPTARG;;
|
||||
x) executablepath=$OPTARG;;
|
||||
N) profilename=$OPTARG;;
|
||||
E) extensions=$OPTARG;;
|
||||
d) datafiles=$OPTARG;;
|
||||
esac
|
||||
done
|
||||
|
||||
# include environment variables
|
||||
if [[ -n "$datafiles" ]]; then
|
||||
for datafile in $datafiles; do
|
||||
cat $datafile | sed 's|^|data: |'
|
||||
source $datafile
|
||||
done
|
||||
fi
|
||||
|
||||
if [[ -z "$product" || -z "$branch" || \
|
||||
-z "$executablepath" || -z "$profilename" || -z "$extensions" ]]; then
|
||||
usage
|
||||
fi
|
||||
|
||||
if [[ "$product" != "firefox" && "$product" != "thunderbird" ]]; then
|
||||
error "product \"$product\" must be one of firefox or thunderbird"
|
||||
fi
|
||||
|
||||
if [[ "$branch" != "1.8.0" && "$branch" != "1.8.1" && "$branch" != "1.9.0" ]];
|
||||
then
|
||||
error "branch \"$branch\" must be one of 1.8.0, 1.8.1, 1.9.0"
|
||||
fi
|
||||
|
||||
executable=`get_executable $product $branch $executablepath`
|
||||
|
||||
if [[ -z "$executable" ]]; then
|
||||
error "get_executable $product $branch $executablepath returned empty path"
|
||||
fi
|
||||
|
||||
if [[ ! -x "$executable" ]]; then
|
||||
error "executable \"$executable\" is not executable"
|
||||
fi
|
||||
|
||||
if echo $profilename | egrep -qiv '[a-z0-9_]'; then
|
||||
error "profile name must consist of letters, digits or _"
|
||||
fi
|
||||
|
||||
for extension in $extensions/all/*; do
|
||||
if [[ $extension == "$extensions/all/*" ]]; then
|
||||
break
|
||||
fi
|
||||
if [[ "$OSID" == "win32" ]]; then
|
||||
extensionos=`cygpath -a -w $extension`
|
||||
else
|
||||
extensionos="$extension"
|
||||
fi
|
||||
|
||||
echo installing $extension
|
||||
$TEST_BIN/timed_run.py ${TEST_STARTUP_TIMEOUT} "-" $executable -P $profilename -install-global-extension "$extensionos"
|
||||
# there is no reliable method of determining if the install worked
|
||||
# from the output or from the exit code.
|
||||
done
|
||||
|
||||
for extension in $extensions/$OSID/*; do
|
||||
if [[ $extension == "$extensions/$OSID/*" ]]; then
|
||||
break
|
||||
fi
|
||||
if [[ "$OSID" == "win32" ]]; then
|
||||
extensionos=`cygpath -a -w $extension`
|
||||
else
|
||||
extensionos="$extension"
|
||||
fi
|
||||
|
||||
echo installing $extension
|
||||
$TEST_BIN/timed_run.py ${TEST_STARTUP_TIMEOUT} "-" $executable -P $profilename -install-global-extension "$extensionos"
|
||||
done
|
||||
|
||||
# restart twice to make extension manager happy
|
||||
|
||||
if ! $TEST_BIN/timed_run.py ${TEST_STARTUP_TIMEOUT} "install extensions - first restart" \
|
||||
$executable -P $profilename "http://${TEST_HTTP}/bin/install-extensions-1.html"; then
|
||||
echo "Ignoring 1st failure to load the install-extensions page"
|
||||
fi
|
||||
|
||||
if ! $TEST_BIN/timed_run.py ${TEST_STARTUP_TIMEOUT} "install extensions - second restart" \
|
||||
$executable -P $profilename "http://${TEST_HTTP}/bin/install-extensions-2.html"; then
|
||||
echo "Ignoring 2nd failure to load the install-extensions page"
|
||||
fi
|
||||
|
|
@ -0,0 +1,118 @@
|
|||
#!/usr/local/bin/bash -e
|
||||
# -*- Mode: Shell-script; tab-width: 4; indent-tabs-mode: nil; -*-
|
||||
# ***** BEGIN LICENSE BLOCK *****
|
||||
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
#
|
||||
# The contents of this file are subject to the Mozilla Public License Version
|
||||
# 1.1 (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
# http://www.mozilla.org/MPL/
|
||||
#
|
||||
# Software distributed under the License is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
# for the specific language governing rights and limitations under the
|
||||
# License.
|
||||
#
|
||||
# The Original Code is mozilla.org code.
|
||||
#
|
||||
# The Initial Developer of the Original Code is
|
||||
# Mozilla Corporation.
|
||||
# Portions created by the Initial Developer are Copyright (C) 2006.
|
||||
# the Initial Developer. All Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
# Bob Clary <bob@bclary.com>
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the terms of
|
||||
# either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
# in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
# of those above. If you wish to allow use of your version of this file only
|
||||
# under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
# use your version of this file under the terms of the MPL, indicate your
|
||||
# decision by deleting the provisions above and replace them with the notice
|
||||
# and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
# the provisions above, a recipient may use your version of this file under
|
||||
# the terms of any one of the MPL, the GPL or the LGPL.
|
||||
#
|
||||
# ***** END LICENSE BLOCK *****
|
||||
|
||||
TEST_DIR=${TEST_DIR:-/work/mozilla/mozilla.com/test.mozilla.com/www}
|
||||
TEST_BIN=${TEST_BIN:-$TEST_DIR/bin}
|
||||
source ${TEST_BIN}/library.sh
|
||||
|
||||
#
|
||||
# options processing
|
||||
#
|
||||
options="p:b:x:D:d:"
|
||||
function usage()
|
||||
{
|
||||
cat <<EOF
|
||||
usage:
|
||||
$SCRIPT -p product -b branch -x executablepath -D directory [-d datafiles]
|
||||
|
||||
variable description
|
||||
=============== ============================================================
|
||||
-p product required. firefox|thunderbird
|
||||
-b branch required. 1.8.0|1.8.1|1.9.0
|
||||
-x executablepath required. path to browser executable
|
||||
-D directory required. path to location of plugins/components
|
||||
-d datafiles optional. one or more filenames of files containing
|
||||
environment
|
||||
variable definitions to be included.
|
||||
|
||||
note that the environment variables should have the same
|
||||
names as in the "variable" column.
|
||||
|
||||
EOF
|
||||
exit 1
|
||||
}
|
||||
|
||||
unset product branch executablepath directory datafiles
|
||||
|
||||
while getopts $options optname ;
|
||||
do
|
||||
case $optname in
|
||||
p) product=$OPTARG;;
|
||||
b) branch=$OPTARG;;
|
||||
x) executablepath=$OPTARG;;
|
||||
D) directory=$OPTARG;;
|
||||
d) datafiles=$OPTARG;;
|
||||
esac
|
||||
done
|
||||
|
||||
# include environment variables
|
||||
if [[ -n "$datafiles" ]]; then
|
||||
for datafile in $datafiles; do
|
||||
cat $datafile | sed 's|^|data: |'
|
||||
source $datafile
|
||||
done
|
||||
fi
|
||||
|
||||
if [[ -z "$product" || -z "$branch" || \
|
||||
-z "$executablepath" || -z "$directory" ]]; then
|
||||
usage
|
||||
fi
|
||||
|
||||
if [[ "$product" != "firefox" && "$product" != "thunderbird" ]]; then
|
||||
error "product \"$product\" must be one of firefox or thunderbird"
|
||||
fi
|
||||
|
||||
executable=`get_executable $product $branch $executablepath`
|
||||
|
||||
if [[ -z "$executable" ]]; then
|
||||
error "get_executable $product $branch $executablepath returned empty path"
|
||||
fi
|
||||
|
||||
if [[ ! -x "$executable" ]]; then
|
||||
error "executable \"$executable\" is not executable"
|
||||
fi
|
||||
|
||||
executablepath=`dirname $executable`
|
||||
|
||||
#
|
||||
# install plugins and components
|
||||
#
|
||||
echo "$SCRIPT: installing plugins from $directory/ in $executablepath/"
|
||||
cp -r "$directory/$OSID/" "$executablepath/"
|
||||
|
|
@ -0,0 +1,167 @@
|
|||
# -*- Mode: Shell-script; tab-width: 4; indent-tabs-mode: nil; -*-
|
||||
# ***** BEGIN LICENSE BLOCK *****
|
||||
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
#
|
||||
# The contents of this file are subject to the Mozilla Public License Version
|
||||
# 1.1 (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
# http://www.mozilla.org/MPL/
|
||||
#
|
||||
# Software distributed under the License is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
# for the specific language governing rights and limitations under the
|
||||
# License.
|
||||
#
|
||||
# The Original Code is mozilla.org code.
|
||||
#
|
||||
# The Initial Developer of the Original Code is
|
||||
# Mozilla Corporation.
|
||||
# Portions created by the Initial Developer are Copyright (C) 2006.
|
||||
# the Initial Developer. All Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
# Bob Clary <bob@bclary.com>
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the terms of
|
||||
# either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
# in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
# of those above. If you wish to allow use of your version of this file only
|
||||
# under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
# use your version of this file under the terms of the MPL, indicate your
|
||||
# decision by deleting the provisions above and replace them with the notice
|
||||
# and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
# the provisions above, a recipient may use your version of this file under
|
||||
# the terms of any one of the MPL, the GPL or the LGPL.
|
||||
#
|
||||
# ***** END LICENSE BLOCK *****
|
||||
|
||||
# This script contains a number of variables, functions, etc which
|
||||
# are reused across a number of scripts. It should be included in each
|
||||
# script as follows:
|
||||
#
|
||||
# TEST_DIR=${TEST_DIR:-/work/mozilla/mozilla.com/test.mozilla.com/www}
|
||||
# TEST_BIN=${TEST_BIN:-$TEST_DIR/bin}
|
||||
# source ${TEST_BIN}/library.sh
|
||||
#
|
||||
|
||||
echo "calling $0 $@"
|
||||
|
||||
# export variables
|
||||
set -a
|
||||
|
||||
# error message
|
||||
# output error message end exit 2
|
||||
|
||||
error()
|
||||
{
|
||||
echo "error in script $SCRIPT: $1"
|
||||
if [[ "$0" == "-bash" || "$0" == "bash" ]]; then
|
||||
return 0
|
||||
fi
|
||||
exit 2
|
||||
}
|
||||
|
||||
# get_executable product branch directory
|
||||
# writes path to product executable to stdout
|
||||
|
||||
get_executable()
|
||||
{
|
||||
get_executable_product="$1"
|
||||
get_executable_branch="$2"
|
||||
get_executable_directory="$3"
|
||||
|
||||
if [[ -z "$get_executable_product" || \
|
||||
-z "$get_executable_branch" || \
|
||||
-z "$get_executable_directory" ]]; then
|
||||
error "usage: get_executable product branch directory"
|
||||
elif [[ ! -d "$get_executable_directory" ]]; then
|
||||
error "get_executable: executable directory \"$get_executable_directory\" does not exist"
|
||||
else
|
||||
# should use /u+x,g+x,a+x but mac os x uses an obsolete find
|
||||
# filter the output to remove extraneous file in dist/bin for
|
||||
# cvs builds on mac os x.
|
||||
get_executable_name="$get_executable_product${EXE_EXT}"
|
||||
if [[ "$OSID" == "mac" ]]; then
|
||||
get_executable_filter="Contents/MacOS/$get_executable_product"
|
||||
if [[ "$get_executable_product" == "thunderbird" ]]; then
|
||||
get_executable_name="$get_executable_product-bin"
|
||||
fi
|
||||
else
|
||||
get_executable_filter="$get_executable_product"
|
||||
fi
|
||||
if find "$get_executable_directory" -perm +111 -type f \
|
||||
-name "$get_executable_name" | \
|
||||
grep "$get_executable_filter"; then
|
||||
true
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
TEST_DIR=${TEST_DIR:-/work/mozilla/mozilla.com/test.mozilla.com/www}
|
||||
TEST_BIN=${TEST_BIN:-$TEST_DIR/bin}
|
||||
TEST_HTTP=${TEST_HTTP:-test.mozilla.com}
|
||||
TEST_STARTUP_TIMEOUT=${TEST_STARTUP_TIMEOUT:-30}
|
||||
|
||||
# set path to make life easier
|
||||
PATH=${TEST_DIR}/bin:$PATH
|
||||
|
||||
# make pipelines return exit code of intermediate steps
|
||||
# requires bash 3.x
|
||||
set -o pipefail
|
||||
|
||||
if [[ "$0" == "-bash" || "$0" == "bash" ]]; then
|
||||
SCRIPT="library.sh"
|
||||
else
|
||||
SCRIPT=`basename $0`
|
||||
fi
|
||||
|
||||
# save starting directory
|
||||
STARTDIR=`pwd`
|
||||
|
||||
# change working directory to the location of the script.
|
||||
SCRIPTDIR=`dirname $0`
|
||||
cd $SCRIPTDIR
|
||||
|
||||
# set time format for pipeline timing reports
|
||||
TIMEFORMAT="Elapsed time %0R seconds, User %0U seconds, System %0S seconds, CPU %P%%"
|
||||
|
||||
# don't attach to running instance
|
||||
MOZ_NO_REMOTE=1
|
||||
|
||||
# don't restart
|
||||
NO_EM_RESTART=1
|
||||
|
||||
# bypass profile manager
|
||||
MOZ_BYPASS_PROFILE_AT_STARTUP=1
|
||||
|
||||
# ah crap handler timeout
|
||||
MOZ_GDB_SLEEP=10
|
||||
|
||||
# no dialogs on asserts
|
||||
XPCOM_DEBUG_BREAK=warn
|
||||
|
||||
#leak gauge
|
||||
#NSPR_LOG_MODULES=DOMLeak:5,DocumentLeak:5,nsDocShellLeak:5
|
||||
|
||||
MALLOC_CHECK_=2
|
||||
|
||||
MACHINE=`uname -n`
|
||||
|
||||
ulimit -c 0
|
||||
|
||||
if echo $OSTYPE | grep -iq cygwin; then
|
||||
OSID=win32
|
||||
EXE_EXT=".exe"
|
||||
elif echo $OSTYPE | grep -iq Linux; then
|
||||
OSID=linux
|
||||
EXE_EXT=
|
||||
elif echo $OSTYPE | grep -iq darwin; then
|
||||
OSID=mac
|
||||
EXE_EXT=
|
||||
else
|
||||
error "Unknown OS $OSTYPE"
|
||||
fi
|
||||
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
s/DisableDontAsk = 0/DisableDontAsk = 1/
|
||||
s/DisableUI = 0/DisableUI = 1/
|
||||
s/DisableWizard = 0/DisableWizard = 1/
|
|
@ -0,0 +1,143 @@
|
|||
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; -*- */
|
||||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
*
|
||||
* The contents of this file are subject to the Mozilla Public License Version
|
||||
* 1.1 (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
* http://www.mozilla.org/MPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
* for the specific language governing rights and limitations under the
|
||||
* License.
|
||||
*
|
||||
* The Original Code is The Original Code is Mozilla Automated Testing Code
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* Mozilla Corporation.
|
||||
* Portions created by the Initial Developer are Copyright (C) 2005
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s): Bob Clary <bob@bclary.com>
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
* in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
* of those above. If you wish to allow use of your version of this file only
|
||||
* under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
* use your version of this file under the terms of the MPL, indicate your
|
||||
* decision by deleting the provisions above and replace them with the notice
|
||||
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
* the provisions above, a recipient may use your version of this file under
|
||||
* the terms of any one of the MPL, the GPL or the LGPL.
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
/*
|
||||
From mozilla/toolkit/content
|
||||
These files did not have a license
|
||||
*/
|
||||
|
||||
function canQuitApplication()
|
||||
{
|
||||
var os = Components.classes["@mozilla.org/observer-service;1"]
|
||||
.getService(Components.interfaces.nsIObserverService);
|
||||
if (!os)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
var cancelQuit = Components.classes["@mozilla.org/supports-PRBool;1"]
|
||||
.createInstance(Components.interfaces.nsISupportsPRBool);
|
||||
os.notifyObservers(cancelQuit, "quit-application-requested", null);
|
||||
|
||||
// Something aborted the quit process.
|
||||
if (cancelQuit.data)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
catch (ex)
|
||||
{
|
||||
}
|
||||
os.notifyObservers(null, "quit-application-granted", null);
|
||||
return true;
|
||||
}
|
||||
|
||||
function goQuitApplication()
|
||||
{
|
||||
const privs = 'UniversalPreferencesRead UniversalPreferencesWrite ' +
|
||||
'UniversalXPConnect';
|
||||
|
||||
try
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege(privs);
|
||||
}
|
||||
catch(ex)
|
||||
{
|
||||
throw('goQuitApplication: privilege failure ' + ex);
|
||||
}
|
||||
|
||||
if (!canQuitApplication())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
const kAppStartup = '@mozilla.org/toolkit/app-startup;1';
|
||||
const kAppShell = '@mozilla.org/appshell/appShellService;1';
|
||||
var appService;
|
||||
var forceQuit;
|
||||
|
||||
if (kAppStartup in Components.classes)
|
||||
{
|
||||
appService = Components.classes[kAppStartup].
|
||||
getService(Components.interfaces.nsIAppStartup);
|
||||
forceQuit = Components.interfaces.nsIAppStartup.eForceQuit;
|
||||
|
||||
}
|
||||
else if (kAppShell in Components.classes)
|
||||
{
|
||||
appService = Components.classes[kAppShell].
|
||||
getService(Components.interfaces.nsIAppShellService);
|
||||
forceQuit = Components.interfaces.nsIAppShellService.eForceQuit;
|
||||
}
|
||||
else
|
||||
{
|
||||
throw 'goQuitApplication: no AppStartup/appShell';
|
||||
}
|
||||
|
||||
var windowManager = Components.
|
||||
classes['@mozilla.org/appshell/window-mediator;1'].getService();
|
||||
|
||||
var windowManagerInterface = windowManager.
|
||||
QueryInterface(Components.interfaces.nsIWindowMediator);
|
||||
|
||||
var enumerator = windowManagerInterface.getEnumerator(null);
|
||||
|
||||
while (enumerator.hasMoreElements())
|
||||
{
|
||||
var domWindow = enumerator.getNext();
|
||||
if (("tryToClose" in domWindow) && !domWindow.tryToClose())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
domWindow.close();
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
appService.quit(forceQuit);
|
||||
}
|
||||
catch(ex)
|
||||
{
|
||||
throw('goQuitApplication: ' + ex);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
--- run-mozilla.sh 2004-04-18 10:17:09.000000000 -0400
|
||||
+++ run-mozilla.sh.test 2005-08-18 22:27:42.906250000 -0400
|
||||
@@ -163,7 +163,7 @@
|
||||
##
|
||||
## Run the program
|
||||
##
|
||||
- "$prog" ${1+"$@"}
|
||||
+ exec "$prog" ${1+"$@"}
|
||||
exitcode=$?
|
||||
if [ "$DEBUG_CORE_FILES" ]
|
||||
then
|
|
@ -0,0 +1,6 @@
|
|||
#!/usr/local/bin/bash -e
|
||||
# -*- Mode: Shell-script; tab-width: 4; indent-tabs-mode: nil; -*-
|
||||
|
||||
for var in `echo ${!TEST_*}`; do
|
||||
echo ${var}=${!var} >> $TEST_LOG
|
||||
done
|
|
@ -0,0 +1,226 @@
|
|||
#!/usr/local/bin/bash
|
||||
# -*- Mode: Shell-script; tab-width: 4; indent-tabs-mode: nil; -*-
|
||||
# ***** BEGIN LICENSE BLOCK *****
|
||||
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
#
|
||||
# The contents of this file are subject to the Mozilla Public License Version
|
||||
# 1.1 (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
# http://www.mozilla.org/MPL/
|
||||
#
|
||||
# Software distributed under the License is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
# for the specific language governing rights and limitations under the
|
||||
# License.
|
||||
#
|
||||
# The Original Code is mozilla.org code.
|
||||
#
|
||||
# The Initial Developer of the Original Code is
|
||||
# Mozilla Corporation.
|
||||
# Portions created by the Initial Developer are Copyright (C) 2006.
|
||||
# the Initial Developer. All Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
# Bob Clary <bob@bclary.com>
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the terms of
|
||||
# either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
# in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
# of those above. If you wish to allow use of your version of this file only
|
||||
# under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
# use your version of this file under the terms of the MPL, indicate your
|
||||
# decision by deleting the provisions above and replace them with the notice
|
||||
# and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
# the provisions above, a recipient may use your version of this file under
|
||||
# the terms of any one of the MPL, the GPL or the LGPL.
|
||||
#
|
||||
# ***** END LICENSE BLOCK *****
|
||||
|
||||
export BUILDDIR=/work/mozilla/builds
|
||||
export SHELL=/usr/local/bin/bash
|
||||
export CONFIG_SHELL=/usr/local/bin/bash
|
||||
export CONFIGURE_ENV_ARGS=/usr/local/bin/bash
|
||||
export MOZ_CVS_FLAGS="-z3 -q"
|
||||
export CVSROOT=:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot
|
||||
export MOZILLA_OFFICIAL=1
|
||||
export BUILD_OFFICIAL=1
|
||||
|
||||
#
|
||||
# options processing
|
||||
#
|
||||
options="p:b:T:e:"
|
||||
usage()
|
||||
{
|
||||
cat <<EOF
|
||||
|
||||
usage: set-build-env.sh -p product -b branch -T buildtype [-e extra]
|
||||
|
||||
-p product [firefox|thunderbird]
|
||||
-b branch [1.8.0|1.8.1|1.9.0]
|
||||
-T buildtype [opt|debug]
|
||||
-e extra extra qualifier to pick mozconfig and tree
|
||||
|
||||
EOF
|
||||
}
|
||||
|
||||
myexit()
|
||||
{
|
||||
myexit_status=$1
|
||||
|
||||
case $0 in
|
||||
*bash*)
|
||||
# prevent "sourced" script calls from
|
||||
# exiting the current shell.
|
||||
break 99;;
|
||||
*)
|
||||
exit $myexit_status;;
|
||||
esac
|
||||
}
|
||||
|
||||
for step in step1; do # dummy loop for handling exits
|
||||
|
||||
unset product branch buildtype extra
|
||||
|
||||
while getopts $options optname ;
|
||||
do
|
||||
case $optname in
|
||||
p) product=$OPTARG;;
|
||||
b) branch=$OPTARG;;
|
||||
T) buildtype=$OPTARG;;
|
||||
e) extra=$OPTARG;;
|
||||
esac
|
||||
done
|
||||
|
||||
# echo product=$product, branch=$branch, buildtype=$buildtype, extra=$extra
|
||||
|
||||
if [[ -z "$product" || -z "$branch" || -z "$buildtype" ]]; then
|
||||
echo -n "missing"
|
||||
if [[ -z "$product" ]]; then
|
||||
echo -n " -p product"
|
||||
fi
|
||||
if [[ -z "$branch" ]]; then
|
||||
echo -n " -b branch"
|
||||
fi
|
||||
if [[ -z "$buildtype" ]]; then
|
||||
echo -n " -T buildtype"
|
||||
fi
|
||||
usage
|
||||
myexit 2
|
||||
fi
|
||||
|
||||
if [[ $branch == "1.8.0" ]]; then
|
||||
export BRANCH_CO_FLAGS="-r MOZILLA_1_8_0_BRANCH"
|
||||
elif [[ $branch == "1.8.1" ]]; then
|
||||
export BRANCH_CO_FLAGS="-r MOZILLA_1_8_BRANCH"
|
||||
elif [[ $branch == "1.9.0" ]]; then
|
||||
export BRANCH_CO_FLAGS="";
|
||||
else
|
||||
echo "Unknown branch: $branch"
|
||||
myexit 2
|
||||
fi
|
||||
|
||||
if [[ -n "$WINDIR" ]] ; then
|
||||
OSID=win32
|
||||
# app=bin
|
||||
export platform=i686
|
||||
|
||||
if echo $branch | egrep -q '^1\.8'; then
|
||||
export MOZ_TOOLS="/work/mozilla/moztools"
|
||||
source /work/mozilla/mozilla.com/test.mozilla.com/www/bin/set-msvc6-env.sh
|
||||
else
|
||||
export MOZ_TOOLS="/work/mozilla/moztools-static"
|
||||
source /work/mozilla/mozilla.com/test.mozilla.com/www/bin/set-msvc8-env.sh
|
||||
fi
|
||||
|
||||
echo moztools Location: $MOZ_TOOLS
|
||||
|
||||
elif uname | grep -iq darwin ; then
|
||||
OSID=mac
|
||||
export platform=`uname -p`
|
||||
# if [[ "$product" == "firefox" ]]; then
|
||||
# app=Firefox
|
||||
# elif [[ "$product" == "thunderbird" ]]; then
|
||||
# app=Thunderbird
|
||||
# else
|
||||
# echo "Unsupported product: $product"
|
||||
# myexit 2
|
||||
# fi
|
||||
# if [[ "$buildtype" == "debug" ]]; then
|
||||
# app="${app}Debug"
|
||||
# fi
|
||||
# app="${app}.app"
|
||||
# export APPBIN="$app/Content/MacOS"
|
||||
else
|
||||
OSID=linux
|
||||
# export APPBIN=bin
|
||||
export platform=i686
|
||||
fi
|
||||
|
||||
if [[ -z $extra ]]; then
|
||||
export TREE="$BUILDDIR/$branch"
|
||||
else
|
||||
export TREE="$BUILDDIR/$branch-$extra"
|
||||
|
||||
#
|
||||
# extras can't be placed in mozconfigs since not all parts
|
||||
# of the build system use mozconfig (e.g. js shell) and since
|
||||
# the obj directory is not configurable for them as well thus
|
||||
# requiring separate source trees
|
||||
#
|
||||
|
||||
if [[ "$extra" == "too-much-gc" ]]; then
|
||||
export XCFLAGS="-DWAY_TOO_MUCH_GC=1"
|
||||
export CFLAGS="-DWAY_TOO_MUCH_GC=1"
|
||||
export CXXFLAGS="-DWAY_TOO_MUCH_GC=1"
|
||||
elif [[ "$extra" == "gcov" ]]; then
|
||||
|
||||
if [[ "$OSID" == "win32" ]]; then
|
||||
echo "win32 does not support gcov"
|
||||
myexit 2
|
||||
fi
|
||||
export CFLAGS="--coverage"
|
||||
export CXXFLAGS="--coverage"
|
||||
export XCFLAGS="--coverage"
|
||||
export OS_CFLAGS="--coverage"
|
||||
export LDFLAGS="--coverage"
|
||||
export XLDOPTS="--coverage"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ ! -d $TREE ]]; then
|
||||
echo "Build directory $TREE does not exist"
|
||||
myexit 2
|
||||
fi
|
||||
|
||||
# here project refers to either browser or mail
|
||||
# and is used to find mozilla/(browser|mail)/config/mozconfig
|
||||
if [[ $product == "firefox" ]]; then
|
||||
project=browser
|
||||
export MOZCONFIG="$TREE/mozconfig-firefox-$OSID-$platform-$buildtype"
|
||||
elif [[ $product == "thunderbird" ]]; then
|
||||
project=mail
|
||||
export MOZCONFIG="$TREE/mozconfig-thunderbird-$OSID-$platform-$buildtype"
|
||||
else
|
||||
echo "Assuming project=browser for product: $product"
|
||||
project=browser
|
||||
export MOZCONFIG="$TREE/mozconfig-firefox-$OSID-$platform-$buildtype"
|
||||
fi
|
||||
|
||||
# js shell builds
|
||||
if [[ $buildtype == "debug" ]]; then
|
||||
unset BUILD_OPT
|
||||
else
|
||||
export BUILD_OPT=1
|
||||
fi
|
||||
|
||||
if [[ $OSID == "mac" ]]; then
|
||||
export JS_EDITLINE=1 # required for mac
|
||||
fi
|
||||
# end js shell builds
|
||||
|
||||
set | sed 's/^/environment: /'
|
||||
echo "mozconfig: $MOZCONFIG"
|
||||
cat $MOZCONFIG | sed 's/^/mozconfig: /'
|
||||
done
|
||||
|
|
@ -0,0 +1,69 @@
|
|||
# ***** BEGIN LICENSE BLOCK *****
|
||||
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
#
|
||||
# The contents of this file are subject to the Mozilla Public License Version
|
||||
# 1.1 (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
# http://www.mozilla.org/MPL/
|
||||
#
|
||||
# Software distributed under the License is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
# for the specific language governing rights and limitations under the
|
||||
# License.
|
||||
#
|
||||
# The Original Code is mozilla.org code.
|
||||
#
|
||||
# The Initial Developer of the Original Code is
|
||||
# Mozilla Corporation.
|
||||
# Portions created by the Initial Developer are Copyright (C) 2006.
|
||||
# the Initial Developer. All Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
# Bob Clary <bob@bclary.com>
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the terms of
|
||||
# either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
# in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
# of those above. If you wish to allow use of your version of this file only
|
||||
# under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
# use your version of this file under the terms of the MPL, indicate your
|
||||
# decision by deleting the provisions above and replace them with the notice
|
||||
# and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
# the provisions above, a recipient may use your version of this file under
|
||||
# the terms of any one of the MPL, the GPL or the LGPL.
|
||||
#
|
||||
# ***** END LICENSE BLOCK *****
|
||||
|
||||
# Root of Visual Developer Studio Common files.
|
||||
export VSCommonDir='C:\Program Files\Microsoft Visual Studio\Common'
|
||||
export VSCommonDir_cyg=`cygpath -u "$VSCommonDir"`
|
||||
|
||||
# Root of Visual Developer Studio installed files.
|
||||
export MSDevDir='C:\Program Files\Microsoft Visual Studio\Common\MSDev98'
|
||||
export MSDevDir_cyg=`cygpath -u "$MSDevDir"`
|
||||
|
||||
# Root of Visual C++ installed files.
|
||||
export MSVCDir='C:\Program Files\Microsoft Visual Studio\VC98'
|
||||
export MSVCDir_cyg=`cygpath -u "$MSVCDir"`
|
||||
|
||||
# VcOsDir is used to help create either a Windows 95 or Windows NT specific path.
|
||||
export VcOsDir=WIN95
|
||||
if [[ "$OS" == "Windows_NT" ]]; then
|
||||
export VcOsDir=WINNT
|
||||
fi
|
||||
|
||||
echo Setting environment for using Microsoft Visual C++ tools.
|
||||
|
||||
if [[ "$OS" == "Windows_NT" ]]; then
|
||||
export PATH="$MSDevDir_cyg/Bin":"$MSVCDir_cyg/Bin":"$VSCommonDir_cyg/Tools/$VcOsDir":"$VSCommonDir_cyg/Tools":"$MOZ_TOOLS/bin":"$PATH"
|
||||
elif [[ "$OS" == "" ]]; then
|
||||
export PATH="$MSDevDir_cyg/Bin":"MSVCDir_cyg/Bin":"$VSCommonDir_cyg/Tools/$VcOsDir":"$VSCommonDir_cyg/Tools":"$windir/SYSTEM":$MOZ_TOOLS/bin:"$PATH"
|
||||
fi
|
||||
|
||||
export INCLUDE="$MSVCDir\\ATL\\Include;$MSVCDir\\Include;$MSVCDir\\MFC\\Include;$INCLUDE"
|
||||
export LIB="$MSVCDir\\Lib;$MSVCDir\\MFC\\Lib;$LIB"
|
||||
|
||||
unset VcOsDir
|
||||
unset VSCommonDir
|
||||
|
|
@ -0,0 +1,95 @@
|
|||
# ***** BEGIN LICENSE BLOCK *****
|
||||
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
#
|
||||
# The contents of this file are subject to the Mozilla Public License Version
|
||||
# 1.1 (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
# http://www.mozilla.org/MPL/
|
||||
#
|
||||
# Software distributed under the License is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
# for the specific language governing rights and limitations under the
|
||||
# License.
|
||||
#
|
||||
# The Original Code is mozilla.org code.
|
||||
#
|
||||
# The Initial Developer of the Original Code is
|
||||
# Mozilla Corporation.
|
||||
# Portions created by the Initial Developer are Copyright (C) 2006.
|
||||
# the Initial Developer. All Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
# Bob Clary <bob@bclary.com>
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the terms of
|
||||
# either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
# in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
# of those above. If you wish to allow use of your version of this file only
|
||||
# under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
# use your version of this file under the terms of the MPL, indicate your
|
||||
# decision by deleting the provisions above and replace them with the notice
|
||||
# and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
# the provisions above, a recipient may use your version of this file under
|
||||
# the terms of any one of the MPL, the GPL or the LGPL.
|
||||
#
|
||||
# ***** END LICENSE BLOCK *****
|
||||
|
||||
export VSINSTALLDIR='C:\Program Files\Microsoft Visual Studio 8'
|
||||
export VS80COMNTOOLS='C:\Program Files\Microsoft Visual Studio 8\Common7\Tools\'
|
||||
export VCINSTALLDIR='C:\Program Files\Microsoft Visual Studio 8\VC'
|
||||
export FrameworkDir='C:\WINDOWS\Microsoft.NET\Framework'
|
||||
export FrameworkVersion='v2.0.50727'
|
||||
export FrameworkSDKDir='C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0'
|
||||
|
||||
export VSINSTALLDIR_cyg="/cygdrive/c/Program Files/Microsoft Visual Studio 8"
|
||||
export VCINSTALLDIR_cyg="/cygdrive/c/Program Files/Microsoft Visual Studio 8/VC"
|
||||
|
||||
export DevEnvDir="$VSINSTALLDIR\\Common7\\IDE"
|
||||
export DevEnvDir_cyg="$VSINSTALLDIR_cyg/Common7/IDE"
|
||||
|
||||
export MSVCDir="$VCINSTALLDIR"
|
||||
export MSVCDir_cyg="$VCINSTALLDIR_cyg"
|
||||
|
||||
|
||||
if [ -d "$MSVCDir_cyg"/PlatformSDK ] ; then
|
||||
export PlatformSDKDir="$MSVCDir"\\PlatformSDK
|
||||
export PlatformSDKDir_cyg="$MSVCDir_cyg"/PlatformSDK
|
||||
elif [ -d "/cygdrive/c/Program Files/Microsoft Platform SDK" ] ; then
|
||||
export PlatformSDKDir='C:\Program Files\Microsoft Platform SDK'
|
||||
export PlatformSDKDir_cyg='/cygdrive/c/Program Files/Microsoft Platform SDK'
|
||||
else
|
||||
echo Can\'t find Platform SDK\!
|
||||
break 2
|
||||
fi
|
||||
|
||||
echo Platform SDK Location: $PlatformSDKDir_cyg
|
||||
|
||||
if [ ! -f "$MOZ_TOOLS"/lib/libIDL-0.6_s.lib ] ; then
|
||||
echo Can\'t find moztools\! Edit this file and check MOZ_TOOLS path.
|
||||
fi
|
||||
|
||||
|
||||
export PATH="\
|
||||
$DevEnvDir_cyg:\
|
||||
$PlatformSDKDir_cyg/bin:\
|
||||
$MSVCDir_cyg/bin:\
|
||||
$VSINSTALLDIR_cyg/Common7/Tools:\
|
||||
$VSINSTALLDIR_cyg/Common7/Tools/bin:\
|
||||
$MOZ_TOOLS/bin:\
|
||||
$PATH"
|
||||
|
||||
export INCLUDE="\
|
||||
$MSVCDir\ATLMFC\INCLUDE;\
|
||||
$MSVCDir\INCLUDE;\
|
||||
$PlatformSDKDir\include;\
|
||||
$FrameworkSDKDir\include;\
|
||||
$INCLUDE"
|
||||
|
||||
export LIB="\
|
||||
$MSVCDir\ATLMFC\LIB;\
|
||||
$MSVCDir\LIB;\
|
||||
$PlatformSDKDir\lib;\
|
||||
$FrameworkSDKDir\lib;\
|
||||
$LIB"
|
||||
|
|
@ -0,0 +1,90 @@
|
|||
#!/usr/local/bin/bash -e
|
||||
# ***** BEGIN LICENSE BLOCK *****
|
||||
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
#
|
||||
# The contents of this file are subject to the Mozilla Public License Version
|
||||
# 1.1 (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
# http://www.mozilla.org/MPL/
|
||||
#
|
||||
# Software distributed under the License is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
# for the specific language governing rights and limitations under the
|
||||
# License.
|
||||
#
|
||||
# The Original Code is mozilla.org code.
|
||||
#
|
||||
# The Initial Developer of the Original Code is
|
||||
# Mozilla Corporation.
|
||||
# Portions created by the Initial Developer are Copyright (C) 2006.
|
||||
# the Initial Developer. All Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
# Bob Clary <bob@bclary.com>
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the terms of
|
||||
# either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
# in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
# of those above. If you wish to allow use of your version of this file only
|
||||
# under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
# use your version of this file under the terms of the MPL, indicate your
|
||||
# decision by deleting the provisions above and replace them with the notice
|
||||
# and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
# the provisions above, a recipient may use your version of this file under
|
||||
# the terms of any one of the MPL, the GPL or the LGPL.
|
||||
#
|
||||
# ***** END LICENSE BLOCK *****
|
||||
|
||||
TEST_DIR=${TEST_DIR:-/work/mozilla/mozilla.com/test.mozilla.com/www}
|
||||
TEST_BIN=${TEST_BIN:-$TEST_DIR/bin}
|
||||
source ${TEST_BIN}/library.sh
|
||||
|
||||
if [[ -z "$1" ]]; then
|
||||
echo smoke-build.sh directorypattern
|
||||
exit 2
|
||||
fi
|
||||
|
||||
for filepath in $@; do
|
||||
echo $filepath
|
||||
|
||||
base=`basename $filepath`
|
||||
|
||||
version=`echo $base|sed 's/[^0-9.]*\([0-9]*\).*/\1/'`
|
||||
product=`echo $base|sed 's/\([^-]*\)-.*/\1/'`
|
||||
|
||||
case $version in
|
||||
1) branch=1.8.0;;
|
||||
2) branch=1.8.1;;
|
||||
3) branch=1.9.0;;
|
||||
esac
|
||||
|
||||
echo $product $branch
|
||||
|
||||
install-build.sh -p "$product" -b "$branch" -x "/tmp/$product-$branch" \
|
||||
-f "$filepath"
|
||||
|
||||
if [[ "$product" == "thunderbird" ]]; then
|
||||
template="-L ${TEST_DIR}/profiles/imap"
|
||||
else
|
||||
unset template
|
||||
fi
|
||||
|
||||
create-profile.sh -p "$product" -b "$branch" \
|
||||
-x "/tmp/$product-$branch" \
|
||||
-D "/tmp/$product-$branch-profile" -N "$product-$branch-profile" \
|
||||
-U ${TEST_DIR}/prefs/test-user.js \
|
||||
$template
|
||||
|
||||
install-extensions.sh -p "$product" -b "$branch" \
|
||||
-x "/tmp/$product-$branch" \
|
||||
-N "$product-$branch-profile" \
|
||||
-E ${TEST_DIR}/xpi
|
||||
|
||||
check-spider.sh -p "$product" -b "$branch" \
|
||||
-x "/tmp/$product-$branch" \
|
||||
-N "$product-$branch-profile"
|
||||
|
||||
uninstall-build.sh -p "$product" -b "$branch" -x "/tmp/$product-$branch"
|
||||
|
||||
done
|
|
@ -0,0 +1,257 @@
|
|||
#!/usr/bin/perl
|
||||
# -*- Mode: Perl; tab-width: 4; indent-tabs-mode: nil; -*-
|
||||
# ***** BEGIN LICENSE BLOCK *****
|
||||
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
#
|
||||
# The contents of this file are subject to the Mozilla Public License Version
|
||||
# 1.1 (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
# http://www.mozilla.org/MPL/
|
||||
#
|
||||
# Software distributed under the License is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
# for the specific language governing rights and limitations under the
|
||||
# License.
|
||||
#
|
||||
# The Original Code is Mozilla Automated Testing Code
|
||||
#
|
||||
# The Initial Developer of the Original Code is
|
||||
# Mozilla Corporation.
|
||||
# Portions created by the Initial Developer are Copyright (C) 2005
|
||||
# the Initial Developer. All Rights Reserved.
|
||||
#
|
||||
# Contributor(s): Bob Clary <bob@bclary.com>
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the terms of
|
||||
# either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
# in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
# of those above. If you wish to allow use of your version of this file only
|
||||
# under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
# use your version of this file under the terms of the MPL, indicate your
|
||||
# decision by deleting the provisions above and replace them with the notice
|
||||
# and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
# the provisions above, a recipient may use your version of this file under
|
||||
# the terms of any one of the MPL, the GPL or the LGPL.
|
||||
#
|
||||
# ***** END LICENSE BLOCK *****
|
||||
|
||||
# make unbuffered
|
||||
select STDERR; $| = 1;
|
||||
select STDOUT; $| = 1;
|
||||
|
||||
my $TEST_BIN = $ENV{TEST_BIN} || "/work/mozilla/mozilla.com/test.mozilla.com/www/bin/";
|
||||
|
||||
use File::Temp qw/ tempfile tempdir /;
|
||||
use File::Basename;
|
||||
use Getopt::Mixed "nextOption";
|
||||
use URI::Escape;
|
||||
use Time::HiRes qw(sleep);
|
||||
|
||||
my $DEBUG = 0;
|
||||
|
||||
my $product = "";
|
||||
my $executable = "";
|
||||
my $profile = "";
|
||||
my $url = "";
|
||||
my $domain = "";
|
||||
my $depth = 0;
|
||||
my $timeout = 0;
|
||||
my $wait = 0;
|
||||
my $hook = "";
|
||||
my $start = "off";
|
||||
my $quit = "off";
|
||||
my $robot = "off";
|
||||
my $debug = "off";
|
||||
my $jserrors = "off";
|
||||
my $jswarnings = "off";
|
||||
my $chromeerrors = "off";
|
||||
my $xblerrors = "off";
|
||||
my $csserrors = "off";
|
||||
|
||||
parse_options();
|
||||
|
||||
my $hookon = ($hook ? "on" : "off");
|
||||
my $runtime = dirname($executable);
|
||||
|
||||
chdir $runtime or
|
||||
die "spider.pl: unable to change directory to runtime $runtime";
|
||||
|
||||
|
||||
my $chromeurl;
|
||||
|
||||
my $testUrl;
|
||||
|
||||
my $spider = "chrome://spider/content/spider.xul?" .
|
||||
"domain=$domain&" .
|
||||
"depth=$depth&" .
|
||||
"timeout=$timeout" .
|
||||
"&waittime=$wait&" .
|
||||
"autostart=$start&" .
|
||||
"autoquit=$quit&" .
|
||||
"javascripterrors=$jserrors&" .
|
||||
"javascriptwarnings=$jswarnings&" .
|
||||
"chromeerrors=$chromeerrors&" .
|
||||
"xblerrors=$xblerrors&" .
|
||||
"csserrors=$csserrors&" .
|
||||
"hooksignal=$hookon&" .
|
||||
"url=" . uri_escape(uri_escape($url));
|
||||
|
||||
if ($hook)
|
||||
{
|
||||
$spider .= "&scripturl=" . uri_escape($hook);
|
||||
}
|
||||
|
||||
my @args;
|
||||
my $rc;
|
||||
my $signal;
|
||||
my $dumped;
|
||||
|
||||
if ($product eq "thunderbird")
|
||||
{
|
||||
@args = ($executable, "-P", $profile, $spider);
|
||||
}
|
||||
else
|
||||
{
|
||||
@args = ($executable, "-P", $profile, "-chrome", $spider);
|
||||
}
|
||||
|
||||
system @args;
|
||||
$rc = $? >> 8;
|
||||
|
||||
if ($rc == 99)
|
||||
{
|
||||
exit $rc;
|
||||
}
|
||||
|
||||
sub usage
|
||||
{
|
||||
my $arg = shift @_;
|
||||
my $value = shift @_;
|
||||
|
||||
print <<USAGE;
|
||||
|
||||
Error in $arg: $value
|
||||
|
||||
Usage: spider.pl --product=product --executable=exe --profile=profile --url=url --domain=domain --depth=depth --timeout=timeout --wait=wait --hook=hook
|
||||
--start --quit --robot --debug --jserrors --jswarnings --chromeerrors --xblerrors --csserrors
|
||||
|
||||
Invoke Spider a set of urls.
|
||||
|
||||
product - firefox|thunderbird
|
||||
exe - path to browser executable
|
||||
profile - profile name
|
||||
url - url to spider
|
||||
domain - domain
|
||||
depth - depth each url is to be spidered
|
||||
timeout - time in seconds before Spider times out loading a page
|
||||
wait - pause spider after each page
|
||||
hook - url to Spider userhook script
|
||||
start - auto start
|
||||
quit - auto quit
|
||||
robot - obey robots.txt
|
||||
debug - spider debug
|
||||
jserrors - javascript errors
|
||||
jswarnings - javascript warnings
|
||||
chromeerrors - chrome errors
|
||||
xblerrors - xbl errors
|
||||
csserrors - css errors
|
||||
USAGE
|
||||
exit(2);
|
||||
}
|
||||
|
||||
sub parse_options {
|
||||
my ($option_data, $option, $value, $lastop);
|
||||
|
||||
$option_data = 'product=s executable=s profile=s url=s domain=i depth=i timeout=i wait=i hook=s wait=i start quit robot debug jserrors jswarnings chromeerrors xblerrors csserrors';
|
||||
|
||||
Getopt::Mixed::init ($option_data);
|
||||
$Getopt::Mixed::order = $Getopt::Mixed::RETURN_IN_ORDER;
|
||||
|
||||
$valgrind = 0;
|
||||
|
||||
while (($option, $value) = nextOption())
|
||||
{
|
||||
if ($option eq "product")
|
||||
{
|
||||
$product = $value;
|
||||
}
|
||||
elsif ($option eq "executable")
|
||||
{
|
||||
$executable = $value;
|
||||
}
|
||||
elsif ($option eq "profile")
|
||||
{
|
||||
$profile = $value;
|
||||
}
|
||||
elsif ($option eq "url")
|
||||
{
|
||||
$url = $value;
|
||||
}
|
||||
elsif ($option eq "domain")
|
||||
{
|
||||
$domain = $value;
|
||||
}
|
||||
elsif ($option eq "depth")
|
||||
{
|
||||
$depth = $value;
|
||||
}
|
||||
elsif ($option eq "timeout")
|
||||
{
|
||||
$timeout = $value;
|
||||
}
|
||||
elsif ($option eq "wait")
|
||||
{
|
||||
$wait = $value;
|
||||
}
|
||||
elsif ($option eq "hook")
|
||||
{
|
||||
$hook = $value;
|
||||
}
|
||||
elsif ($option eq "start")
|
||||
{
|
||||
$start = "on";
|
||||
}
|
||||
elsif ($option eq "quit")
|
||||
{
|
||||
$quit = "on";
|
||||
}
|
||||
elsif ($option eq "robot")
|
||||
{
|
||||
$robot = "on";
|
||||
}
|
||||
elsif ($option eq "debug")
|
||||
{
|
||||
$debug = "on";
|
||||
}
|
||||
elsif ($option eq "jserrors")
|
||||
{
|
||||
$jserrors = "on";
|
||||
}
|
||||
elsif ($option eq "jswarnings")
|
||||
{
|
||||
$jswarnings = "on";
|
||||
}
|
||||
elsif ($option eq "chromeerrors")
|
||||
{
|
||||
$chromeerrors = "on";
|
||||
}
|
||||
elsif ($option eq "xblerrors")
|
||||
{
|
||||
$xblerrors = "on";
|
||||
}
|
||||
elsif ($option eq "csserrors")
|
||||
{
|
||||
$csserrors = "on";
|
||||
}
|
||||
$lastopt = $option;
|
||||
}
|
||||
|
||||
Getopt::Mixed::cleanup();
|
||||
|
||||
if ($product ne "firefox" && $product ne "thunderbird")
|
||||
{
|
||||
usage("product", $product);
|
||||
}
|
||||
}
|
||||
1;
|
|
@ -0,0 +1,11 @@
|
|||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>Start Spider</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Start Spider</h1>
|
||||
<p>
|
||||
Initialize Spider...
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,252 @@
|
|||
#!/usr/local/bin/bash -e
|
||||
# -*- Mode: Shell-script; tab-width: 4; indent-tabs-mode: nil; -*-
|
||||
# ***** BEGIN LICENSE BLOCK *****
|
||||
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
#
|
||||
# The contents of this file are subject to the Mozilla Public License Version
|
||||
# 1.1 (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
# http://www.mozilla.org/MPL/
|
||||
#
|
||||
# Software distributed under the License is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
# for the specific language governing rights and limitations under the
|
||||
# License.
|
||||
#
|
||||
# The Original Code is mozilla.org code.
|
||||
#
|
||||
# The Initial Developer of the Original Code is
|
||||
# Mozilla Corporation.
|
||||
# Portions created by the Initial Developer are Copyright (C) 2006.
|
||||
# the Initial Developer. All Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
# Bob Clary <bob@bclary.com>
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the terms of
|
||||
# either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
# in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
# of those above. If you wish to allow use of your version of this file only
|
||||
# under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
# use your version of this file under the terms of the MPL, indicate your
|
||||
# decision by deleting the provisions above and replace them with the notice
|
||||
# and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
# the provisions above, a recipient may use your version of this file under
|
||||
# the terms of any one of the MPL, the GPL or the LGPL.
|
||||
#
|
||||
# ***** END LICENSE BLOCK *****
|
||||
|
||||
TEST_DIR=${TEST_DIR:-/work/mozilla/mozilla.com/test.mozilla.com/www}
|
||||
TEST_BIN=${TEST_BIN:-$TEST_DIR/bin}
|
||||
source ${TEST_BIN}/library.sh
|
||||
|
||||
#
|
||||
# options processing
|
||||
#
|
||||
options="p:b:u:f:c:B:T:x:N:D:L:U:E:d:"
|
||||
function usage()
|
||||
{
|
||||
cat<<EOF
|
||||
usage:
|
||||
$SCRIPT -p product -b branch
|
||||
[-u url [-f filepath] [-c credentials]]
|
||||
[-B buildcommands -T buildtype]
|
||||
[-x executablepath]
|
||||
[-N profilename [-D profiledirectory [-L profiletemplate
|
||||
[-U userpreferences]]]]
|
||||
[-E extensiondir]
|
||||
[-d datafiles]
|
||||
|
||||
variable description
|
||||
=============== ===========================================================
|
||||
-p product required. one of firefox thunderbird
|
||||
-b branch required. one of 1.8.0 1.8.1 1.9.0
|
||||
-u url optional. url where to download build
|
||||
-f filepath optional. location to save downloaded build or to find
|
||||
previously downloaded build. If not specified, the
|
||||
default will be the basename of the url saved to the
|
||||
/tmp directory. If there is no basename, then the
|
||||
filepath will be /tmp/\$product-\$branch-file.
|
||||
-B buildcommands optional. one or more of clean checkout build
|
||||
-T buildtype optional. one of opt debug
|
||||
-x executablepath optional. directory tree containing executable with same
|
||||
name as product. If the build is downloaded and executable
|
||||
path is not specified, it will be defaulted to
|
||||
/tmp/\$product-\$branch.
|
||||
For cvs builds it will be defaulted to the appropriate
|
||||
directory in
|
||||
/work/mozilla/builds/\$branch/mozilla/\$product-\$buildtype/
|
||||
-N profilename optional. profilename. profilename is required if
|
||||
profiledirectory or extensiondir are specified.
|
||||
-D profiledirectory optional. If profiledirectory is specified, a new profile
|
||||
will be created in the directory.
|
||||
-L profiletemplate optional. If a new profile is created, profiletemplate is
|
||||
the path to an existing profile which will be copied over
|
||||
the new profile.
|
||||
-U userpreferences optional. If a new profile is created, userpreferences is
|
||||
the path to a user.js file to be copied into the new
|
||||
profile.
|
||||
If userpreferences is not specified when a new profile is
|
||||
created, it is defaulted to
|
||||
/work/mozilla/mozilla.com/test.mozilla.com/www/prefs/test-user.js
|
||||
-E extensiondir optional. path to directory tree containing extensions to
|
||||
be installed.
|
||||
-d datafiles optional. one or more filenames of files containing
|
||||
environment variable definitions to be included.
|
||||
|
||||
note that the environment variables should have the same
|
||||
names as in the "variable" column.
|
||||
EOF
|
||||
exit 2
|
||||
}
|
||||
|
||||
unset product branch url filepath credentials buildcommands buildtype executablepath profilename profiledirectory profiletemplate userpreferences extenstiondir datafiles
|
||||
|
||||
while getopts $options optname ;
|
||||
do
|
||||
case $optname in
|
||||
p) product="$OPTARG";;
|
||||
b) branch="$OPTARG";;
|
||||
|
||||
u) url="$OPTARG";;
|
||||
f) filepath="$OPTARG";;
|
||||
c) credentials="$OPTARG";;
|
||||
|
||||
B) buildcommands="$OPTARG";;
|
||||
T) buildtype="$OPTARG";;
|
||||
|
||||
x) executablepath="$OPTARG";;
|
||||
|
||||
N) profilename="$OPTARG";;
|
||||
D) profiledirectory="$OPTARG";;
|
||||
L) profiletemplate="$OPTARG";;
|
||||
U) userpreferences="$OPTARG";;
|
||||
|
||||
E) extensiondir="$OPTARG";;
|
||||
|
||||
d) datafiles="$OPTARG";;
|
||||
esac
|
||||
done
|
||||
|
||||
# include environment variables
|
||||
if [[ -n "$datafiles" ]]; then
|
||||
for datafile in $datafiles; do
|
||||
cat $datafile | sed 's|^|data: |'
|
||||
source $datafile
|
||||
done
|
||||
fi
|
||||
|
||||
if [[ -z "$product" || -z "$branch" ]]; then
|
||||
echo "product and branch are required"
|
||||
usage
|
||||
fi
|
||||
|
||||
if [[ ( -n "$url" || -n "$filepath" ) && ( -n "$buildcommands" ) ]]; then
|
||||
echo "you can not both download and build cvs builds at the same time"
|
||||
usage
|
||||
fi
|
||||
|
||||
if [[ -n "$buildcommands" && -n "$executablepath" ]]; then
|
||||
echo "You can not specify the executable path and build cvs builds at the same time"
|
||||
usage
|
||||
fi
|
||||
|
||||
if [[ (-n "$profiledirectory" || -n "$extensiondir" ) && -z "$profilename" ]]; then
|
||||
echo "You must specify a profilename if you specify a profiledirectory or extensiondir"
|
||||
usage
|
||||
fi
|
||||
|
||||
# if the url is specified but not the filepath
|
||||
# generate a default path where to save the
|
||||
# downloaded build.
|
||||
if [[ -n "$url" && -z "$filepath" ]]; then
|
||||
filepath=`basename $url`
|
||||
if [[ -z "$filepath" ]]; then
|
||||
filepath="$product-$branch-file"
|
||||
fi
|
||||
filepath="/tmp/$filepath"
|
||||
fi
|
||||
|
||||
if [[ -n "$url" ]]; then
|
||||
download.sh -u "$url" -c "$credentials" -f "$filepath" -t "$TEST_DOWNLOAD_TIMEOUT"
|
||||
fi
|
||||
|
||||
# install the build at the specified filepath
|
||||
if [[ -n "$filepath" ]]; then
|
||||
if [[ -z "$executablepath" ]]; then
|
||||
executablepath="/tmp/$product-$branch"
|
||||
fi
|
||||
install-build.sh -p $product -b $branch -x $executablepath -f $filepath
|
||||
fi
|
||||
|
||||
if [[ -n "$buildcommands" ]]; then
|
||||
|
||||
if [[ -z "$buildtype" ]]; then
|
||||
echo "You must specify a buildtype if you are building from cvs"
|
||||
usage
|
||||
elif [[ "$buildtype" != "opt" && "$buildtype" != "debug" ]]; then
|
||||
echo "buildtype must be one of opt debug"
|
||||
usage
|
||||
fi
|
||||
|
||||
if [[ "$OSID" == "mac" ]]; then
|
||||
if [[ "$product" == "firefox" ]]; then
|
||||
App=Firefox
|
||||
elif [[ "$product" == "thunderbird" ]]; then
|
||||
App=Thunderbird
|
||||
fi
|
||||
if [[ "$buildtype" == "debug" ]]; then
|
||||
AppType=Debug
|
||||
fi
|
||||
executablepath="/work/mozilla/builds/$branch/mozilla/$product-$buildtype/dist/$App$AppType.app/Contents/MacOS"
|
||||
else
|
||||
executablepath="/work/mozilla/builds/$branch/mozilla/$product/$buildtype/dist/bin"
|
||||
fi
|
||||
|
||||
if echo "$buildcommands" | grep -iq clean; then
|
||||
clean.sh -p $product -b $branch -t $buildtype
|
||||
fi
|
||||
|
||||
if echo "$buildcommands" | grep -iq checkout; then
|
||||
checkout.sh -p $product -b $branch -t $buildtype
|
||||
fi
|
||||
|
||||
if echo "$buildcommands" | grep -iq build; then
|
||||
build.sh -p $product -b $branch -t $buildtype
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
if [[ -n "$profiledirectory" ]]; then
|
||||
|
||||
if [[ -z "$userpreferences" ]]; then
|
||||
userpreferences=/work/mozilla/mozilla.com/test.mozilla.com/www/prefs/test-user.js
|
||||
fi
|
||||
|
||||
unset optargs
|
||||
if [[ -n "$profiletemplate" ]]; then
|
||||
optargs="$optargs -L $profiletemplate"
|
||||
fi
|
||||
if [[ -n "$userpreferences" ]]; then
|
||||
optargs="$optargs -U $userpreferences"
|
||||
fi
|
||||
|
||||
create-profile.sh -p $product -b $branch \
|
||||
-x $executablepath -D $profiledirectory -N $profilename \
|
||||
$optargs
|
||||
fi
|
||||
|
||||
if [[ -n "$extensiondir" ]]; then
|
||||
|
||||
install-extensions.sh -p $product -b $branch \
|
||||
-x $executablepath -N $profilename -E $extensiondir
|
||||
|
||||
check-spider.sh -p $product -b $branch \
|
||||
-x $executablepath -N $profilename
|
||||
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,107 @@
|
|||
#!/usr/local/bin/bash
|
||||
# -*- Mode: Shell-script; tab-width: 4; indent-tabs-mode: nil; -*-
|
||||
# ***** BEGIN LICENSE BLOCK *****
|
||||
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
#
|
||||
# The contents of this file are subject to the Mozilla Public License Version
|
||||
# 1.1 (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
# http://www.mozilla.org/MPL/
|
||||
#
|
||||
# Software distributed under the License is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
# for the specific language governing rights and limitations under the
|
||||
# License.
|
||||
#
|
||||
# The Original Code is mozilla.org code.
|
||||
#
|
||||
# The Initial Developer of the Original Code is
|
||||
# Mozilla Corporation.
|
||||
# Portions created by the Initial Developer are Copyright (C) 2006.
|
||||
# the Initial Developer. All Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
# Bob Clary <bob@bclary.com>
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the terms of
|
||||
# either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
# in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
# of those above. If you wish to allow use of your version of this file only
|
||||
# under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
# use your version of this file under the terms of the MPL, indicate your
|
||||
# decision by deleting the provisions above and replace them with the notice
|
||||
# and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
# the provisions above, a recipient may use your version of this file under
|
||||
# the terms of any one of the MPL, the GPL or the LGPL.
|
||||
#
|
||||
# ***** END LICENSE BLOCK *****
|
||||
|
||||
TEST_DIR=${TEST_DIR:-/work/mozilla/mozilla.com/test.mozilla.com/www}
|
||||
TEST_BIN=${TEST_BIN:-$TEST_DIR/bin}
|
||||
source ${TEST_BIN}/library.sh
|
||||
|
||||
TEST_LOG=/dev/null
|
||||
|
||||
#trap 'echo -e "\n*** ERROR ***\n\b" && tail $TEST_LOG' ERR
|
||||
|
||||
#
|
||||
# options processing
|
||||
#
|
||||
options="p:b:e:T:t:"
|
||||
function usage()
|
||||
{
|
||||
cat<<EOF
|
||||
usage:
|
||||
$SCRIPT -t testscript datalist1 [datalist2 [datalist3 [datalist4]]]
|
||||
|
||||
variable description
|
||||
=============== ===========================================================
|
||||
-t testscript required. quoted test script with required arguments.
|
||||
|
||||
|
||||
executes the testscript using the input data files in
|
||||
$TEST_DIR/data constructed from each
|
||||
combination of the input parameters:
|
||||
|
||||
{item1},{item2},{item3},{item4}
|
||||
|
||||
EOF
|
||||
exit 2
|
||||
}
|
||||
|
||||
unset testscript testargs
|
||||
|
||||
while getopts $options optname ;
|
||||
do
|
||||
case $optname in
|
||||
t)
|
||||
testscript="$OPTARG"
|
||||
if echo $testscript | grep -iq ' ' ; then
|
||||
testargs=`echo $testscript | sed 's|\([^ ]*\) \+\(.*\)|\2|'`
|
||||
testscript=`echo $testscript | sed 's|\( .*\)||'`
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [[ -z "$testscript" ]]; then
|
||||
usage
|
||||
fi
|
||||
|
||||
shift 2
|
||||
|
||||
datalist=`combo.sh "$@"`
|
||||
|
||||
TEST_ID=`dirname $testscript | sed "s|$TEST_DIR/||" | sed "s|/|_|g"`
|
||||
|
||||
for data in $datalist; do
|
||||
TEST_DATE=`date -u +%Y-%m-%d-%H-%M-%S``date +%z`
|
||||
TEST_LOG="${TEST_DIR}/results/${TEST_DATE},$data,$OSID,${MACHINE},$TEST_ID.log"
|
||||
|
||||
echo "writing results to $TEST_LOG"
|
||||
|
||||
test-setup.sh -d $TEST_DIR/data/$data.data >> $TEST_LOG 2>&1
|
||||
|
||||
$testscript $testargs -d $TEST_DIR/data/$data.data >> $TEST_LOG 2>&1
|
||||
done
|
|
@ -0,0 +1,11 @@
|
|||
--- thunderbird 2006-03-08 07:04:19.000000000 -0500
|
||||
+++ thunderbird.new 2006-04-20 14:14:41.864224000 -0400
|
||||
@@ -179,7 +179,7 @@
|
||||
then
|
||||
echo $dist_bin/run-mozilla.sh $script_args $dist_bin/$MOZILLA_BIN "$@"
|
||||
fi
|
||||
-"$dist_bin/run-mozilla.sh" $script_args "$dist_bin/$MOZILLA_BIN" "$@"
|
||||
+exec "$dist_bin/run-mozilla.sh" $script_args "$dist_bin/$MOZILLA_BIN" "$@"
|
||||
exitcode=$?
|
||||
|
||||
## Stop addon scripts
|
|
@ -0,0 +1,114 @@
|
|||
#!/usr/bin/python -u
|
||||
# ***** BEGIN LICENSE BLOCK *****
|
||||
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
#
|
||||
# The contents of this file are subject to the Mozilla Public License Version
|
||||
# 1.1 (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
# http://www.mozilla.org/MPL/
|
||||
#
|
||||
# Software distributed under the License is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
# for the specific language governing rights and limitations under the
|
||||
# License.
|
||||
#
|
||||
# The Original Code is mozilla.org code.
|
||||
#
|
||||
# The Initial Developer of the Original Code is
|
||||
# Mozilla Foundation.
|
||||
# Portions created by the Initial Developer are Copyright (C) 2004
|
||||
# the Initial Developer. All Rights Reserved.
|
||||
#
|
||||
# Contributor(s): Chris Cooper
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the terms of
|
||||
# either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
# in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
# of those above. If you wish to allow use of your version of this file only
|
||||
# under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
# use your version of this file under the terms of the MPL, indicate your
|
||||
# decision by deleting the provisions above and replace them with the notice
|
||||
# and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
# the provisions above, a recipient may use your version of this file under
|
||||
# the terms of any one of the MPL, the GPL or the LGPL.
|
||||
#
|
||||
# ***** END LICENSE BLOCK *****
|
||||
|
||||
# Usage: timed_run timeout prefix command args
|
||||
import os, signal, sys, time
|
||||
|
||||
#
|
||||
# returns exit code as follows:
|
||||
#
|
||||
exitOSError = 66
|
||||
exitSignal = 77
|
||||
exitTimeout = 88
|
||||
exitInterrupt = 99
|
||||
|
||||
pid = None
|
||||
prefix = sys.argv[2]
|
||||
elapsedtime = 0
|
||||
|
||||
if prefix == "-":
|
||||
prefix = ''
|
||||
else:
|
||||
prefix = prefix + ':'
|
||||
|
||||
def alarm_handler(signum, frame):
|
||||
global pid
|
||||
global prefix
|
||||
try:
|
||||
print "%s EXIT STATUS: TIMED OUT (%s seconds)" % (prefix, sys.argv[1])
|
||||
os.kill(pid, signal.SIGKILL)
|
||||
except:
|
||||
pass
|
||||
sys.exit(exitTimeout)
|
||||
|
||||
def forkexec(command, args):
|
||||
global prefix
|
||||
global elapsedtime
|
||||
#print command
|
||||
#print args
|
||||
try:
|
||||
pid = os.fork()
|
||||
if pid == 0: # Child
|
||||
os.execvp(command, args)
|
||||
else: # Parent
|
||||
return pid
|
||||
except OSError, e:
|
||||
print "%s ERROR: %s %s failed: %d (%s) (%f seconds)" % (prefix, command, args, e.errno, e.strerror, elapsedtime)
|
||||
sys.exit(exitOSError)
|
||||
|
||||
signal.signal(signal.SIGALRM, alarm_handler)
|
||||
signal.alarm(int(sys.argv[1]))
|
||||
starttime = time.time()
|
||||
try:
|
||||
pid = forkexec(sys.argv[3], sys.argv[3:])
|
||||
status = os.waitpid(pid, 0)[1]
|
||||
signal.alarm(0) # Cancel the alarm
|
||||
stoptime = time.time()
|
||||
elapsedtime = stoptime - starttime
|
||||
if os.WIFEXITED(status):
|
||||
rc = os.WEXITSTATUS(status)
|
||||
msg = ''
|
||||
if rc == 0:
|
||||
msg = 'NORMAL'
|
||||
elif rc < 3:
|
||||
msg = 'ABNORMAL ' + str(rc)
|
||||
rc = exitSignal
|
||||
else:
|
||||
msg = 'CRASHED ' + str(rc)
|
||||
rc = exitSignal
|
||||
|
||||
print "%s EXIT STATUS: %s (%f seconds)" % (prefix, msg, elapsedtime)
|
||||
sys.exit(rc)
|
||||
elif os.WIFSIGNALED(status):
|
||||
print "%s EXIT STATUS: CRASHED signal %d (%f seconds)" % (prefix, os.WTERMSIG(status), elapsedtime)
|
||||
sys.exit(exitSignal)
|
||||
else:
|
||||
print "%s EXIT STATUS: NONE (%f seconds)" % (prefix, elapsedtime)
|
||||
sys.exit(0)
|
||||
except KeyboardInterrupt:
|
||||
os.kill(pid, 9)
|
||||
sys.exit(exitInterrupt)
|
|
@ -0,0 +1,163 @@
|
|||
#!/usr/local/bin/bash -e
|
||||
# -*- Mode: Shell-script; tab-width: 4; indent-tabs-mode: nil; -*-
|
||||
# ***** BEGIN LICENSE BLOCK *****
|
||||
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
#
|
||||
# The contents of this file are subject to the Mozilla Public License Version
|
||||
# 1.1 (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
# http://www.mozilla.org/MPL/
|
||||
#
|
||||
# Software distributed under the License is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
# for the specific language governing rights and limitations under the
|
||||
# License.
|
||||
#
|
||||
# The Original Code is mozilla.org code.
|
||||
#
|
||||
# The Initial Developer of the Original Code is
|
||||
# Mozilla Corporation.
|
||||
# Portions created by the Initial Developer are Copyright (C) 2006.
|
||||
# the Initial Developer. All Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
# Bob Clary <bob@bclary.com>
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the terms of
|
||||
# either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
# in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
# of those above. If you wish to allow use of your version of this file only
|
||||
# under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
# use your version of this file under the terms of the MPL, indicate your
|
||||
# decision by deleting the provisions above and replace them with the notice
|
||||
# and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
# the provisions above, a recipient may use your version of this file under
|
||||
# the terms of any one of the MPL, the GPL or the LGPL.
|
||||
#
|
||||
# ***** END LICENSE BLOCK *****
|
||||
|
||||
TEST_DIR=${TEST_DIR:-/work/mozilla/mozilla.com/test.mozilla.com/www}
|
||||
TEST_BIN=${TEST_BIN:-$TEST_DIR/bin}
|
||||
source ${TEST_BIN}/library.sh
|
||||
|
||||
#
|
||||
# options processing
|
||||
#
|
||||
options="p:b:x:d:"
|
||||
function usage()
|
||||
{
|
||||
cat <<EOF
|
||||
usage:
|
||||
$SCRIPT -p product -b branch -x executablepath [-d datafiles]
|
||||
|
||||
variable description
|
||||
=============== ============================================================
|
||||
-p product required. firefox|thunderbird
|
||||
-b branch required. 1.8.0|1.8.1|1.9.0
|
||||
-x executablepath required. directory where build is installed
|
||||
-d datafiles optional. one or more filenames of files containing
|
||||
environment variable definitions to be included.
|
||||
|
||||
note that the environment variables should have the same
|
||||
names as in the "variable" column.
|
||||
|
||||
Uninstalls build located in directory-tree 'executablepath'
|
||||
then removes the directory upon completion.
|
||||
|
||||
EOF
|
||||
exit 1
|
||||
}
|
||||
|
||||
unset product branch executablepath datafiles
|
||||
|
||||
while getopts $options optname ;
|
||||
do
|
||||
case $optname in
|
||||
p) product=$OPTARG;;
|
||||
b) branch=$OPTARG;;
|
||||
x) executablepath=$OPTARG;;
|
||||
d) datafiles=$OPTARG;;
|
||||
esac
|
||||
done
|
||||
|
||||
# include environment variables
|
||||
if [[ -n "$datafiles" ]]; then
|
||||
for datafile in $datafiles; do
|
||||
cat $datafile | sed 's|^|data: |'
|
||||
source $datafile
|
||||
done
|
||||
fi
|
||||
|
||||
if [[ -z "$product" || -z "$branch" || -z "$executablepath" ]]
|
||||
then
|
||||
usage
|
||||
fi
|
||||
|
||||
|
||||
if [[ ! -d "$executablepath" ]]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
executable=`get_executable $product $branch $executablepath`
|
||||
|
||||
if [[ -z "$executable" ]]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
executabledir=`dirname $executable`
|
||||
|
||||
if [[ $OSID == "win32" ]]; then
|
||||
# see http://nsis.sourceforge.net/Docs/Chapter3.html
|
||||
|
||||
# if the directory already exists, attempt to uninstall
|
||||
# any existing installation.
|
||||
|
||||
if [[ -d "$executabledir/uninstall" ]]; then
|
||||
|
||||
if [[ $branch == "1.8.0" ]]; then
|
||||
uninstallexe="$executabledir/uninstall/uninstall.exe"
|
||||
uninstallini="$executabledir/uninstall/uninstall.ini"
|
||||
if [[ -n "$uninstallexe" && -e "$uninstallexe" ]]; then
|
||||
if sed -i.bak 's/Run Mode=Normal/Run Mode=Silent/' $uninstallini;
|
||||
then
|
||||
# uninstall.exe will return non zero exit codes
|
||||
# for no damn reason.
|
||||
if $uninstallexe; then
|
||||
true
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
elif [[ $branch == "1.8.1" || $branch == "1.9.0" ]]; then
|
||||
uninstalloldexe="$executabledir/uninstall/uninst.exe"
|
||||
uninstallnewexe="$executabledir/uninstall/helper.exe"
|
||||
if [[ -n "$uninstallnewexe" && -e "$uninstallnewexe" ]]; then
|
||||
$uninstallnewexe /S /D=`cygpath -a -w $executabledir | sed 's@\\\\@\\\\\\\\@g'`
|
||||
elif [[ -n "$uninstalloldexe" && -e "$uninstalloldexe" ]]; then
|
||||
$uninstalloldexe /S /D=`cygpath -a -w $executabledir | sed 's@\\\\@\\\\\\\\@g'`
|
||||
else
|
||||
uninstallexe="$executabledir/$product/uninstall/uninstaller.exe"
|
||||
if [[ -n "$uninstallexe" && -e "$uninstallexe" ]]; then
|
||||
$uninstallexe /S /D=`cygpath -a -w "$executabledir" | sed 's@\\\\@\\\\\\\\@g'`
|
||||
fi
|
||||
fi
|
||||
else
|
||||
error "Unknown branch $branch"
|
||||
fi
|
||||
# the NSIS uninstaller will copy itself, then fork to the new
|
||||
# copy so that it can delete itself. This causes a race condition
|
||||
# between the uninstaller deleting the files and the rm command below
|
||||
# sleep for 10 seconds to give the uninstaller time to complete before
|
||||
# the installation directory is removed.
|
||||
sleep 10
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
# safely creates/deletes a directory. If we pass this,
|
||||
# then we know it is safe to remove the directory.
|
||||
|
||||
${TEST_BIN}/create-directory.sh -d "$executablepath" -n
|
||||
|
||||
rm -fR "$executablepath"
|
||||
|
|
@ -0,0 +1,65 @@
|
|||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
*
|
||||
* The contents of this file are subject to the Mozilla Public License Version
|
||||
* 1.1 (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
* http://www.mozilla.org/MPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
* for the specific language governing rights and limitations under the
|
||||
* License.
|
||||
*
|
||||
* The Original Code is JavaScript Engine testing utilities.
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* Mozilla Foundation.
|
||||
* Portions created by the Initial Developer are Copyright (C) 2006
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s): Bob Clary
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
* in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
* of those above. If you wish to allow use of your version of this file only
|
||||
* under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
* use your version of this file under the terms of the MPL, indicate your
|
||||
* decision by deleting the provisions above and replace them with the notice
|
||||
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
* the provisions above, a recipient may use your version of this file under
|
||||
* the terms of any one of the MPL, the GPL or the LGPL.
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
/*
|
||||
* Spider hook function to check if spider is working.
|
||||
*/
|
||||
|
||||
|
||||
function userOnStart()
|
||||
{
|
||||
}
|
||||
|
||||
function userOnBeforePage()
|
||||
{
|
||||
}
|
||||
|
||||
function userOnAfterPage()
|
||||
{
|
||||
gPageCompleted = true;
|
||||
}
|
||||
|
||||
function userOnStop()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
gConsoleListener.onConsoleMessage =
|
||||
function userOnConsoleMessage(s)
|
||||
{
|
||||
dump(s);
|
||||
};
|
|
@ -0,0 +1,12 @@
|
|||
allurl=http://stage.mozilla.org/pub/mozilla.org/firefox/nightly/1.5.0.12-candidates/rc2/
|
||||
product=firefox
|
||||
branch=1.8.1
|
||||
url=http://releases.mozilla.org/pub/mozilla.org/firefox/releases/2.0.0.3/linux-i686/en-US/firefox-2.0.0.3.tar.gz
|
||||
profilename=firefox-1.8.1-profile
|
||||
profiledirectory=/tmp/firefox-1.8.1-profile
|
||||
executablepath=/tmp/firefox-1.8.1
|
||||
userpreferences=/work/mozilla/mozilla.com/test.mozilla.com/www/prefs/test-user.js
|
||||
extensiondir=/work/mozilla/mozilla.com/test.mozilla.com/www/xpi
|
||||
test=ftp
|
||||
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
allurl=http://stage.mozilla.org/pub/mozilla.org/firefox/nightly/1.5.0.12-candidates/rc2/
|
||||
product=firefox
|
||||
branch=1.8.1
|
||||
url=http://releases.mozilla.org/pub/mozilla.org/firefox/releases/2.0.0.3/mac/en-US/Firefox%202.0.0.3.dmg
|
||||
profilename=firefox-1.8.1-profile
|
||||
profiledirectory=/tmp/firefox-1.8.1-profile
|
||||
executablepath=/tmp/firefox-1.8.1
|
||||
userpreferences=/work/mozilla/mozilla.com/test.mozilla.com/www/prefs/test-user.js
|
||||
extensiondir=/work/mozilla/mozilla.com/test.mozilla.com/www/xpi
|
||||
test=ftp
|
||||
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
allurl=http://stage.mozilla.org/pub/mozilla.org/firefox/nightly/1.5.0.12-candidates/rc2/
|
||||
product=firefox
|
||||
branch=1.8.1
|
||||
url=http://releases.mozilla.org/pub/mozilla.org/firefox/releases/2.0.0.3/win32/en-US/Firefox%20Setup%202.0.0.3.exe
|
||||
profilename=firefox-1.8.1-profile
|
||||
profiledirectory=/tmp/firefox-1.8.1-profile
|
||||
executablepath=/tmp/firefox-1.8.1
|
||||
userpreferences=/work/mozilla/mozilla.com/test.mozilla.com/www/prefs/test-user.js
|
||||
extensiondir=/work/mozilla/mozilla.com/test.mozilla.com/www/xpi
|
||||
test=ftp
|
||||
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
allurl=http://stage.mozilla.org/pub/mozilla.org/firefox/nightly/2.0.0.4-candidates/rc2/
|
||||
product=firefox
|
||||
branch=1.8.1
|
||||
url=http://releases.mozilla.org/pub/mozilla.org/firefox/releases/2.0.0.3/linux-i686/en-US/firefox-2.0.0.3.tar.gz
|
||||
profilename=firefox-1.8.1-profile
|
||||
profiledirectory=/tmp/firefox-1.8.1-profile
|
||||
executablepath=/tmp/firefox-1.8.1
|
||||
userpreferences=/work/mozilla/mozilla.com/test.mozilla.com/www/prefs/test-user.js
|
||||
extensiondir=/work/mozilla/mozilla.com/test.mozilla.com/www/xpi
|
||||
test=ftp
|
||||
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
allurl=http://stage.mozilla.org/pub/mozilla.org/firefox/nightly/2.0.0.4-candidates/rc2/
|
||||
product=firefox
|
||||
branch=1.8.1
|
||||
url=http://releases.mozilla.org/pub/mozilla.org/firefox/releases/2.0.0.3/mac/en-US/Firefox%202.0.0.3.dmg
|
||||
profilename=firefox-1.8.1-profile
|
||||
profiledirectory=/tmp/firefox-1.8.1-profile
|
||||
executablepath=/tmp/firefox-1.8.1
|
||||
userpreferences=/work/mozilla/mozilla.com/test.mozilla.com/www/prefs/test-user.js
|
||||
extensiondir=/work/mozilla/mozilla.com/test.mozilla.com/www/xpi
|
||||
test=ftp
|
||||
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
allurl=http://stage.mozilla.org/pub/mozilla.org/firefox/nightly/2.0.0.4-candidates/rc2/
|
||||
product=firefox
|
||||
branch=1.8.1
|
||||
url=http://releases.mozilla.org/pub/mozilla.org/firefox/releases/2.0.0.3/win32/en-US/Firefox%20Setup%202.0.0.3.exe
|
||||
profilename=firefox-1.8.1-profile
|
||||
profiledirectory=/tmp/firefox-1.8.1-profile
|
||||
executablepath=/tmp/firefox-1.8.1
|
||||
userpreferences=/work/mozilla/mozilla.com/test.mozilla.com/www/prefs/test-user.js
|
||||
extensiondir=/work/mozilla/mozilla.com/test.mozilla.com/www/xpi
|
||||
test=ftp
|
||||
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
allurl=http://khan.landfill.bugzilla.org/en-US/firefox/all.html
|
||||
product=firefox
|
||||
branch=1.8.1
|
||||
url=http://releases.mozilla.org/pub/mozilla.org/firefox/releases/2.0.0.3/linux-i686/en-US/firefox-2.0.0.3.tar.gz
|
||||
profilename=firefox-1.8.1-profile
|
||||
profiledirectory=/tmp/firefox-1.8.1-profile
|
||||
executablepath=/tmp/firefox-1.8.1
|
||||
userpreferences=/work/mozilla/mozilla.com/test.mozilla.com/www/prefs/test-user.js
|
||||
extensiondir=/work/mozilla/mozilla.com/test.mozilla.com/www/xpi
|
||||
test=all
|
||||
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
allurl=http://khan.landfill.bugzilla.org/en-US/firefox/all.html
|
||||
product=firefox
|
||||
branch=1.8.1
|
||||
url=http://releases.mozilla.org/pub/mozilla.org/firefox/releases/2.0.0.3/mac/en-US/Firefox%202.0.0.3.dmg
|
||||
profilename=firefox-1.8.1-profile
|
||||
profiledirectory=/tmp/firefox-1.8.1-profile
|
||||
executablepath=/tmp/firefox-1.8.1
|
||||
userpreferences=/work/mozilla/mozilla.com/test.mozilla.com/www/prefs/test-user.js
|
||||
extensiondir=/work/mozilla/mozilla.com/test.mozilla.com/www/xpi
|
||||
test=all
|
||||
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
allurl=http://khan.landfill.bugzilla.org/en-US/firefox/all.html
|
||||
product=firefox
|
||||
branch=1.8.1
|
||||
url=http://releases.mozilla.org/pub/mozilla.org/firefox/releases/2.0.0.3/win32/en-US/Firefox%20Setup%202.0.0.3.exe
|
||||
profilename=firefox-1.8.1-profile
|
||||
profiledirectory=/tmp/firefox-1.8.1-profile
|
||||
executablepath=/tmp/firefox-1.8.1
|
||||
userpreferences=/work/mozilla/mozilla.com/test.mozilla.com/www/prefs/test-user.js
|
||||
extensiondir=/work/mozilla/mozilla.com/test.mozilla.com/www/xpi
|
||||
test=all
|
||||
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
allurl=http://khan.landfill.bugzilla.org/en-US/firefox/all-older.html
|
||||
product=firefox
|
||||
branch=1.8.1
|
||||
url=http://releases.mozilla.org/pub/mozilla.org/firefox/releases/2.0.0.3/linux-i686/en-US/firefox-2.0.0.3.tar.gz
|
||||
profilename=firefox-1.8.1-profile
|
||||
profiledirectory=/tmp/firefox-1.8.1-profile
|
||||
executablepath=/tmp/firefox-1.8.1
|
||||
userpreferences=/work/mozilla/mozilla.com/test.mozilla.com/www/prefs/test-user.js
|
||||
extensiondir=/work/mozilla/mozilla.com/test.mozilla.com/www/xpi
|
||||
test=all
|
||||
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
allurl=http://khan.landfill.bugzilla.org/en-US/firefox/all-older.html
|
||||
product=firefox
|
||||
branch=1.8.1
|
||||
url=http://releases.mozilla.org/pub/mozilla.org/firefox/releases/2.0.0.3/mac/en-US/Firefox%202.0.0.3.dmg
|
||||
profilename=firefox-1.8.1-profile
|
||||
profiledirectory=/tmp/firefox-1.8.1-profile
|
||||
executablepath=/tmp/firefox-1.8.1
|
||||
userpreferences=/work/mozilla/mozilla.com/test.mozilla.com/www/prefs/test-user.js
|
||||
extensiondir=/work/mozilla/mozilla.com/test.mozilla.com/www/xpi
|
||||
test=all
|
||||
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
allurl=http://khan.landfill.bugzilla.org/en-US/firefox/all-older.html
|
||||
product=firefox
|
||||
branch=1.8.1
|
||||
url=http://releases.mozilla.org/pub/mozilla.org/firefox/releases/2.0.0.3/win32/en-US/Firefox%20Setup%202.0.0.3.exe
|
||||
profilename=firefox-1.8.1-profile
|
||||
profiledirectory=/tmp/firefox-1.8.1-profile
|
||||
executablepath=/tmp/firefox-1.8.1
|
||||
userpreferences=/work/mozilla/mozilla.com/test.mozilla.com/www/prefs/test-user.js
|
||||
extensiondir=/work/mozilla/mozilla.com/test.mozilla.com/www/xpi
|
||||
test=all
|
||||
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
allurl=http://stage.mozilla.org/pub/mozilla.org/thunderbird/nightly/1.5.0.12-candidates/rc2/
|
||||
product=firefox
|
||||
branch=1.8.1
|
||||
url=http://releases.mozilla.org/pub/mozilla.org/firefox/releases/2.0.0.3/linux-i686/en-US/firefox-2.0.0.3.tar.gz
|
||||
profilename=firefox-1.8.1-profile
|
||||
profiledirectory=/tmp/firefox-1.8.1-profile
|
||||
executablepath=/tmp/firefox-1.8.1
|
||||
userpreferences=/work/mozilla/mozilla.com/test.mozilla.com/www/prefs/test-user.js
|
||||
extensiondir=/work/mozilla/mozilla.com/test.mozilla.com/www/xpi
|
||||
test=ftp
|
||||
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
allurl=http://stage.mozilla.org/pub/mozilla.org/thunderbird/nightly/1.5.0.12-candidates/rc2/
|
||||
product=firefox
|
||||
branch=1.8.1
|
||||
url=http://releases.mozilla.org/pub/mozilla.org/firefox/releases/2.0.0.3/mac/en-US/Firefox%202.0.0.3.dmg
|
||||
profilename=firefox-1.8.1-profile
|
||||
profiledirectory=/tmp/firefox-1.8.1-profile
|
||||
executablepath=/tmp/firefox-1.8.1
|
||||
userpreferences=/work/mozilla/mozilla.com/test.mozilla.com/www/prefs/test-user.js
|
||||
extensiondir=/work/mozilla/mozilla.com/test.mozilla.com/www/xpi
|
||||
test=ftp
|
||||
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
allurl=http://stage.mozilla.org/pub/mozilla.org/thunderbird/nightly/1.5.0.12-candidates/rc2/
|
||||
product=firefox
|
||||
branch=1.8.1
|
||||
url=http://releases.mozilla.org/pub/mozilla.org/firefox/releases/2.0.0.3/win32/en-US/Firefox%20Setup%202.0.0.3.exe
|
||||
profilename=firefox-1.8.1-profile
|
||||
profiledirectory=/tmp/firefox-1.8.1-profile
|
||||
executablepath=/tmp/firefox-1.8.1
|
||||
userpreferences=/work/mozilla/mozilla.com/test.mozilla.com/www/prefs/test-user.js
|
||||
extensiondir=/work/mozilla/mozilla.com/test.mozilla.com/www/xpi
|
||||
test=ftp
|
||||
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
allurl=http://stage.mozilla.org/pub/mozilla.org/thunderbird/nightly/2.0.0.4-candidates/rc2/
|
||||
product=firefox
|
||||
branch=1.8.1
|
||||
url=http://releases.mozilla.org/pub/mozilla.org/firefox/releases/2.0.0.3/linux-i686/en-US/firefox-2.0.0.3.tar.gz
|
||||
profilename=firefox-1.8.1-profile
|
||||
profiledirectory=/tmp/firefox-1.8.1-profile
|
||||
executablepath=/tmp/firefox-1.8.1
|
||||
userpreferences=/work/mozilla/mozilla.com/test.mozilla.com/www/prefs/test-user.js
|
||||
extensiondir=/work/mozilla/mozilla.com/test.mozilla.com/www/xpi
|
||||
test=ftp
|
||||
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
allurl=http://stage.mozilla.org/pub/mozilla.org/thunderbird/nightly/2.0.0.4-candidates/rc2/
|
||||
product=firefox
|
||||
branch=1.8.1
|
||||
url=http://releases.mozilla.org/pub/mozilla.org/firefox/releases/2.0.0.3/mac/en-US/Firefox%202.0.0.3.dmg
|
||||
profilename=firefox-1.8.1-profile
|
||||
profiledirectory=/tmp/firefox-1.8.1-profile
|
||||
executablepath=/tmp/firefox-1.8.1
|
||||
userpreferences=/work/mozilla/mozilla.com/test.mozilla.com/www/prefs/test-user.js
|
||||
extensiondir=/work/mozilla/mozilla.com/test.mozilla.com/www/xpi
|
||||
test=ftp
|
||||
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
allurl=http://stage.mozilla.org/pub/mozilla.org/firefox/thunderbird/2.0.0.4-candidates/rc2/
|
||||
product=firefox
|
||||
branch=1.8.1
|
||||
url=http://releases.mozilla.org/pub/mozilla.org/firefox/releases/2.0.0.3/win32/en-US/Firefox%20Setup%202.0.0.3.exe
|
||||
profilename=firefox-1.8.1-profile
|
||||
profiledirectory=/tmp/firefox-1.8.1-profile
|
||||
executablepath=/tmp/firefox-1.8.1
|
||||
userpreferences=/work/mozilla/mozilla.com/test.mozilla.com/www/prefs/test-user.js
|
||||
extensiondir=/work/mozilla/mozilla.com/test.mozilla.com/www/xpi
|
||||
test=ftp
|
||||
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
allurl=http://khan.landfill.bugzilla.org/en-US/thunderbird/all.html
|
||||
product=firefox
|
||||
branch=1.8.1
|
||||
url=http://releases.mozilla.org/pub/mozilla.org/firefox/releases/2.0.0.3/linux-i686/en-US/firefox-2.0.0.3.tar.gz
|
||||
profilename=firefox-1.8.1-profile
|
||||
profiledirectory=/tmp/firefox-1.8.1-profile
|
||||
executablepath=/tmp/firefox-1.8.1
|
||||
userpreferences=/work/mozilla/mozilla.com/test.mozilla.com/www/prefs/test-user.js
|
||||
extensiondir=/work/mozilla/mozilla.com/test.mozilla.com/www/xpi
|
||||
test=all
|
||||
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
allurl=http://khan.landfill.bugzilla.org/en-US/thunderbird/all.html
|
||||
product=firefox
|
||||
branch=1.8.1
|
||||
url=http://releases.mozilla.org/pub/mozilla.org/firefox/releases/2.0.0.3/mac/en-US/Firefox%202.0.0.3.dmg
|
||||
profilename=firefox-1.8.1-profile
|
||||
profiledirectory=/tmp/firefox-1.8.1-profile
|
||||
executablepath=/tmp/firefox-1.8.1
|
||||
userpreferences=/work/mozilla/mozilla.com/test.mozilla.com/www/prefs/test-user.js
|
||||
extensiondir=/work/mozilla/mozilla.com/test.mozilla.com/www/xpi
|
||||
test=all
|
||||
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
allurl=http://khan.landfill.bugzilla.org/en-US/thunderbird/all.html
|
||||
product=firefox
|
||||
branch=1.8.1
|
||||
url=http://releases.mozilla.org/pub/mozilla.org/firefox/releases/2.0.0.3/win32/en-US/Firefox%20Setup%202.0.0.3.exe
|
||||
profilename=firefox-1.8.1-profile
|
||||
profiledirectory=/tmp/firefox-1.8.1-profile
|
||||
executablepath=/tmp/firefox-1.8.1
|
||||
userpreferences=/work/mozilla/mozilla.com/test.mozilla.com/www/prefs/test-user.js
|
||||
extensiondir=/work/mozilla/mozilla.com/test.mozilla.com/www/xpi
|
||||
test=all
|
||||
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
allurl=http://khan.landfill.bugzilla.org/en-US/thunderbird/all-older.html
|
||||
product=firefox
|
||||
branch=1.8.1
|
||||
url=http://releases.mozilla.org/pub/mozilla.org/firefox/releases/2.0.0.3/linux-i686/en-US/firefox-2.0.0.3.tar.gz
|
||||
profilename=firefox-1.8.1-profile
|
||||
profiledirectory=/tmp/firefox-1.8.1-profile
|
||||
executablepath=/tmp/firefox-1.8.1
|
||||
userpreferences=/work/mozilla/mozilla.com/test.mozilla.com/www/prefs/test-user.js
|
||||
extensiondir=/work/mozilla/mozilla.com/test.mozilla.com/www/xpi
|
||||
test=all
|
||||
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
allurl=http://khan.landfill.bugzilla.org/en-US/thunderbird/all-older.html
|
||||
product=firefox
|
||||
branch=1.8.1
|
||||
url=http://releases.mozilla.org/pub/mozilla.org/firefox/releases/2.0.0.3/mac/en-US/Firefox%202.0.0.3.dmg
|
||||
profilename=firefox-1.8.1-profile
|
||||
profiledirectory=/tmp/firefox-1.8.1-profile
|
||||
executablepath=/tmp/firefox-1.8.1
|
||||
userpreferences=/work/mozilla/mozilla.com/test.mozilla.com/www/prefs/test-user.js
|
||||
extensiondir=/work/mozilla/mozilla.com/test.mozilla.com/www/xpi
|
||||
test=all
|
||||
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
allurl=http://khan.landfill.bugzilla.org/en-US/thunderbird/all-older.html
|
||||
product=firefox
|
||||
branch=1.8.1
|
||||
url=http://releases.mozilla.org/pub/mozilla.org/firefox/releases/2.0.0.3/win32/en-US/Firefox%20Setup%202.0.0.3.exe
|
||||
profilename=firefox-1.8.1-profile
|
||||
profiledirectory=/tmp/firefox-1.8.1-profile
|
||||
executablepath=/tmp/firefox-1.8.1
|
||||
userpreferences=/work/mozilla/mozilla.com/test.mozilla.com/www/prefs/test-user.js
|
||||
extensiondir=/work/mozilla/mozilla.com/test.mozilla.com/www/xpi
|
||||
test=all
|
||||
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
product=firefox
|
||||
branch=1.8.0
|
||||
profilename=firefox-1.8.0-profile
|
||||
profiledirectory=/tmp/firefox-1.8.0-profile
|
||||
executablepath=/work/mozilla/builds/1.8.0/mozilla/firefox-debug/dist
|
||||
userpreferences=/work/mozilla/mozilla.com/test.mozilla.com/www/prefs/test-user.js
|
||||
extensiondir=/work/mozilla/mozilla.com/test.mozilla.com/www/xpi
|
||||
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
product=firefox
|
||||
branch=1.8.0
|
||||
url=http://stage.mozilla.org/pub/mozilla.org/firefox/nightly/latest-mozilla1.8.0/firefox-1.5.0.12pre.en-US.linux-i686.tar.gz
|
||||
profilename=firefox-1.8.0-profile
|
||||
profiledirectory=/tmp/firefox-1.8.0-profile
|
||||
executablepath=/tmp/firefox-1.8.0
|
||||
userpreferences=/work/mozilla/mozilla.com/test.mozilla.com/www/prefs/test-user.js
|
||||
extensiondir=/work/mozilla/mozilla.com/test.mozilla.com/www/xpi
|
||||
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
product=firefox
|
||||
branch=1.8.0
|
||||
url=http://stage.mozilla.org/pub/mozilla.org/firefox/nightly/latest-mozilla1.8.0/firefox-1.5.0.12pre.en-US.mac.dmg
|
||||
profilename=firefox-1.8.0-profile
|
||||
profiledirectory=/tmp/firefox-1.8.0-profile
|
||||
executablepath=/tmp/firefox-1.8.0
|
||||
userpreferences=/work/mozilla/mozilla.com/test.mozilla.com/www/prefs/test-user.js
|
||||
extensiondir=/work/mozilla/mozilla.com/test.mozilla.com/www/xpi
|
||||
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
product=firefox
|
||||
branch=1.8.0
|
||||
url=http://stage.mozilla.org/pub/mozilla.org/firefox/nightly/latest-mozilla1.8.0/firefox-1.5.0.12pre.en-US.win32.zip
|
||||
profilename=firefox-1.8.0-profile
|
||||
profiledirectory=/tmp/firefox-1.8.0-profile
|
||||
executablepath=/tmp/firefox-1.8.0
|
||||
userpreferences=/work/mozilla/mozilla.com/test.mozilla.com/www/prefs/test-user.js
|
||||
extensiondir=/work/mozilla/mozilla.com/test.mozilla.com/www/xpi
|
||||
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
product=firefox
|
||||
branch=1.8.0
|
||||
profilename=firefox-1.8.0-profile
|
||||
profiledirectory=/tmp/firefox-1.8.0-profile
|
||||
executablepath=/work/mozilla/builds/1.8.0/mozilla/firefox-opt/dist
|
||||
userpreferences=/work/mozilla/mozilla.com/test.mozilla.com/www/prefs/test-user.js
|
||||
extensiondir=/work/mozilla/mozilla.com/test.mozilla.com/www/xpi
|
||||
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
product=firefox
|
||||
branch=1.8.0
|
||||
profilename=firefox-1.8.0-test-profile
|
||||
profiledirectory=/tmp/firefox-1.8.0-test-profile
|
||||
executablepath=/work/mozilla/builds/1.8.0-test/mozilla/firefox-debug/dist
|
||||
userpreferences=/work/mozilla/mozilla.com/test.mozilla.com/www/prefs/test-user.js
|
||||
extensiondir=/work/mozilla/mozilla.com/test.mozilla.com/www/xpi
|
||||
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
product=firefox
|
||||
branch=1.8.0
|
||||
profilename=firefox-1.8.0-test-profile
|
||||
profiledirectory=/tmp/firefox-1.8.0-test-profile
|
||||
executablepath=/work/mozilla/builds/1.8.0-test/mozilla/firefox-opt/dist
|
||||
userpreferences=/work/mozilla/mozilla.com/test.mozilla.com/www/prefs/test-user.js
|
||||
extensiondir=/work/mozilla/mozilla.com/test.mozilla.com/www/xpi
|
||||
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
product=firefox
|
||||
branch=1.8.1
|
||||
profilename=firefox-1.8.1-profile
|
||||
profiledirectory=/tmp/firefox-1.8.1-profile
|
||||
executablepath=/work/mozilla/builds/1.8.1/mozilla/firefox-debug/dist
|
||||
userpreferences=/work/mozilla/mozilla.com/test.mozilla.com/www/prefs/test-user.js
|
||||
extensiondir=/work/mozilla/mozilla.com/test.mozilla.com/www/xpi
|
||||
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
product=firefox
|
||||
branch=1.8.1
|
||||
url=http://stage.mozilla.org/pub/mozilla.org/firefox/nightly/latest-mozilla1.8/firefox-2.0.0.4pre.en-US.linux-i686.tar.gz
|
||||
profilename=firefox-1.8.1-profile
|
||||
profiledirectory=/tmp/firefox-1.8.1-profile
|
||||
executablepath=/tmp/firefox-1.8.1
|
||||
userpreferences=/work/mozilla/mozilla.com/test.mozilla.com/www/prefs/test-user.js
|
||||
extensiondir=/work/mozilla/mozilla.com/test.mozilla.com/www/xpi
|
||||
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
product=firefox
|
||||
branch=1.8.1
|
||||
url=http://stage.mozilla.org/pub/mozilla.org/firefox/nightly/latest-mozilla1.8/firefox-2.0.0.4pre.en-US.mac.dmg
|
||||
profilename=firefox-1.8.1-profile
|
||||
profiledirectory=/tmp/firefox-1.8.1-profile
|
||||
executablepath=/tmp/firefox-1.8.1
|
||||
userpreferences=/work/mozilla/mozilla.com/test.mozilla.com/www/prefs/test-user.js
|
||||
extensiondir=/work/mozilla/mozilla.com/test.mozilla.com/www/xpi
|
||||
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
product=firefox
|
||||
branch=1.8.1
|
||||
url=http://stage.mozilla.org/pub/mozilla.org/firefox/nightly/latest-mozilla1.8/firefox-2.0.0.4pre.en-US.win32.zip
|
||||
profilename=firefox-1.8.1-profile
|
||||
profiledirectory=/tmp/firefox-1.8.1-profile
|
||||
executablepath=/tmp/firefox-1.8.1
|
||||
userpreferences=/work/mozilla/mozilla.com/test.mozilla.com/www/prefs/test-user.js
|
||||
extensiondir=/work/mozilla/mozilla.com/test.mozilla.com/www/xpi
|
||||
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
product=firefox
|
||||
branch=1.8.1
|
||||
profilename=firefox-1.8.1-profile
|
||||
profiledirectory=/tmp/firefox-1.8.1-profile
|
||||
executablepath=/work/mozilla/builds/1.8.1/mozilla/firefox-opt/dist
|
||||
userpreferences=/work/mozilla/mozilla.com/test.mozilla.com/www/prefs/test-user.js
|
||||
extensiondir=/work/mozilla/mozilla.com/test.mozilla.com/www/xpi
|
||||
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
product=firefox
|
||||
branch=1.8.1
|
||||
profilename=firefox-1.8.1-test-profile
|
||||
profiledirectory=/tmp/firefox-1.8.1-test-profile
|
||||
executablepath=/work/mozilla/builds/1.8.1-test/mozilla/firefox-debug/dist
|
||||
userpreferences=/work/mozilla/mozilla.com/test.mozilla.com/www/prefs/test-user.js
|
||||
extensiondir=/work/mozilla/mozilla.com/test.mozilla.com/www/xpi
|
||||
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
product=firefox
|
||||
branch=1.8.1
|
||||
profilename=firefox-1.8.1-test-profile
|
||||
profiledirectory=/tmp/firefox-1.8.1-test-profile
|
||||
executablepath=/work/mozilla/builds/1.8.1-test/mozilla/firefox-opt/dist
|
||||
userpreferences=/work/mozilla/mozilla.com/test.mozilla.com/www/prefs/test-user.js
|
||||
extensiondir=/work/mozilla/mozilla.com/test.mozilla.com/www/xpi
|
||||
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
product=firefox
|
||||
branch=1.9.0
|
||||
profilename=firefox-1.9.0-profile
|
||||
profiledirectory=/tmp/firefox-1.9.0-profile
|
||||
executablepath=/work/mozilla/builds/1.9.0/mozilla/firefox-debug/dist
|
||||
userpreferences=/work/mozilla/mozilla.com/test.mozilla.com/www/prefs/test-user.js
|
||||
extensiondir=/work/mozilla/mozilla.com/test.mozilla.com/www/xpi
|
||||
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
product=firefox
|
||||
branch=1.9.0
|
||||
url=http://stage.mozilla.org/pub/mozilla.org/firefox/nightly/latest-trunk/firefox-3.0a5pre.en-US.linux-i686.tar.bz2
|
||||
profilename=firefox-1.9.0-profile
|
||||
profiledirectory=/tmp/firefox-1.9.0-profile
|
||||
executablepath=/tmp/firefox-1.9.0
|
||||
userpreferences=/work/mozilla/mozilla.com/test.mozilla.com/www/prefs/test-user.js
|
||||
extensiondir=/work/mozilla/mozilla.com/test.mozilla.com/www/xpi
|
||||
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
product=firefox
|
||||
branch=1.9.0
|
||||
url=http://stage.mozilla.org/pub/mozilla.org/firefox/nightly/latest-trunk/firefox-3.0a5pre.en-US.mac.dmg
|
||||
profilename=firefox-1.9.0-profile
|
||||
profiledirectory=/tmp/firefox-1.9.0-profile
|
||||
executablepath=/tmp/firefox-1.9.0
|
||||
userpreferences=/work/mozilla/mozilla.com/test.mozilla.com/www/prefs/test-user.js
|
||||
extensiondir=/work/mozilla/mozilla.com/test.mozilla.com/www/xpi
|
||||
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
product=firefox
|
||||
branch=1.9.0
|
||||
url=http://stage.mozilla.org/pub/mozilla.org/firefox/nightly/latest-trunk/firefox-3.0a5pre.en-US.win32.zip
|
||||
profilename=firefox-1.9.0-profile
|
||||
profiledirectory=/tmp/firefox-1.9.0-profile
|
||||
executablepath=/tmp/firefox-1.9.0
|
||||
userpreferences=/work/mozilla/mozilla.com/test.mozilla.com/www/prefs/test-user.js
|
||||
extensiondir=/work/mozilla/mozilla.com/test.mozilla.com/www/xpi
|
||||
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
product=firefox
|
||||
branch=1.9.0
|
||||
profilename=firefox-1.9.0-profile
|
||||
profiledirectory=/tmp/firefox-1.9.0-profile
|
||||
executablepath=/work/mozilla/builds/1.9.0/mozilla/firefox-opt/dist
|
||||
userpreferences=/work/mozilla/mozilla.com/test.mozilla.com/www/prefs/test-user.js
|
||||
extensiondir=/work/mozilla/mozilla.com/test.mozilla.com/www/xpi
|
||||
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
product=firefox
|
||||
branch=1.9.0
|
||||
profilename=firefox-1.9.0-test-profile
|
||||
profiledirectory=/tmp/firefox-1.9.0-test-profile
|
||||
executablepath=/work/mozilla/builds/1.9.0-test/mozilla/firefox-debug/dist
|
||||
userpreferences=/work/mozilla/mozilla.com/test.mozilla.com/www/prefs/test-user.js
|
||||
extensiondir=/work/mozilla/mozilla.com/test.mozilla.com/www/xpi
|
||||
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
product=firefox
|
||||
branch=1.9.0
|
||||
profilename=firefox-1.9.0-test-profile
|
||||
profiledirectory=/tmp/firefox-1.9.0-test-profile
|
||||
executablepath=/work/mozilla/builds/1.9.0-test/mozilla/firefox-opt/dist
|
||||
userpreferences=/work/mozilla/mozilla.com/test.mozilla.com/www/prefs/test-user.js
|
||||
extensiondir=/work/mozilla/mozilla.com/test.mozilla.com/www/xpi
|
||||
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
product=js
|
||||
branch=1.8.0
|
||||
sourcepath=/work/mozilla/builds/1.8.0/mozilla/js/src
|
||||
buildtype=debug
|
||||
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
product=js
|
||||
branch=1.8.0
|
||||
sourcepath=/work/mozilla/builds/1.8.0/mozilla/js/src
|
||||
buildtype=opt
|
||||
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
product=js
|
||||
branch=1.8.0
|
||||
sourcepath=/work/mozilla/builds/1.8.0-test/mozilla/js/src
|
||||
buildtype=debug
|
||||
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
product=js
|
||||
branch=1.8.0
|
||||
sourcepath=/work/mozilla/builds/1.8.0-test/mozilla/js/src
|
||||
buildtype=opt
|
||||
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
product=js
|
||||
branch=1.8.1
|
||||
sourcepath=/work/mozilla/builds/1.8.1/mozilla/js/src
|
||||
buildtype=debug
|
||||
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
product=js
|
||||
branch=1.8.1
|
||||
sourcepath=/work/mozilla/builds/1.8.1/mozilla/js/src
|
||||
buildtype=opt
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
product=js
|
||||
branch=1.8.1
|
||||
sourcepath=/work/mozilla/builds/1.8.1-test/mozilla/js/src
|
||||
buildtype=debug
|
||||
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
product=js
|
||||
branch=1.8.1
|
||||
sourcepath=/work/mozilla/builds/1.8.1-test/mozilla/js/src
|
||||
buildtype=opt
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
product=js
|
||||
branch=1.9.0
|
||||
sourcepath=/work/mozilla/builds/1.9.0/mozilla/js/src
|
||||
buildtype=debug
|
||||
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
product=js
|
||||
branch=1.9.0
|
||||
sourcepath=/work/mozilla/builds/1.9.0/mozilla/js/src
|
||||
buildtype=opt
|
||||
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
product=js
|
||||
branch=1.9.0
|
||||
sourcepath=/work/mozilla/builds/1.9.0-test/mozilla/js/src
|
||||
buildtype=debug
|
||||
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
product=js
|
||||
branch=1.9.0
|
||||
sourcepath=/work/mozilla/builds/1.9.0-test/mozilla/js/src
|
||||
buildtype=opt
|
||||
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
product=thunderbird
|
||||
branch=1.8.0
|
||||
profilename=thunderbird-1.8.0-profile
|
||||
profiledirectory=/tmp/thunderbird-1.8.0-profile
|
||||
executablepath=/work/mozilla/builds/1.8.0/mozilla/thunderbird-debug/dist
|
||||
userpreferences=/work/mozilla/mozilla.com/test.mozilla.com/www/prefs/test-user.js
|
||||
extensiondir=/work/mozilla/mozilla.com/test.mozilla.com/www/xpi
|
||||
profiletemplate=/work/mozilla/mozilla.com/test.mozilla.com/www/profiles/imap
|
||||
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
product=thunderbird
|
||||
branch=1.8.0
|
||||
profilename=thunderbird-1.8.0-test-profile
|
||||
profiledirectory=/tmp/thunderbird-1.8.0-test-profile
|
||||
executablepath=/work/mozilla/builds/1.8.0-test/mozilla/thunderbird-debug/dist
|
||||
userpreferences=/work/mozilla/mozilla.com/test.mozilla.com/www/prefs/test-user.js
|
||||
extensiondir=/work/mozilla/mozilla.com/test.mozilla.com/www/xpi
|
||||
profiletemplate=/work/mozilla/mozilla.com/test.mozilla.com/www/profiles/imap
|
||||
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
product=thunderbird
|
||||
branch=1.8.1
|
||||
profilename=thunderbird-1.8.1-profile
|
||||
profiledirectory=/tmp/thunderbird-1.8.1-profile
|
||||
executablepath=/work/mozilla/builds/1.8.1/mozilla/thunderbird-debug/dist
|
||||
userpreferences=/work/mozilla/mozilla.com/test.mozilla.com/www/prefs/test-user.js
|
||||
extensiondir=/work/mozilla/mozilla.com/test.mozilla.com/www/xpi
|
||||
profiletemplate=/work/mozilla/mozilla.com/test.mozilla.com/www/profiles/imap
|
||||
|
||||
|
Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше
Загрузка…
Ссылка в новой задаче