зеркало из https://github.com/mozilla/gecko-dev.git
Bug 493875 - Sisyphus - remove use of -install-global-extension
This commit is contained in:
Родитель
7ed90bb59d
Коммит
a473a51bbf
|
@ -0,0 +1,43 @@
|
|||
#!/usr/bin/perl -w
|
||||
# -*- 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) 2009
|
||||
# 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 XML::Simple;
|
||||
|
||||
die "usage: get-extension-uuid.pl installrdfpath" if (! $ARGV[0]);
|
||||
my $rdf = XMLin($ARGV[0], NSExpand => 1);
|
||||
print $rdf->{"{http://www.w3.org/1999/02/22-rdf-syntax-ns#}Description"}->{"{http://www.mozilla.org/2004/em-rdf#}id"};
|
|
@ -1,15 +0,0 @@
|
|||
<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>
|
|
@ -48,22 +48,22 @@ options="p:b:x:N:E:d:"
|
|||
function usage()
|
||||
{
|
||||
cat <<EOF
|
||||
usage:
|
||||
$SCRIPT -p product -b branch -x executablepath -N profilename -E extensions
|
||||
usage:
|
||||
$SCRIPT -p product -b branch -x executablepath -N profilename -E extensions
|
||||
[-d datafiles]
|
||||
|
||||
variable description
|
||||
=============== ============================================================
|
||||
-p product required. firefox, thunderbird or fennec
|
||||
-b branch required. one of 1.8.0 1.8.1 1.9.0 1.9.1 1.9.2
|
||||
-x executablepath required. directory-tree containing executable named
|
||||
-x executablepath required. directory-tree containing executable named
|
||||
'product'
|
||||
-N profilename required. profile name
|
||||
-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.
|
||||
-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
|
||||
note that the environment variables should have the same names as in the
|
||||
"variable" column.
|
||||
|
||||
EOF
|
||||
|
@ -72,16 +72,16 @@ EOF
|
|||
|
||||
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
|
||||
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
|
||||
|
@ -94,68 +94,53 @@ fi
|
|||
|
||||
checkProductBranch $product $branch
|
||||
|
||||
executable=`get_executable $product $branch $executablepath`
|
||||
|
||||
if echo $profilename | egrep -qiv '[a-z0-9_]'; then
|
||||
error "profile name must consist of letters, digits or _" $LINENO
|
||||
fi
|
||||
|
||||
for extension in $extensions/all/*.xpi; do
|
||||
if [[ $extension == "$extensions/all/*.xpi" ]]; then
|
||||
break
|
||||
executable=`get_executable $product $branch $executablepath`
|
||||
extensiondir=`dirname $executable`/extensions
|
||||
|
||||
# create directory to contain installed extensions
|
||||
if [[ ! -d /tmp/sisyphus/extensions ]]; then
|
||||
create-directory.sh -n -d /tmp/sisyphus/extensions
|
||||
fi
|
||||
|
||||
for extensionloc in $extensions/all/*.xpi $extensions/$OSID/*.xpi; do
|
||||
if [[ $extensionloc == "$extensions/all/*.xpi" ]]; then
|
||||
continue
|
||||
fi
|
||||
if [[ "$OSID" == "nt" ]]; then
|
||||
extensionos=`cygpath -a -w $extension`
|
||||
else
|
||||
extensionos="$extension"
|
||||
if [[ $extensionloc == "$extensions/$OSID/*.xpi" ]]; then
|
||||
continue
|
||||
fi
|
||||
|
||||
extensionname=`xbasename $extensionloc .xpi`
|
||||
extensioninstalldir=/tmp/sisyphus/extensions/$extensionname
|
||||
|
||||
if [[ "$OSID" == "nt" ]]; then
|
||||
extensionosinstalldir=`cygpath -a -w $extensioninstalldir`
|
||||
else
|
||||
extensionosinstalldir=$extensioninstalldir
|
||||
fi
|
||||
echo installing $extensionloc
|
||||
|
||||
# unzip the extension if it does not already exist.
|
||||
if [[ ! -e $extensioninstalldir ]]; then
|
||||
create-directory.sh -n -d $extensioninstalldir
|
||||
unzip -d $extensioninstalldir $extensionloc
|
||||
fi
|
||||
|
||||
extensionuuid=`perl $TEST_DIR/bin/get-extension-uuid.pl $extensioninstalldir/install.rdf`
|
||||
if [[ ! -e $extensiondir/$extensionuuid ]]; then
|
||||
echo $extensionosinstalldir > $extensiondir/$extensionuuid
|
||||
fi
|
||||
|
||||
echo installing $extension
|
||||
let tries=1
|
||||
while ! $TEST_DIR/bin/timed_run.py ${TEST_STARTUP_TIMEOUT} "Install extension $extension: try $tries" \
|
||||
$EXECUTABLE_DRIVER \
|
||||
$executable -P $profilename -install-global-extension "$extensionos"; do
|
||||
let tries=tries+1
|
||||
if [[ "$tries" -gt $TEST_STARTUP_TRIES ]]; then
|
||||
error "Failed to install extension $extension. Exiting..." $LINENO
|
||||
fi
|
||||
sleep 30
|
||||
done
|
||||
# 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" == "nt" ]]; then
|
||||
extensionos=`cygpath -a -w $extension`
|
||||
else
|
||||
extensionos="$extension"
|
||||
fi
|
||||
|
||||
echo installing $extension
|
||||
let tries=1
|
||||
while ! $TEST_DIR/bin/timed_run.py ${TEST_STARTUP_TIMEOUT} "Install extension $extension: try $tries" \
|
||||
$executable -P $profilename -install-global-extension "$extensionos"; do
|
||||
let tries=tries+1
|
||||
if [[ "$tries" -gt $TEST_STARTUP_TRIES ]]; then
|
||||
error "Failed to install extension $extension. Exiting..." $LINENO
|
||||
fi
|
||||
sleep 30
|
||||
done
|
||||
done
|
||||
|
||||
# restart twice to make extension manager happy
|
||||
|
||||
# restart to make extension manager happy
|
||||
if ! $TEST_DIR/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_DIR/bin/timed_run.py ${TEST_STARTUP_TIMEOUT} "install extensions - second restart" \
|
||||
$executable -P $profilename "http://${TEST_HTTP}/bin/install-extensions-2.html"; then
|
||||
error "Fatal 2nd failure to load the install-extensions page" $LINENO
|
||||
fi
|
||||
|
||||
exit 0
|
||||
|
|
|
@ -307,6 +307,19 @@ if [[ -z "$LIBRARYSH" ]]; then
|
|||
echo $script
|
||||
}
|
||||
|
||||
xbasename()
|
||||
{
|
||||
local path=$1
|
||||
local suffix=$2
|
||||
local result
|
||||
|
||||
if ! result=`basename -s $suffix $path 2>&1`; then
|
||||
result=`basename $path $suffix`
|
||||
fi
|
||||
|
||||
echo $result
|
||||
}
|
||||
|
||||
LIBRARYSH=1
|
||||
|
||||
MALLOC_CHECK_=${MALLOC_CHECK_:-2}
|
||||
|
|
Загрузка…
Ссылка в новой задаче