Editer un script de test de package pour les systèmes UNIX

Vous pouvez mettre à jour le fichier de script packageTest.sh pour lancer des collecteurs personnalisés sur les systèmes UNIX.

Avant de commencer

Assurez-vous que vous connaissez les noms des collecteurs associés avec des propriétés de prérequis comme indiqué dans la section Collecteurs prédéfinis pour les systèmes UNIX.

Certains collecteurs ont besoin d'un ou de plusieurs paramètres en entrée. Paramètres d'entrée possibles :
  • La valeur attendue pour la propriété de prérequis.

    Ainsi, os.pageSizeEnabled est le collecteur permettant de vérifier si la taille de page est activée en fonction d'un segment spécifique, utilisé par la propriété de prérequis os.pageSizeEnabled. Pour vérifier que la taille de page 64 KB est activée, la valeur attendue medium est transmise au collecteur os.pageSizeEnabled.

  • Application, utilitaire ou sous-type de service, représenté par l'identificateur de suffixe [suffix_identifier] dans le nom de la propriété de prérequis, par exemple [prefix_identifier.]property_name.[suffix_identifier].

    Ainsi, os.filepath est le collecteur commun qui vérifie l'existence de valeurs binaires, utilisé par la propriété de prérequis os.file.binary_name. Pour vérifier que la valeur binaire bash existe, son nom est transmis au collecteur os.filepath.

Procédure

  1. A l'aide d'un éditeur, ouvrez le script ips_root/UNIX_Linux/packageTest.sh.
  2. Ajoutez le code pour lire la propriété personnalisée depuis le fichier de configuration, par exemple :
    res=`echo $line | grep '[prefix_identifier.]property_name`
    Par exemple, pour lire la propriété de prérequis personnalisée env.path.jar et vérifier si l'environnement d'exécution Java est défini dans la variable PATH :
    res=`echo $line | grep env.path.jar`
  3. Ajoutez une instruction if pour gérer l'appel du collecteur si la propriété de prérequis existe, par exemple :
    if {$res !=""] ; then
    
    fi
  4. Analysez le fichier de configuration pour trouver la valeur attendue pour la propriété de prérequis, par exemple :
    ExpValue=`echo $res | cut -d "=" -f2`
  5. Si nécessaire, déclarez les paramètres d'entrée à transmettre au collecteur. Appelez le collecteur et renvoyez la propriété de prérequis avec sa valeur réelle au fichier $TMP_DIR/prs.check.
    Appel du collecteur personnalisé pour une propriété de prérequis sans paramètre d'entrée
    echo "ss=\`./[prefix_identifier.]property_name\`" >>/$TMP_DIR/prs.check
    echo "echo \"[prefix_identifier.]property_name=\$ss\"" >>/$TMP_DIR/prs.check	echo 

    Dans l'exemple :

    	echo "ss=\`./env.path.jar\`" >>/$TMP_DIR/prs.check
     echo "echo \"env.path.jar=\$ss\"" >>/$TMP_DIR/prs.check
    Appel du collecteur personnalisé pour une propriété de prérequis avec la valeur attendue en tant que paramètre d'entrée
    prod=`echo "$line" |cut -d"=" -f2`
    echo "ss=\`./[prefix_identifier.]property_name "$prod"\`" >>/$TMP_DIR/prs.check
    echo "echo \"[prefix_identifier.]property_name=\$ss\"" >>/$TMP_DIR/prs.check

    Par exemple, la déclaration et l'appel du collecteur os.pageSizeEnabled :

    prod=`echo "$line" |cut -d"=" -f2`
    echo "ss=\`./os.pageSizeEnabled "$prod"\`" >>/$TMP_DIR/prs.check
    echo "echo \"os.pageSizeEnabled=\$ss\"" >>/$TMP_DIR/prs.check
    Appel du collecteur personnalisé pour une propriété de prérequis avec sous-type en tant que paramètre d'entrée
    prod=`echo $line |cut -d"=" -f1 |cut -d"." -f3-last_field | sed 's/ //g'`
    	echo "ss=\`./os.filepath "$prod"\`" >>/$TMP_DIR/prs.check
    	echo "echo \"os.file."$prod"=\$ss\"" >>/$TMP_DIR/prs.check

    Par exemple, la déclaration et l'appel du collecteur os.filepath :

    prod=`echo $line |cut -d"=" -f1 |cut -d"." -f3-7 | sed 's/ //g'`
    echo "ss=\`./os.filepath "$prod"\`" >>/$TMP_DIR/prs.check
    echo "echo \"os.file."$prod"=\$ss\"" >>/$TMP_DIR/prs.check
  6. Répétez les étapes 2 à 5 pour chaque appel du collecteur pour une propriété de prérequis personnalisée.