IP Library Granted Patent US 9,442,831
Granted Patent B1
US 9,442,831 · App. 13/774,803 · Granted Sep 13, 2016

Automated testing of program code for processing a simple boot flag data structure

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,442,831
App. No.
13/774,803
Granted
Sep 13, 2016
Kind
B1
Abstract

A computer is configured with a simple boot flag testing module. The simple boot flag testing module sets a simple boot flag data structure to a first value. The simple boot flag testing module then causes the computer to reboot. Following the reboot, the simple boot flag testing module determines if the value of the simple boot flag data structure is equivalent to a second value. If the value of the simple boot flag data structure is not equivalent to the second value following the reboot of the computer, the simple boot flag testing module stores data indicating that the test of the simple boot flag processing module with the first and second values has failed. This process may then be repeated for various combinations of first and second values. Once testing completes, the stored data may be used to present the results.

Claims (43)

1. A computer-implemented method for testing program code for processing a simple boot flag data structure stored on a computer, the method comprising performing computer-implemented operations for:

setting the simple boot flag data structure to a first value that indicates one or more actions for firmware of the computer to perform during a next boot of the computer, the one or more actions for firmware of the computer to perform during the next boot of the computer selected from a plurality of boot options and wherein the one or more actions are used for testing the program code for processing the simple boot flag data structure;

causing the computer to perform the next boot of the computer by rebooting after the simple boot flag data structure has been set to the first value;

following the reboot of the computer, determining if the simple boot flag data structure is equivalent to a second value;

in response to determining that the simple boot flag data structure is not equivalent to the second value following the reboot of the computer, storing data indicating that testing of the program code for processing the simple boot flag data structure has failed;

utilizing the stored data to present results of the testing of the program code for processing the simple boot flag data structure; and

repeating the setting, rebooting, determining, and storing operations for one or more other first and second values that are different from the first and second values prior to presenting the results of the testing.

2. The computer-implemented method of claim 1 , wherein the first value comprises 81 hexadecimal and the second value comprises 86 hexadecimal.

3. The computer-implemented method of claim 1 , wherein the first value comprises 01 hexadecimal and the second value comprises 83 hexadecimal.

4. The computer-implemented method of claim 1 , wherein the first value comprises 83 hexadecimal and the second value comprises 07 hexadecimal.

5. The computer-implemented method of claim 1 , wherein the first value comprises 85 hexadecimal and the second value comprises 83 hexadecimal.

6. The computer-implemented method of claim 1 , wherein the first value comprises 07 hexadecimal and the second value comprises 07 hexadecimal.

7. The computer-implemented method of claim 1 , wherein the program code for processing the simple boot flag data structure comprises a module in the firmware that is compatible with the Unified Extensible Firmware Interface (UEFI) specification.

8. The computer-implemented method of claim 1 , wherein the program code for processing the simple boot flag data structure comprises a module in a legacy Basic Input and Output System (BIOS) firmware.

9. A non-transitory computer-readable storage medium having computer-executable instructions stored thereupon which, when executed by a computer, cause the computer to:

store a first value in a simple boot flag data structure stored by the computer that indicates one or more actions for the computer to perform during a next boot of the computer, the one or more actions for the computer to perform during the next boot of the computer selected from a plurality of boot options;

cause the computer to perform a reboot operation following the storage of the first value in the simple boot flag data structure;

following the completion of the reboot operation, determine if the simple boot flag data structure is equivalent to a second value;

present an indication that a test of a program for processing the simple boot flag data structure has failed in response to determining that the simple boot flag data structure is not equivalent to the second value following the completion of the reboot operation; and

repeat the storage of the first value, the reboot operation, and determine if the simple boot flag is equivalent to the second value operations for one or more other first and second values that are different from the first and second values following the completion of the reboot operation prior to the presenting.

10. The non-transitory computer-readable storage medium of claim 9 having further computer-executable instructions stored thereupon which, when executed by the computer, cause the computer to present an indication that a test of the program for processing the simple boot flag data structure has passed in response to determining that the simple boot flag data structure is equivalent to the second value following the completion of the reboot operation.

11. The non-transitory computer-readable storage medium of claim 9 , wherein the first value comprises 81 hexadecimal and the second value comprises 86 hexadecimal.

12. The non-transitory computer-readable storage medium of claim 9 , wherein the first value comprises 01 hexadecimal and the second value comprises 83 hexadecimal.

13. The non-transitory computer-readable storage medium of claim 9 , wherein the first value comprises 83 hexadecimal and the second value comprises 07 hexadecimal.

14. The non-transitory computer-readable storage medium of claim 9 , wherein the first value comprises 85 hexadecimal and the second value comprises 83 hexadecimal.

15. The non-transitory computer-readable storage medium of claim 9 , wherein the first value comprises 07 hexadecimal and the second value comprises 07 hexadecimal.

16. A computing device, comprising:

a central processing unit; and

a memory device storing

a simple boot flag data structure,

a simple boot flag processing module configured to process the simple boot flag data structure, and

a simple boot flag testing module configured to test the operation of the simple boot flag processing module by

storing a first value in the simple boot flag data structure that indicates one or more actions for the computing device to perform during a next boot of the computing device, the one or more actions for the computing device to perform during the next boot of the computing device selected from a plurality of boot options;

causing the computing device to perform a reboot operation following the storage of the first value in the simple boot flag data structure,

following completion of the reboot operation, determining if the simple boot flag data structure is equivalent to a second value,

presenting an indication that a test of the simple boot flag processing module has failed in response to determining that the simple boot flag data structure is not equivalent to the second value following completion of the reboot operation; and

repeating the storing, rebooting, and determining if the simple boot flag data structure is equivalent to the second value operations, for one or more other first and second values that are different from the first and second values following the completion of the reboot operation prior to the presenting.

17. The computing device of claim 16 , wherein the simple boot flag testing module is further configured to present an indication that the test of the simple boot flag processing module has passed in response to determining that the simple boot flag data structure is equivalent to the second value following completion of the reboot operation.

18. The computing device of claim 16 , wherein the first value comprises 81 hexadecimal and the second value comprises 86 hexadecimal.

19. The computing device of claim 16 , wherein the first value comprises 01 hexadecimal and the second value comprises 83 hexadecimal.

20. The computing device of claim 16 , wherein the first value comprises 83 hexadecimal and the second value comprises 07 hexadecimal.

21. The computing device of claim 16 , wherein the first value comprises 85 hexadecimal and the second value comprises 83 hexadecimal.

22. The computing device of claim 16 , wherein the first value comprises 07 hexadecimal and the second value comprises 07 hexadecimal.

Assignments (5)
PATENT SECURITY AGREEMENT Recorded Oct 23, 2024
From: AMERICAN MEGATRENDS INTERNATIONAL, LLC
To: BAIN CAPITAL CREDIT, LP, AS ADMINISTRATIVE AGENT AND COLLATERAL AGENT
Reel/Frame 069229/0834 →
RELEASE OF SECURITY INTEREST Recorded Oct 17, 2024
From: MIDCAP FINANCIAL TRUST
To: AMERICAN MEGATRENDS INTERNATIONAL, LLC
Reel/Frame 069205/0795 →
SECURITY INTEREST Recorded May 6, 2019
From: AMERICAN MEGATRENDS INTERNATIONAL, LLC
To: MIDCAP FINANCIAL TRUST, AS COLLATERAL AGENT
Reel/Frame 049087/0266 →
ENTITY CONVERSION Recorded Apr 15, 2019
From: AMERICAN MEGATRENDS, INC.
To: AMERICAN MEGATRENDS INTERNATIONAL, LLC
Reel/Frame 049091/0973 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2013
From: ALEKSYEYEV, VYACHESLAV
To: AMERICAN MEGATRENDS, INC.
Reel/Frame 029873/0430 →