Open main menu

CDOT Wiki β

Changes

Perfconfig.sh

4,985 bytes added, 02:28, 14 December 2006
no edit summary
####
# Configuration script for Elizabeth Chak's Firefox Performance Testing project
# Seneca College, Toronto Canada. 2006.
# Authored by Dean William Woodside. Email: dwwoodsi@learn.senecac.on.ca
# Editted by Elizabeth Chak. Email: elchak@learn.senecac.on.ca
#
# This work is public domain. Use at your own peril.
# This script anticipates that you have visual studio installed.
#
# This script may be changed to suit your needs in configuring the performance testing framework
# The aim of this script is to automate the tedious tasks of manually configuring the framework
#
#!/bin/bash
#####
echo "Configuration script for Python Firefox Performance Testing project started...";
echo "Using $PWD/prereqs as a staging area.";

####
# Downloading and installed the required prerequisites to run this framework
# A directory is made to put all the installation files in one place
####
mkdir prereqs;
cd prereqs;
SFMIRRORS=(heanet jaist ovh switch mesh belnet umn superb-west surfnet nchc superb-east optusnet kent puzzle easynews ufpr);
MIRROR=${SFMIRRORS[$(($RANDOM%16))]};
MIRRORURL=http://${MIRROR}.dl.sourceforge.net/sourceforge;

# wget --spider to check that a mirror is available

echo "Downloading prerequisites from SourceForge mirror: ${MIRROR}";

####
# The urls below are links to the following framework prerequisties and may be changed if any of the urls are inactive. The
# aim of this automation is to save some of your time in downoading each prerequisite one-by-one (manually) to
# save you some time:
# - Python 2.4
# The scripts all run from Python 2.4. You will need the windows version (not the cygwin version).
# - Python Win32 Extensions
# These extensions provide some support for process management and performance monitoring.
# - Numerical Python
# This is required by Matplotlib.
# - Matplotlib
# This library is used to plot the graphs of performance characteristics of Firefox during the page load test.
# - PySyc
# This is used for reading/writing config files in YAML.
#
# Developer's comments:
# what about -U agent-string ? "Mozilla"
####
wget -nv -t 3 --waitretry=120 "http://www.python.org/ftp/python/2.4/python-2.4.msi";
wget -nv -t 3 --waitretry=120 "${MIRRORURL}/pywin32/pywin32-208.win32-py2.4.exe";
wget -nv -t 3 --waitretry=120 "${MIRRORURL}/numpy/Numeric-24.2.win32-py2.4.exe";
wget -nv -t 3 --waitretry=120 "${MIRRORURL}/matplotlib/matplotlib-0.87.3.win32-py2.4.exe";
wget -nv -t 3 --waitretry=120 "http://pyyaml.org/download/pysyck/PySyck-0.61.2.win32-py2.4.exe";
chmod u+x *;

echo "Files downloaded. Now installing.";

# Executing the downloaded prerequisites to start installation
msiexec /quiet /i python-2.4.msi;
# this is where perl-libwin32 would come in handy...
./pywin32-208.win32-py2.4.exe;
./Numeric-24.2.win32-py2.4.exe;
./matplotlib-0.87.3.win32-py2.4.exe;
./PySyck-0.61.2.win32-py2.4.exe;

echo "Downloading the Performance Testing Framework [yorku.ca]";
mkdir /cygdrive/c/mozilla;
cd /cygdrive/c/mozilla;

####
#This is where you insert the zip url for performance testing
wget -nv -t 3 --waitretry=120 "http://www.yorku.ca/abel/liz/mozilla/Win32PerfTesting_v4.zip";
unzip -q Win32PerfTesting_v4.zip;
cd /cygdrive/c/mozilla/testing/performance/win32;

# set permissions (otherwise access is denied)
chmod u+rwx *;

echo "Creating config info file.";

# you may change the following (config.yaml) to suit the performance testing you are running
# Note: indentation sensitive; please use this indentation format as a guideline
echo "
# Filename will be appended to the timestamp in the report filename.
# Use letters and underscores only
filename: Firefox Performance Testing
# The title of the report
title: Testing Merits

# Name of profile to test
Test profile 1:
# Path to Firefox to test
# Please check that the path is directed to the location of the Firefox you want to use for this testing
firefox: C:\Program Files\Mozilla Firefox\firefox.exe

# Preferences to set in the test
# If you don't have preferences to set, use:
# preferences: {}
preferences:
javascript.options.showInConsole : true
xpinstall.enabled : true

# Extensions to install in test
# Make sure that the path is directed to the desired location of the extension
# If you don't have extensions to set, use:
# extensions: {}
extensions: {}
# Make sure that the path is directed to the desired location of the extension
# Need quotes around guid because of curly braces" > config.yaml;

#creates the directory that the generated firefox performance reports will go into
#even if the extension_perf_reports exist, it will still attempt to make the reports directory
mkdir /cygdrive/c/mozilla/testing/performance/win32/extension_perf_reports;

echo "Running the performance tests.";
./run_tests.py config.yaml;
1
edit