#!/bin/bash
#
# Project Builder test suite
#
# $Id$
#
# Copyright B. Cornec 2007-2012
# Provided under the GPL v2

# First create a dummy account for testing
# In order for this script to run well, you hould have sudo access

# You may have multiple distros here
TESTVEDIST="fedora-16-x86_64 mageia-1-i386"
# Only one VM is tested for now.
TESTVMDIST="fedora-16-i386"
TESTVMISO="/users/bruno/iso/Fedora-16-i386-DVD.iso"

sudo userdel pbtest
sudo useradd pbtest
sudo cat > pbtest/.pbrc << EOF
pbtest localhost=/usr/sbin/chroot NOPASSWD:
pbtest localhost=/bin/cp NOPASSWD:
EOF

# Projects
pbconfurl afio = svn+ssh://svn.project-builder.org/prj/svn/pb/projects/afio/pbconf
pbconfurl projtest = dir://$ENV{'HOME'}/projtest
pbconfdir projtest = $ENV{'HOME'}/projtest/pbconf
pburl projtest = svn+ssh://svn.project-builder.org/prj/svn/pb
pbconfurl pb = svn+ssh://svn.project-builder.org/prj/svn/pb/pbconf
pbconfdir pb = $ENV{'HOME'}/pb/pbconf
pburl pb = svn+ssh://svn.project-builder.org/prj/svn/pb
pbdefdir default = $ENV{'HOME'}
#
vmport pb = 2200
pbparallel pb = 6
vepath pb = $ENV{'HOME'}/tmp
vetype pb = chroot
verpmtype pb = rpmbootstrap
vmtype pb = kvm
vmcmd pb = qemu-kvm
vmpath pb = $ENV{'HOME'}/tmp
vmsize fedora = 10G
vmmonport pb = 4000
EOF

sudo su - pbtest -c "pb -p afio sbx2pkg"
sudo su - pbtest -c "pb -p pb sbx2pkg"

sudo su - pbtest -c "pb -p projtest getconf"
sudo su - pbtest -c "pb -p projtest -r 1.0 newproj prokpkg"
sudo su - pbtest -c "pb -p projtest -r 1.0 sbx2build"
sudo su - pbtest -c "pb -p projtest build2pkg"

for d in $TESTVEDIST; do
	sudo su - pbtest -c "pb -p projtest -m $d newve"
	sudo su - pbtest -c "pb -p projtest -m $d sbx2setupve"
	sudo su - pbtest -c "pb -p projtest -m $d snapve"
	sudo su - pbtest -c "pb -p projtest -m $d build2ve"
	# Cleaning VE to use the snapshot
	dd=`echo $d | cut -d'-' -f1`
	sudo rm -rf ~pbtest/tmp/$dd
	sudo su - pbtest -c "pb -p projtest -S -m $d sbx2ve"
done

#qemu-kvm \
#-m 1024 \
#-kernel /pub/mageia/distrib/cauldron/i586/isolinux/alt0/vmlinuz \
#-initrd /pub/mageia/distrib/cauldron/i586/isolinux/alt0/all.rdz \
#-append "ramdisk_size=128000 root=/dev/ram3 kickstart=http://192.168.8.55/pub/ks/guerrero/ks.pl automatic=method:http,server:192.168.8.55,directory:/pub/mageia/distrib/cauldron/i586,network:dhcp" \
#-drive file=/users/qemu/mageia-2-i386.qemu,if=virtio,media=disk \
#-redir tcp:2200:10.0.2.15:22
#sudo su - pbtest -c "pb -p projtest -m $TESTVMDIST -i $TESTVMISO newvm"
#sudo su - pbtest -c "pb -p projtest -m $TESTVMDIST sbx2setupvm"
#sudo su - pbtest -c "pb -p projtest -m $TESTVMDIST sbx2vm"

sudo su - pbtest -c "pb -p projtest -r 1.0 -V 2.0 newver"
sudo su - pbtest -c "pb -p projtest clean"

# Cleanup
sudo userdel pbtest
