Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
add tool to setup tests for PDL regressions in a Vagrant VM
  • Loading branch information
zmughal committed Jun 21, 2015
1 parent 3100b1f commit 3e67e77
Show file tree
Hide file tree
Showing 5 changed files with 248 additions and 0 deletions.
10 changes: 10 additions & 0 deletions regression-vagrant/Vagrantfile
@@ -0,0 +1,10 @@
# -*- mode: ruby -*-
# vi: set ft=ruby :

# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
# Every Vagrant virtual environment requires a box to build off of.
config.vm.box = "precise32"
end
1 change: 1 addition & 0 deletions regression-vagrant/dump-versions
@@ -0,0 +1 @@
perlbrew exec 'pmvers PDL || echo "No version of PDL found"'
211 changes: 211 additions & 0 deletions regression-vagrant/install-pdl
@@ -0,0 +1,211 @@
#!/bin/bash


function start() {
perlbrew switch perl-5.14.4
sudo apt-get update
sudo apt-get install -y build-essential libx11-dev pgplot5 libplplot-dev libgd2-xpm-dev libhdf4-alt-dev libproj-dev libvpx-dev libxpm-dev proj-bin libcfitsio3-dev libreadline-dev
if [ "$DISABLE_FORTRAN" != 1 ]; then sudo apt-get install -y gfortran; fi # set DISABLE_FOTRAN = 1 to not install gfortran
sudo apt-get install -y libxi-dev libxmu-dev freeglut3-dev libgsl0-dev libnetpbm10-dev # for OpenGL
sudo apt-get install -y xvfb # for OpenGL
export PGPLOT_DEV=/NULL
cpanm --installdeps PDL
Xvfb :12 -screen 0 800x600x24 &
XVFB_PID=$!
DISPLAY=:12 cpanm OpenGL
kill $XVFB_PID
}

function stop() {
perlbrew switch perl-5.14.4
}


function install() {
local version="$1"
local URL="$2"
if [ -z "$URL" ]; then
URL="PDL@$version"
fi
perlbrew lib create "pdl-$version"
perlbrew exec --with @"pdl-$version" cpanm --notest $URL
}

start

install 2.007_14 # (CHM on 2015-04-11)
#install 2.007_13 # (CHM on 2015-03-22)
#install 2.007_12 # (CHM on 2015-03-06)
#install 2.007_11 # (CHM on 2015-02-24)
#install 2.007_10 # (CHM on 2015-02-02)
#install 2.007_09 # (CHM on 2015-01-29)
#install 2.007_08 # (CHM on 2015-01-20)
#install 2.007_07 # (CHM on 2015-01-06)
#install 2.007_06 # (CHM on 2015-01-05)
#install 2.007_05 # (CHM on 2014-12-24)
#install 2.007_04 # (CHM on 2014-08-23)
#install 2.007_03 # (CHM on 2014-07-01)
#install 2.007_02 # (CHM on 2013-11-25)
#install 2.007_01 # (CHM on 2013-11-17)
#install 2.006_92 # (CHM on 2013-10-10)
#install 2.006_91 # (CHM on 2013-09-29)
#install 2.006_90 # (CHM on 2013-09-22)
#install 2.006_07 # (CHM on 2013-09-14)
#install 2.006_06 # (CHM on 2013-09-05)
#install 2.006_05 # (CHM on 2013-08-28)
#install 2.006_04 # (CHM on 2013-08-10)
#install 2.006_03 # (CHM on 2013-05-19)
#install 2.006_02 # (CHM on 2013-05-16)
#install 2.006_01 # (CHM on 2013-05-12)
install 2.006
install 2.004_996 # (CHM on 2013-03-11)
#install 2.004_995 # (CHM on 2013-03-02)
#install 2.004_012 # (CHM on 2013-02-27)
#install 2.004011_011 # (CHM on 2013-02-22)
#install 2.4.11_010 # (CHM on 2013-02-20)
#install 2.4.11_009 # (CHM on 2013-02-06)
#install 2.4.11_008 # (CHM on 2013-02-05)
#install 2.4.11_007 # (CHM on 2013-01-31)
#install 2.4.11_006 # (CHM on 2013-01-30)
#install 2.4.11_005 # (CHM on 2013-01-29)
#install 2.4.11_004 # (CHM on 2013-01-22)
#install 2.4.11_003 # (CHM on 2013-01-20)
#install 2.4.11_002 # (CHM on 2013-01-13)
#install 2.4.11_001 # (CHM on 2013-01-11)
install 2.4.11 "https://cpan.metacpan.org/authors/id/C/CH/CHM/PDL-2.4.11.tar.gz" # (CHM on 2012-05-20)
#install 2.4.10_005 # (CHM on 2012-05-15)
#install 2.4.10_004 # (CHM on 2012-05-12)
#install 2.4.10_003 # (CHM on 2012-04-07)
#install 2.4.10_002 # (CHM on 2012-04-06)
#install 2.4.10_001 # (CHM on 2012-04-06)
install 2.4.10 "https://cpan.metacpan.org/authors/id/C/CH/CHM/PDL-2.4.10.tar.gz" # (CHM on 2012-02-05)
#install 2.4.9_995 # (CHM on 2012-01-21)
#install 2.4.9_994 # (CHM on 2012-01-16)
#install 2.4.9_993 # (CHM on 2012-01-10)
#install 2.4.9_992 # (CHM on 2011-12-28)
#install 2.4.9_991 # (CHM on 2011-12-24)
#install 2.4.9_016 # (CHM on 2011-12-21)
#install 2.4.9_015 # (CHM on 2011-12-19)
#install 2.4.9_014 # (CHM on 2011-12-15)
#install 2.4.9_013 # (CHM on 2011-12-10)
#install 2.4.9_012 # (CHM on 2011-12-04)
#install 2.4.9_011 # (CHM on 2011-12-04)
#install 2.4.9_010 # (CHM on 2011-11-14)
#install 2.4.9_009 # (CHM on 2011-10-11)
#install 2.4.9_008 # (CHM on 2011-08-28)
#install 2.4.9_007 # (CHM on 2011-08-21)
#install 2.4.9_006 # (CHM on 2011-08-21)
#install 2.4.9_005 # (CHM on 2011-08-17)
#install 2.4.9_004 # (CHM on 2011-08-13)
#install 2.4.9_003 # (CHM on 2011-07-11)
#install 2.4.9_002 # (CHM on 2011-05-21)
#install 2.4.9_001 # (CHM on 2011-05-01)
install 2.4.9 "https://cpan.metacpan.org/authors/id/C/CH/CHM/PDL-2.4.9.tar.gz" # (CHM on 2011-04-11)
#install 2.4.8_004 # (CHM on 2011-04-07)
#install 2.4.8_003 # (CHM on 2011-04-05)
#install 2.4.8_002 # (CHM on 2011-04-03)
#install 2.4.8_001 # (CHM on 2011-04-02)
install 2.4.8 "https://cpan.metacpan.org/authors/id/C/CH/CHM/PDL-2.4.8.tar.gz" # (CHM on 2011-03-31)
#install 2.4.7_991 # (CHM on 2011-03-27)
#install 2.4.7_015 # (CHM on 2011-03-25)
#install 2.4.7_014 # (CHM on 2011-03-24)
#install 2.4.7_013 # (CHM on 2011-03-22)
#install 2.4.7_012 # (CHM on 2011-03-13)
#install 2.4.7_011 # (CHM on 2011-03-07)
#install 2.4.7_010 # (CHM on 2011-02-15)
#install 2.4.7_009 # (CHM on 2011-02-13)
#install 2.4.7_008 # (CHM on 2010-12-24)
#install 2.4.7_007 # (CHM on 2010-12-03)
#install 2.4.7_006 # (CHM on 2010-11-12)
#install 2.4.7_005 # (CHM on 2010-11-11)
#install 2.4.7_004 # (CHM on 2010-11-09)
#install 2.4.7_003 # (CHM on 2010-11-06)
#install 2.4.7_002 # (CHM on 2010-10-03)
#install 2.4.7_001 # (CHM on 2010-10-03)
install 2.4.7 "https://cpan.metacpan.org/authors/id/C/CH/CHM/PDL-2.4.7.tar.gz" # (CHM on 2010-08-19)
#install 2.4.6_993 # (CHM on 2010-08-18)
#install 2.4.6_992 # (CHM on 2010-08-16)
#install 2.4.6_991 # (CHM on 2010-08-14)
#install 2.4.6_018 # (CHM on 2010-08-08)
#install 2.4.6_017 # (CHM on 2010-08-08)
#install 2.4.6_016 # (CHM on 2010-08-06)
#install 2.4.6_015 # (CHM on 2010-07-31)
#install 2.4.6_014 # (CHM on 2010-07-11)
#install 2.4.6_013 # (CHM on 2010-07-07)
#install 2.4.6_012 # (CHM on 2010-07-06)
#install 2.4.6_011 # (CHM on 2010-06-28)
#install 2.4.6_010 # (CHM on 2010-06-22)
#install 2.4.6_009 # (CHM on 2010-06-09)
#install 2.4.6_008 # (CHM on 2010-05-31)
#install 2.4.6_007 # (CHM on 2010-05-22)
#install 2.4.6_006 # (CHM on 2010-05-07)
#install 2.4.6_001 # (CHM on 2010-02-10)
install 2.4.6 "https://cpan.metacpan.org/authors/id/C/CH/CHM/PDL-2.4.6.tar.gz" # (CHM on 2010-01-01)
#install 2.4.5_008 # (CHM on 2009-12-27)
#install 2.4.5_007 # (CHM on 2009-12-27)
#install 2.4.5_006 # (CHM on 2009-12-21)
#install 2.4.5_005 # (CHM on 2009-12-20)
#install 2.4.5_004 # (CHM on 2009-12-09)
#install 2.4.5_003 # (CHM on 2009-11-01)
#install 2.4.5_002 # (CHM on 2009-10-30)
#install 2.4.5_001 # (CHM on 2009-10-30)
install 2.4.5 "https://cpan.metacpan.org/authors/id/C/CH/CHM/PDL-2.4.5.tar.gz" # (CHM on 2009-10-24)
#install 2.4.4_900 # (CHM on 2009-10-20)
#install 2.4.4_136 # (CHM on 2009-10-15)
#install 2.4.4_13 # (CHM on 2009-10-03)
#install 2.4.4_11 # (CHM on 2009-09-25)
#install 2.4.4_10 # (CHM on 2009-09-25)
#install 2.4.4_09 # (CHM on 2009-09-24)
#install 2.4.4_08 # (CHM on 2009-08-21)
#install 2.4.4_07 # (CHM on 2009-08-15)
#install 2.4.4_06 # (CHM on 2009-07-27)
#install 2.4.4_05 # (CHM on 2009-07-11)
#install 2.4.4_04 # (CHM on 2009-07-10)
#install 2.4.4_03 # (CHM on 2009-05-19)
#install 2.4.4_02 # (CHM on 2009-05-15)
#install 2.4.4_01 # (CHM on 2009-05-134
install 2.4.4 https://cpan.metacpan.org/authors/id/C/CH/CHM/PDL-2.4.4.tar.gz # (CHM on 2008-11-13)
#install 2.4.3_06 # (CHM on 2008-11-06)
#install 2.4.3_05 # (CHM on 2008-11-05)
#install 2.4.3_04 # (CHM on 2008-11-02)
#install 2.4.3_03 # (CHM on 2008-10-26)
#install 2.4.3_02 # (CHM on 2008-10-23)
#install 2.4.3_01 # (CHM on 2008-10-20)
#install 2.4.0 # (CSOE on 2003-06-04)
#install 2.3.4 # (CSOE on 2002-09-30)
#install 2.3.3 # (CSOE on 2002-06-08)
#install 2.3.2 # (CSOE on 2001-12-21)
#install 2.3.1 # (CSOE on 2001-11-28)
#install 2.1.1 # (KGB on 2000-06-22)
#install 2.005 # (KGB on 2000-04-06)
#install 2.004 # (KGB on 2000-03-21)
#install 2.003 # (KGB on 1999-10-29)
#install 2.002 # (KGB on 1999-06-26)
#install 2.0 # (KGB on 1999-01-11)
#install 1.99989 # (LUKKA on 1998-11-13)
#install 1.99988 # (KGB on 1998-10-02)
#install 1.99987 # (KGB on 1998-09-20)
#install 1.9906 # (LUKKA on 1998-05-03)
#install 1.9905 # (LUKKA on 1998-04-24)
#install 1.9904 # (LUKKA on 1998-04-21)
#install 1.9903 # (LUKKA on 1998-04-21)
#install 1.9902 # (LUKKA on 1998-03-17)
#install 1.9901 # (LUKKA on 1998-03-09)
#install 1.9900 # (LUKKA on 1998-02-28)
#install 1.11a # (KGB on 1997-07-11)
#install 1.92_03 # (LUKKA on 1997-03-30)
#install 1.92_02 # (LUKKA on 1997-03-15)
#install 1.11 # (KGB on 1997-02-24)
#install 1.10 # (KGB on 1997-02-19)
#install 1.03p1 # (KGB on 1997-01-11)
#install 1.03 # (KGB on 1997-01-03)
#install 1.01 # (KGB on 1996-12-03)
#install 1.04 # (LUKKA on 1996-11-30)

#PDL1.03-alphadev2 # (KGB on 1996-11-28)
#PDL1.02dev_broken # (LUKKA on 1996-11-19)
#PDL1.01dev_alpha_release # (KGB on 1996-11-06)
#PDL1.00_alpha_release # (KGB on 1996-10-20)
#PDL1.00alpha_release # (KGB on 1996-10-16)

stop
20 changes: 20 additions & 0 deletions regression-vagrant/provision-user.sh
@@ -0,0 +1,20 @@
#!/bin/bash

if [ $USER != "vagrant" ]; then
echo "Must run in Vagrant VM"
exit 1
fi

if ! which perlbrew > /dev/null 2>&1; then
wget -O - http://install.perlbrew.pl | bash
fi
source ~/perl5/perlbrew/etc/bashrc
perlbrew install -v perl-5.14.4
perlbrew switch perl-5.14.4
if ! which cpanm > /dev/null 2>&1; then
perlbrew install-cpanm
fi
cpanm --installdeps .
cpanm Data::Printer Devel::REPL Devel::REPL::Plugin::DataPrinter Lexical::Persistence Data::Dump::Streamer PPI App::pmuninstall pmtools

echo "source ~/perl5/perlbrew/etc/bashrc" >> ~/.bashrc
6 changes: 6 additions & 0 deletions regression-vagrant/provision.sh
@@ -0,0 +1,6 @@
#!/bin/sh

apt-get update
apt-get install -y build-essential

cd /vagrant && su -c ./provision-user.sh vagrant

0 comments on commit 3e67e77

Please sign in to comment.