source: branches/stable/tools/test2qemu @ 1306

Last change on this file since 1306 was 1306, checked in by bruno, 12 years ago
  • build2pkg now install pkgs at the end
  • mkisof and cdrecord now should be part of each VM
  • pkg2test launches mondoarchive in a VM to create a test backup env
  • test2qemu tests the restore of the previous backup inside an empty VM
  • Property svn:executable set to *
File size: 1.9 KB
Line 
1#!/bin/bash
2#
3# $Id$
4#
5# Script to test packages on various distributions with qemu
6#
7
8# Syntax: test2qemu [[vm1]..[vmx]]
9
10(
11dname=`dirname $0`
12prem=`echo $dname |cut -c1`
13if [ _${prem} = _"/" ]; then
14    export TOOLHOME=$dname
15else
16    export TOOLHOME=${PWD}/$dname
17fi
18
19. $TOOLHOME/common-env
20. $TOOLHOME/distro-env
21
22if [ _"$1" = _"" ]; then
23    export VMS=`cat ${TOOLHOME}/DISTROS` 
24    single=0
25else
26    export VMS="$*"
27    single=1
28fi
29
30for m in $VMS; do
31    echo "Working on $m"
32    vmp=0
33    if [ ! -f /users/qemu/pxe.qemu ]; then
34            echo "VM pxe unaccessible. Verify NFS mount"
35            rm -rf $MONDOTMP
36            exit -1
37    fi
38    if [ _"$sp" = _"" ]; then
39        export sp=2222
40    fi
41    ps auxww | grep qemu | grep -v grep | grep -q /users/qemu/pxe-$m.qemu
42    if [ $? -ne 0 ]; then
43        # Virtual machine not alreday started
44        vmp=1
45        sudo mkdir -p /pub/users/svg/mnt
46        sudo mount -o loop /pub/users/svg/mondo/images/test-mondo-$m /pub/users/svg/mnt
47        cp -a /pub/users/svg/mnt/vmlinuz /users/qemu/pxe/$m
48        cp -a /pub/users/svg/mnt/initrd.img /users/qemu/pxe/$m.img
49        sudo umount /pub/users/svg/mnt
50        cp /users/qemu/pxe.qemu /users/qemu/pxe-$m.qemu
51        export QEMUOPT="-kernel /users/qemu/pxe/$m -initrd /users/qemu/pxe/$m.img -append 'load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=65536 rw root=/dev/ram iso_mode pxe prefix=test-mondo-$m ipconf=eth0:dhcp nfsmount=flecha.home.musique-ancienne.org:/users/svg/mondo/images'"
52        # ramdisk_blocksize=1024
53        $TOOLHOME/mkqemu pxe-$m &
54        sleep 300
55    fi
56    ssh -q -p $sp bruno@localhost "cd / ; rm -rf ~bruno/mondo ~bruno/RPMS/BUILD/* ~bruno/RPMS/tmp/* /tmp/* ; tar xfz ~bruno/test-mondo.tar.gz ; $MONDOTMP/test-mondo " | tee $MONDOTMP/mkvm.log
57    if [ $vmp -eq 1 ]; then
58        ssh -q -p $sp root@localhost "halt -p"
59        sleep 300
60        proces=`ps auxww | grep qemu | grep -v grep | grep /users/qemu/$m.qemu | awk '{print $2}'`
61        if [ "$proces" != "" ]; then
62            kill $proces
63            sleep 10
64        fi
65    fi
66done
67
68# Should be removed at the end
69rm -rf $MONDOTMP
70) 2>&1 | tee /tmp/test2qemu.log
Note: See TracBrowser for help on using the repository browser.