Automated context-sensitive operating system switch
First Claim
1. A test system for a server to cause automated switching of operating systems at a remotely-located system under test (“
- SUT”
), comprising;
a computer comprising a processor;
a process control file stored on a storage medium accessible to the server and specifying a plurality of commands to be executed on the SUT, wherein;
the process control file is defined as a hierarchy of test blocks;
the plurality of commands are organized into at least two groups, each of the groups occupying a distinct test block at a leaf level of the hierarchy;
at least one leaf-level test block specifies a leaf-specific operating system which is required for executing the commands in the group occupying the leaf-level test block; and
at least one leaf-level test block omits specifying an operating system which is required for executing the commands in the group occupying the leaf-level test block, while an ancestor test block specifies an ancestor-specific operating system that is different from the leaf-specific operating system; and
a test sequencer that executes at the server, using the processor, to iteratively evaluate the process control file and, responsive to each evaluation;
selects a next-executable one of the commands;
determines, from the hierarchy of test blocks, which operating system is required for executing the selected command by determining, if the selected command is organized into one of the groups that occupies a leaf-level test block which specifies a leaf-specific operating system, that the leaf-specific operating system is required for executing the selected command and otherwise, searching each successive ancestor test block of the selected command until locating an ancestor test block which specifies an ancestor-specific operating system and then determining that the operating system required for executing the selected command is the ancestor-specific operating system;
creates a command message that comprises an identification of the required operating system and a specification of the selected command;
writes the identification of the required operating system in a configuration file readable by a reboot process; and
forwards the created command message to the SUT, such that the SUT will compare the identification of the required operating system to a currently-running operating system at the SUT before executing the selected command and, if a mismatch is detected, will trigger the reboot process to reboot the SUT to the required operating system as written in the configuration file.
1 Assignment
0 Petitions
Accused Products
Abstract
An automated technique for switching operating systems, responsive to current context of an executing test scenario. A test designer specifies, in a process control file, a required operating system for appropriate command blocks. A test sequencer packages the required operating system name with each command to be executed, and sends that information to a test listener on a system under test. The test listener remembers the currently-running operating system, and compares that to the required operating system for each command to be executed. If a mismatch occurs, then the correct operating system is not running, and the listener automatically triggers a reboot.
-
Citations
21 Claims
-
1. A test system for a server to cause automated switching of operating systems at a remotely-located system under test (“
- SUT”
), comprising;a computer comprising a processor; a process control file stored on a storage medium accessible to the server and specifying a plurality of commands to be executed on the SUT, wherein; the process control file is defined as a hierarchy of test blocks; the plurality of commands are organized into at least two groups, each of the groups occupying a distinct test block at a leaf level of the hierarchy; at least one leaf-level test block specifies a leaf-specific operating system which is required for executing the commands in the group occupying the leaf-level test block; and at least one leaf-level test block omits specifying an operating system which is required for executing the commands in the group occupying the leaf-level test block, while an ancestor test block specifies an ancestor-specific operating system that is different from the leaf-specific operating system; and a test sequencer that executes at the server, using the processor, to iteratively evaluate the process control file and, responsive to each evaluation; selects a next-executable one of the commands; determines, from the hierarchy of test blocks, which operating system is required for executing the selected command by determining, if the selected command is organized into one of the groups that occupies a leaf-level test block which specifies a leaf-specific operating system, that the leaf-specific operating system is required for executing the selected command and otherwise, searching each successive ancestor test block of the selected command until locating an ancestor test block which specifies an ancestor-specific operating system and then determining that the operating system required for executing the selected command is the ancestor-specific operating system; creates a command message that comprises an identification of the required operating system and a specification of the selected command; writes the identification of the required operating system in a configuration file readable by a reboot process; and forwards the created command message to the SUT, such that the SUT will compare the identification of the required operating system to a currently-running operating system at the SUT before executing the selected command and, if a mismatch is detected, will trigger the reboot process to reboot the SUT to the required operating system as written in the configuration file. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
- SUT”
-
12. A computer-implemented method for a server to cause automated switching of operating systems at a remotely-located system under test (“
- SUT”
), comprising;specifying, in a process control file stored on a storage medium accessible to the server, a plurality of commands to be executed on the SUT, wherein; the process control file is defined as a hierarchy of test blocks; the plurality of commands are organized into at least two groups, each of the groups occupying a distinct test block at a leaf level of the hierarchy; at least one leaf-level test block specifies a leaf-specific operating system which is required for executing the commands in the group occupying the leaf-level test block; and at least one leaf-level test block omits specifying an operating system which is required for executing the commands in the group occupying the leaf-level test block, while an ancestor test block specifies an ancestor-specific operating system that is different from the leaf-specific operating system; and iteratively evaluating the process control file by a test sequencer that executes at the server and, responsive to each evaluation; selecting a next-executable one of the commands; determining, from the hierarchy of test blocks, which operating system is required for executing the selected command by determining, if the selected command is organized into one of the groups that occupies a leaf-level test block which specifies a leaf-specific operating system, that the leaf-specific operating system is required for executing the selected command and otherwise, searching each successive ancestor test block of the selected command until locating an ancestor test block which specifies an ancestor-specific operating system and then determining that the operating system required for executing the selected command is the ancestor-specific operating system; creating a command message that comprises an identification of the required operating system and a specification of the selected command; writing the identification of the required operating system in a configuration file readable by a reboot process; and forwarding the created command message to the SUT, such that the SUT will compare the identification of the required operating system to a currently-running operating system at the SUT before executing the selected command and, if a mismatch is detected, will trigger the reboot process to reboot the SUT to the required operating system as written in the configuration file. - View Dependent Claims (13, 14, 15, 16)
- SUT”
-
17. A computer program product for a server to cause automated switching of operating systems at a remotely-located system under test (“
- SUT”
), the computer program product embodied on at least one computer-readable storage media and comprising computer-readable program code for;iteratively selecting, by a test sequencer that executes at the server, a next-executable one of a plurality of commands from a process control file stored on a storage medium accessible to the server, the plurality of commands for executing on the SUT, wherein; the process control file is defined as a hierarchy of test blocks; the plurality of commands are organized into at least two groups, each of the groups occupying a distinct test block at a leaf level of the hierarchy; at least one leaf-level test block specifies a leaf-specific operating system which is required for executing the commands in the group occupying the leaf-level test block; and at least one leaf-level test block omits specifying an operating system which is required for executing the commands in the group occupying the leaf-level test block, while an ancestor test block specifies an ancestor-specific operating system that is different from the leaf-specific operating system; and for each of the selected commands, performing; determining, from the hierarchy of test blocks, which operating system is required for executing the selected command by determining, if the selected command is organized into one of the groups that occupies a leaf-level test block which specifies a leaf-specific operating system, that the leaf-specific operating system is required for executing the selected command and otherwise, searching each successive ancestor test block of the selected command until locating an ancestor test block which specifies an ancestor-specific operating system and then determining that the operating system required for executing the selected command is the ancestor-specific operating system; creating a command message that comprises an identification of the required operating system and a specification of the selected command; writing the identification of the required operating system in a configuration file readable by a reboot process; and forwarding the created command message to the SUT, such that the SUT will compare the identification of the required operating system to a currently-running operating system at the SUT before executing the selected command and, if a mismatch is detected, will trigger the reboot process to reboot the SUT to the required operating system as written in the configuration file. - View Dependent Claims (18, 19, 20, 21)
- SUT”
Specification