зеркало из 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
|
||||||
|
|
||||||
|
|
Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше
Загрузка…
Ссылка в новой задаче