diff options
author | irina <irinagomez@us.es> | 2011-03-31 08:43:03 +0000 |
---|---|---|
committer | irina <irinagomez@us.es> | 2011-03-31 08:43:03 +0000 |
commit | 140b7c954f70de6eea9a4f56ef12b804c35e89e2 (patch) | |
tree | 9ce8990317ca3205620fd1b818c725ce5b67cf2a /client/shared/lib/engine | |
parent | 1fc14827b8f824ce50a591c917c9c24a0c8331ae (diff) |
test de particiones y bloqueos
git-svn-id: https://opengnsys.es/svn/branches/version1.0@1683 a21b9725-9963-47de-94b9-378ad31fedc9
Diffstat (limited to 'client/shared/lib/engine')
-rw-r--r-- | client/shared/lib/engine/tests/NoModify/Lock1.shtest | 85 | ||||
-rw-r--r-- | client/shared/lib/engine/tests/README | 6 | ||||
-rwxr-xr-x | client/shared/lib/engine/tests/crearTestDisk1 | 157 |
3 files changed, 248 insertions, 0 deletions
diff --git a/client/shared/lib/engine/tests/NoModify/Lock1.shtest b/client/shared/lib/engine/tests/NoModify/Lock1.shtest new file mode 100644 index 00000000..39bac3eb --- /dev/null +++ b/client/shared/lib/engine/tests/NoModify/Lock1.shtest @@ -0,0 +1,85 @@ +€jemplo de test de funciones de bloqueo de particiones e imagenes +================================================================= +# Funciones de bloqueo + +$ ogLock 1 1 +$ ls /var/lock/lock-dev-sda1 +/var/lock/lock-dev-sda1 + +$ if ogIsLocked 1 1; then echo si; else echo no; fi +si + +$ ls /var/lock/lock-dev-sda1 +/var/lock/lock-dev-sda1 + +$ ogUnlock 1 1 +$ if ogIsLocked 1 1; then echo si; else echo no; fi +no + +$ ogLockPartition 1 1 +$ if ogIsLocked 1 1; then echo si; else echo no; fi +si + +$ ogUnlockPartition 1 1 +$ if ogIsLocked 1 1; then echo si; else echo no; fi +no + + + + +# Es necesario desmontar para probar ogCheck +$ ogUnmount 1 1 >/dev/null 2>&1 + +$ ogLock 1 1 + +$ ogCheckFs 1 1 +OpenGnSys error: ogCheckFs: "1 1" + +$ ogUnlock 1 1 + +$ ogCheckFs 1 1 >/dev/null 2>&1; echo $? +0 + + +# Bloqueo del repositorio + +$ ogIsRepoLocked; echo $? +1 + +# FALTA: test bloqueo repo cuando esta bloqueado + +# bloqueo de imagenes + + + +# Creo una imagen ficticia +$ touch $OGIMG/_test_.img + +$ ogLockImage REPO _test_ +$ ls $OGIMG/_test_.lock +/opt/opengnsys/images/_test_.lock + +$ if ogIsImageLocked REPO _test_ ; then echo si; else echo no; fi +si + +$ ogUnlockImage REPO _test_ +$ if ogIsImageLocked REPO _test_ ; then echo si; else echo no; fi +no + +$ rm $OGIMG/_test_.* + +# Comprobando los errores (FALTA) +$ ogLock +OpenGnSys error: ogLockPartition: "" + + +$ ogLock 1 10 +OpenGnSys error: ogDiskToDev: "" + + +$ ogIsLocked +OpenGnSys error: ogIsLocked: "" + +$ ogIsLocked 1 10 +OpenGnSys error: ogDiskToDev: "" + diff --git a/client/shared/lib/engine/tests/README b/client/shared/lib/engine/tests/README new file mode 100644 index 00000000..f3190973 --- /dev/null +++ b/client/shared/lib/engine/tests/README @@ -0,0 +1,6 @@ +Separamos los test que no modifican el cliente y los que sí lo hacen (pueden modificar la partitiones, imagenes, etc) en dos directorios distintos. + +Ademas los numeramos diferentes por si los queremos mover de sitio: + Los test acabados en 1x no modifican nada + Los test acabados en 2x modifican el cliente + diff --git a/client/shared/lib/engine/tests/crearTestDisk1 b/client/shared/lib/engine/tests/crearTestDisk1 new file mode 100755 index 00000000..95d51802 --- /dev/null +++ b/client/shared/lib/engine/tests/crearTestDisk1 @@ -0,0 +1,157 @@ +#!/bin/bash +# Descripcion: Crea un test no destructivo de la libreria Disk.lib conficurandolo +# para un cliente concreto. +# Se ejecuta en el servidor y el test creado se utiliza en el cliente +# Los datos los toma de la base de administración. +# Uso: creaTestDisk1 NombreCliente +# +# Falta: la bd no tiene información de las particiones lógicas (el script sí esta preparado para ellas) +# la bd no tiene datos del tamaño del disco + + +# Variables. +PROG=$(basename $0) +OPENGNSYS=${OPENGNSYS:-"/opt/opengnsys"} +SERVERCONF=$OPENGNSYS/etc/ogAdmServer.cfg +TESTDIR="$OPENGNSYS/client/lib/engine/tests/NoModify" +TESTFILE="$TESTDIR/Disk1-$1.shtest " +# Control básico de errores. +if [ $# -ne 1 ]; then + echo "$PROG: Error de ejecución" + echo "Formato: $PROG NOMBRE_PC" + exit 1 +fi + +# Obtener datos de acceso a la Base de datos. +source $SERVERCONF + +# Comprobar si se recibe nombre de aula o de equipo. +PARTICIONES=$(mysql -u "$USUARIO" -p"$PASSWORD" -D "$CATALOG" -N -e \ + "SELECT ordenadores_particiones.numpar, tipospar.tipopar, ordenadores_particiones.tamano + FROM tipospar INNER JOIN ordenadores_particiones INNER JOIN ordenadores + WHERE tipospar.codpar=ordenadores_particiones.codpar + AND ordenadores.idordenador=ordenadores_particiones.idordenador + AND nombreordenador='$1' + ORDER By ordenadores_particiones.numpar;") +# Si la cadena esta vacia, error +if [ -z "$PARTICIONES" ]; then + echo "El equipo $1 no existe en la base de datos" + exit 2 +fi + +# Ejemplo para añadir partitiones lógicas +#PARTICIONES="$PARTICIONES 5 LINUX-SWAP 1999999" +PRI=$( echo ${PARTICIONES%%\ 5\ *}|awk '{print $2"_"$3" "$5"_"$6" "$8"_"$9" "$11"_"$12}' |sed s/\ _//g |sed s/\ //g) + +if $(echo $PARTICIONES |grep " 5 " >/dev/null); then + LOG=$( echo ${PARTICIONES##*\ 5\ }|awk '{print $1"_"$2" "$4"_"$5" "$7"_"$8" "$10"_"$11" "}' |sed s/\ _//g |sed s/\ //g) +else + LOG="" +fi +AUX=$(echo $PARTICIONES| wc -w) +let NUMPART=AUX/3 +P1SIZE=$(echo $PARTICIONES|cut -d\ -f3) +P1TYPE=$(echo $PARTICIONES|cut -d\ -f2) +case "$P1TYPE" in + EMPTY) P1ID=0 ;; + FAT12) P1ID=1 ;; + EXTENDED) P1ID=5 ;; + FAT16) P1ID=6 ;; + NTFS|EXFAT) P1ID=7 ;; + FAT32) P1ID=b ;; + HFAT12) P1ID=11 ;; + HFAT16) P1ID=16 ;; + HNTFS) P1ID=17 ;; + HFAT32) P1ID=1b ;; + LINUX-SWAP) P1ID=82 ;; + EXT[234]|REISERFS|REISER4|XFS|JFS) + P1ID=83 ;; + LINUX-LVM) P1ID=8e ;; + SOLARIS) P1ID=bf ;; + CACHE) P1ID=ca ;; + LINUX-RAP1ID) P1ID=fd ;; + *) P1ID="" ;; +esac + +cat > $TESTFILE << EOF +Ejemplo de test funciones de particionado no destrutivo +======================================================= + +# Desmontamos antes de empezar +$ ogUnmountAll 1 2>/dev/null + +$ ogUnmountCache 2>/dev/null + +# Cambio de formato + +$ ogDevToDisk /dev/sda +1 + +$ ogDevToDisk /dev/sda1 +1 1 + +$ ogDiskToDev +/dev/sda + +$ ogDiskToDev 1 +/dev/sda + +$ ogDiskToDev 1 1 +/dev/sda1 + +$ ogFsToId NTFS +7 + +$ ogFsToId EXT4 +83 + + +# Tamaño de disco (cuando haya informacion en la base de datos) + +#$ ogGetDiskSize 1 +#312571224 + +# Tamaño de la particion + +$ ogGetPartitionSize 1 1 +$P1SIZE + +# Información de las particiones +$ ogListPartitions 1 | tr : _ | sed s/EXT[234]/LINUX/g | sed s/\ //g +$PRI$LOG +$ ogListPrimaryPartitions 1 | tr : _ | sed s/EXT[234]/LINUX/g | sed s/\ //g +$PRI + +$ ogListLogicalPartitions 1 | tr : _ | sed s/EXT[234]/LINUX/g +$LOG + +$ ogGetPartitionsNumber +$NUMPART + +# Partición activa + +$ ogSetPartitionActive 1 2 >/dev/null +$ ogGetPartitionActive 1 +2 + +$ ogSetPartitionActive 1 1 >/dev/null +$ ogGetPartitionActive 1 +1 + + +# Tipo de particiones + +$ ogGetPartitionId 1 1 +$P1ID + + +# Montamos la cache al final +$ ogMountCache >/dev/null 2>&1 + + +EOF + + + +echo "Test creado en $TESTFILE" +echo "Las particiones logicas hay que incluirlas a mano, porque no hay información de las mismas en la base de datos." |