Some parrot test scripts - testvm

rurban on 2008-09-14T10:46:55

testvm:

#!/bin/bash # Test a parrot branch on some of my remote machines (vm's or whatever) # must be started in the root build_dir of the branch

declare -a vm_name declare -a vm_dir

# which branch? trunk cygwin070patches gsoc_pdd09 exceptionmagic ... base=$(basename `pwd`)

# define my various vm's by name and dir with the parrot tree n=0 # freebsd7 with gcc-4.2 and llvm-2.3 vm_name[$n]=freebsd # on freebsd I test only one branch: trunk or cygwin070patches or whatever vm_dir[$n]=/usr/src/perl/parrot let n+=1 # define llvm conf_args: cc and link vm_name[$n]=freebsd vm_dir[$n]=/usr/src/perl/parrot vm_conf[$n]="--cc=llvm-gcc --link=llvm-ld" let n+=1 # on debian 4 I test trunk and cygwin070patches # gcc-4.1.2 vm_name[$n]=debian vm_dir[$n]=/usr/src/perl/parrot/$base let n+=1 #vm_name[$n]=gentoo-vm #vm_dir[$n]=/usr/src/perl/parrot #let n+=1 #vm_name[$n]=fedora #vm_dir[$n]=/usr/src/perl/parrot #let n+=1 #vm_name[$n]=ubuntu #vm_dir[$n]=/usr/src/perl/parrot #let n+=1 #vm_name[$n]=centos #vm_dir[$n]=/usr/src/perl/parrot #let n+=1 #vm_name[$n]=solaris #vm_dir[$n]=/usr/src/perl/parrot #let n+=1

if [ ! -f Configure.pl ]; then echo "$0 must be run a parrot build_dir. Configure.pl not found" exit fi if [ -f Makefile ]; then make clean realclean fi find -name \*.exe -o -name \*.bak -o -name \*~ -o -name \*.stackdump -delete

n=0 while [ -n "${vm_name[${n}]}" ] do if [ -z "${1}" -o "${1}" = "${vm_name[${n}]}" ]; then echo "rsync -avzC --delete --exclude=.svn . ${vm_name[${n}]}:${vm_dir[${n}]}/" rsync -avzC --delete --exclude=.svn . "${vm_name[${n}]}:${vm_dir[${n}]}/"

echo "ssh ${vm_name[${n}]} cd ${vm_dir[${n}]}; perl Configure.pl ${vm_conf[${n}]} && make all parrot_utils perl6 installable languages smoke smolder_test languages-smoke" ssh ${vm_name[${n}]} "cd ${vm_dir[${n}]}; perl Configure.pl && make all parrot_utils perl6 installable languages smoke smolder_test languages-smoke" fi

let n+=1 done