Ensembles de machines

Un objet MachineSet est une collection de rôles d’ordinateur, et un rôle d’ordinateur est une collection d’ordinateurs qui exécutent les mêmes fichiers binaires de test. Vous devez créer un MachineSet valide pour allouer et affecter des ordinateurs pour tout test nécessitant plusieurs ordinateurs.

Bien que la plupart des tests du Kit Windows Hardware Lab (Windows HLK) s’exécutent sur un seul ordinateur, certains tests nécessitent plusieurs ordinateurs. Par exemple, un test réseau peut cibler une carte réseau sur un ordinateur, et un deuxième ordinateur peut agir en tant que récepteur de messages réseau. Dans cet exemple de scénario, chaque ordinateur exécute des binaires différents (mais coordonnés) pour un test.

Pour le scénario précédent, l’ensemble de machines a deux rôles, et chaque rôle a un ordinateur.

Dans un scénario plus complexe (par exemple, test de contrainte de charge du serveur), vous pouvez avoir un ordinateur cible, 10 ordinateurs clients qui effectuent des requêtes simultanées sur l’ordinateur cible et un ordinateur coordinateur de test pour synchroniser les clients et enregistrer les résultats.

MachineRole

Un objet MachineRole est une liste d’ordinateurs qui exécutent un rôle de test spécifique. Utilisez la méthode AddMachine() pour ajouter un ordinateur à un rôle. AddMachine() retourne une erreur si vous ajoutez un ordinateur qui ne se trouve pas dans le pool d’ordinateurs approprié ou si le nombre maximal d’ordinateurs est dépassé.

Cet exemple montre comment afficher le rôle pour chaque ordinateur dans un objet MachineSet :

Machine secondaryMachine = GetSecondaryMachine();
Test test = GetTest();
 
MachineSet machineSet = test.GetMachineRole();
 
foreach (MachineRole role in machineSet.Roles)
{
    Console.WriteLine("Role : " + role.Name);
    Console.WriteLine("Min : {0} Max : {1}" + role.Minimum, role.Maximum);
    Console.WriteLine("isPrimary {0}", role.Primary);
 
    Console.WriteLine("Allocated machines: ");
    foreach (Machine machine in role.GetMachines())
    {
        Console.WriteLine("\t" + machine.Name);
    }
}

Si vous souhaitez ajouter un ordinateur secondaire à Roles[1], vous pouvez utiliser ceci :

machineSet.Roles[1].AddMachine(secondaryMachine);
if (machineSet.Validate())
{
Test.QueueTest(machineSet);
}