Test executive with external process isolation for user code modules
AssigneeNational Instruments Corporation
InventorJames A. Grey
Life of this patent
Estimating the term…
Abstract
A system and method for isolating execution of user-supplied code modules that are called by steps of a test executive sequence. The test executive sequence may first be created by including a plurality of test executive steps in the test executive sequence and configuring at least a subset of the steps to call user-supplied code modules. The test executive sequence may then be executed on a host computer under control of a test executive engine. For each step that calls a user-supplied code module, the test executive engine may invoke the user-supplied code module for execution in a separate process other than the process in which the test executive engine executes.
Claims21
A computer-readable memory medium storing program instructions executable to:
- include a plurality of test executive steps in a test executive sequence in response to user input, wherein each test executive step includes control functionality implemented by a test executive engine;
- configure each of the test executive steps to call a user-supplied code module in response to user input;
- and
- execute the test executive sequence under control of the test executive engine, wherein said executing comprises the test executive engine executing each of the test executive steps in the test executive sequence;
- wherein for each respective test executive step in at least a subset of the test executive steps in the test executive sequence, said executing the respective test executive step comprises:
- the test executive engine executing the control functionality of the respective test executive step in a first process;
- and
- the test executive engine invoking the user-supplied code module called by the respective test executive step for execution in a different process other than the first process;
- wherein the at least a subset of the test executive steps includes a first test executive step, wherein the control functionality of the first test executive step comprises post-functionality to be performed after the user-supplied code module called by the first test executive step finishes execution, wherein the test executive engine executes the post-functionality in the first process after the user-supplied code module called by the first test executive step finishes execution.
A computer-implemented method comprising:
- including a plurality of test executive steps in a test executive sequence in response to user input, wherein each test executive step includes control functionality implemented by a test executive engine;
- configuring each of the test executive steps to call a user-supplied code module in response to user input;
- and
- executing the test executive sequence under control of the test executive engine, wherein said executing comprises the test executive engine executing each of the test executive steps in the test executive sequence;
- wherein for each respective test executive step in at least a subset of the test executive steps in the test executive sequence, said executing the respective test executive step comprises:
- the test executive engine executing the control functionality of the test executive step in a first process;
- and
- the test executive engine invoking the user-supplied code module called by the test executive step for execution in a different process other than the first process;
- wherein the at least a subset of the test executive steps includes a first test executive step, wherein the control functionality of the first test executive step comprises post-functionality to be performed after the user-supplied code module called by the first test executive step finishes execution, wherein the test executive engine executes the post-functionality in the first process after the user-supplied code module called by the first test executive step finishes execution.
A system comprising:
- a sequence editor;
- a test executive engine;
- a host computer operable to execute the sequence editor and the test executive engine;
- and
- a unit under test (UUT) coupled to the host computer;
- wherein the host computer is operable to execute the sequence editor to create a test executive sequence for testing the UUT, wherein said creating the test executive sequence comprises including a plurality of test executive steps in the test executive sequence in response to user input to the sequence editor, wherein each test executive step includes control functionality implemented by the test executive engine, wherein said creating the test executive sequence further comprises configuring each of the test executive steps to call a user-supplied code module in response to user input to the sequence editor;
- wherein the host computer is further operable to execute the test executive engine, wherein the test executive engine is operable execute the test executive sequence, wherein said executing the test executive sequence comprises the test executive engine executing each of the test executive steps in the test executive sequence;
- wherein for each respective test executive step in at least a subset of the test executive steps in the test executive sequence, said executing the respective test executive step comprises:
- the test executive engine executing the control functionality of the respective test executive step on the host computer in a first process;
- and
- the test executive engine invoking the user-supplied code module called by the respective test executive step for execution on the host computer in a different process other than the first process;
- wherein the at least a subset of the test executive steps includes a first test executive step, wherein the control functionality of the first test executive step comprises post-functionality to be performed after the user-supplied code module called by the first test executive step finishes execution, wherein the test executive engine executes the post-functionality in the first process after the user-supplied code module called by the first test executive step finishes execution.
A computer-readable memory medium storing program instructions executable to:
- include a plurality of test executive steps in a test executive sequence in response to user input, wherein each test executive step includes control functionality implemented by a test executive engine;
- configure each of the test executive steps to call a user-supplied code module in response to user input;
- and
- execute the test executive sequence under control of the test executive engine, wherein said executing comprises the test executive engine executing each of the test executive steps in the test executive sequence;
- wherein for each respective test executive step in at least a subset of the test executive steps in the test executive sequence, said executing the respective test executive step comprises:
- the test executive engine executing the control functionality of the respective test executive step in a first process;
- and
- the test executive engine invoking the user-supplied code module called by the respective test executive step for execution in a different process other than the first process;
- wherein the at least a subset of the test executive steps includes a first test executive step, wherein the control functionality of the first test executive step comprises pre-functionality to be performed before the user-supplied code module called by the first test executive step is executed, wherein the test executive engine executes the pre-functionality in the first process before invoking the user-supplied code module called by the first test executive step.
A computer-implemented method comprising:
- including a plurality of test executive steps in a test executive sequence in response to user input, wherein each test executive step includes control functionality implemented by a test executive engine;
- configuring each of the test executive steps to call a user-supplied code module in response to user input;
- and
- executing the test executive sequence under control of the test executive engine, wherein said executing comprises the test executive engine executing each of the test executive steps in the test executive sequence;
- wherein for each respective test executive step in at least a subset of the test executive steps in the test executive sequence, said executing the respective test executive step comprises:
- the test executive engine executing the control functionality of the respective test executive step in a first process;
- and
- the test executive engine invoking the user-supplied code module called by the respective test executive step for execution in a different process other than the first process;
- wherein the at least a subset of the test executive steps includes a first test executive step, wherein the control functionality of the first test executive step comprises pre-functionality to be performed before the user-supplied code module called by the first test executive step is executed, wherein the test executive engine executes the pre-functionality in the first process before invoking the user-supplied code module called by the first test executive step.
A system comprising:
- a sequence editor;
- a test executive engine;
- a host computer operable to execute the sequence editor and the test executive engine;
- and
- a unit under test (UUT) coupled to the host computer;
- wherein the host computer is operable to execute the sequence editor to create a test executive sequence for testing the UUT, wherein said creating the test executive sequence comprises including a plurality of test executive steps in the test executive sequence in response to user input to the sequence editor, wherein each test executive step includes control functionality implemented by the test executive engine, wherein said creating the test executive sequence further comprises configuring each of the test executive steps to call a user-supplied code module in response to user input to the sequence editor;
- wherein the host computer is further operable to execute the test executive engine, wherein the test executive engine is operable execute the test executive sequence, wherein said executing the test executive sequence comprises the test executive engine executing each of the test executive steps in the test executive sequence;
- wherein for each respective test executive step in at least a subset of the test executive steps in the test executive sequence, said executing the respective test executive step comprises:
- the test executive engine executing the control functionality of the respective test executive step on the host computer in a first process;
- and
- the test executive engine invoking the user-supplied code module called by the respective test executive step for execution on the host computer in a different process other than the first process;
- wherein the at least a subset of the test executive steps includes a first test executive step, wherein the control functionality of the first test executive step comprises pre-functionality to be performed before the user-supplied code module called by the first test executive step is executed, wherein the test executive engine executes the pre-functionality in the first process before invoking the user-supplied code module called by the first test executive step.
A computer-readable memory medium storing program instructions executable to:
- include a plurality of test executive steps in a test executive sequence in response to user input, wherein each test executive step includes control functionality implemented by a test executive engine;
- configure each of the test executive steps to call a user-supplied code module in response to user input;
- receive user input specifying one or more of the test executive steps for which process isolation is desired;
- and
- execute the test executive sequence under control of the test executive engine, wherein said executing comprises the test executive engine executing each of the test executive steps in the test executive sequence;
- wherein for each respective test executive step in the specified one or more test executive steps for which process isolation is desired, said executing the respective test executive step comprises the test executive engine executing the control functionality of the respective test executive step in a first process and invoking the user-supplied code module called by the respective test executive step for execution in a different process other than the first process;
- wherein for each respective test executive step not in the specified one or more test executive steps for which process isolation is desired, said executing the respective test executive step comprises the test executive engine executing the control functionality of the respective test executive step in the first process and invoking the user-supplied code module called by the respective test executive step for execution in the first process.
A computer-implemented method comprising:
- including a plurality of test executive steps in a test executive sequence in response to user input, wherein each test executive step includes control functionality implemented by a test executive engine;
- configuring each of the test executive steps to call a user-supplied code module in response to user input;
- receiving user input specifying one or more of the test executive steps for which process isolation is desired;
- and
- executing the test executive sequence under control of the test executive engine, wherein said executing comprises the test executive engine executing each of the test executive steps in the test executive sequence;
- wherein for each respective test executive step in the specified one or more test executive steps for which process isolation is desired, said executing the respective test executive step comprises the test executive engine executing the control functionality of the respective test executive step in a first process and invoking the user-supplied code module called by the respective test executive step for execution in a different process other than the first process;
- wherein for each respective test executive step not in the specified one or more test executive steps for which process isolation is desired, said executing the respective test executive step comprises the test executive engine executing the control functionality of the respective test executive step in the first process and invoking the user-supplied code module called by the respective test executive step for execution in the first process.
A system comprising:
- a sequence editor;
- a test executive engine;
- a host computer operable to execute the sequence editor and the test executive engine;
- and
- a unit under test (UUT) coupled to the host computer;
- wherein the host computer is operable to execute the sequence editor to create a test executive sequence for testing the UUT, wherein said creating the test executive sequence comprises including a plurality of test executive steps in the test executive sequence in response to user input to the sequence editor, wherein each test executive step includes control functionality implemented by the test executive engine, wherein said creating the test executive sequence further comprises configuring each of the test executive steps to call a user-supplied code module in response to user input to the sequence editor, wherein said creating the test executive sequence further comprises receiving user input specifying one or more of the test executive steps for which process isolation is desired;
- wherein the host computer is further operable to execute the test executive engine, wherein the test executive engine is operable execute the test executive sequence, wherein said executing the test executive sequence comprises the test executive engine executing each of the test executive steps in the test executive sequence;
- wherein for each respective test executive step in the specified one or more test executive steps for which process isolation is desired, said executing the respective test executive step comprises the test executive engine executing the control functionality of the respective test executive step in a first process and invoking the user-supplied code module called by the respective test executive step for execution in a different process other than the first process;
- wherein for each respective test executive step not in the specified one or more test executive steps for which process isolation is desired, said executing the respective test executive step comprises the test executive engine executing the control functionality of the respective test executive step in the first process and invoking the user-supplied code module called by the respective test executive step for execution in the first process.
Dependencies are inferred from the claim text.