Error detection/correction and fault detection/recovery – Data processing system error or fault handling – Reliability and availability
Reexamination Certificate
1998-02-27
2001-04-24
Wright, Norman M. (Department: 2785)
Error detection/correction and fault detection/recovery
Data processing system error or fault handling
Reliability and availability
C714S038110, C713S152000, C709S224000, C707S793000
Reexamination Certificate
active
06223306
ABSTRACT:
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a method and apparatus for testing X Servers. More particularly, the present invention relates to a method and apparatus for testing X Servers which utilizes an object-oriented test harness which is polymorphic and hierarchical in nature and which encapsulates XLib routines in objects having hierarchical dependencies so that much of the detail of XLib routines is hidden from the test writer.
BACKGROUND OF THE INVENTION
The well known X Windows System™ is software that is implemented in graphics workstations to manage device inputs (e.g., mice and keyboards) and the graphics output being sent to the screen of the workstation. The X Windows System™ was developed in response to a need for a windowing system that is capable of working with a variety of different types of workstations. The X Windows System™ utilizes a programming model known as the client-server model. In the client-server model, the windowing software running on a graphics workstation is referred to as the X Server, which performs tasks requested by applications. These applications are referred to in the X Windows System™ as X Clients. The X Clients use the display of the graphics workstation. The X Client may be running on the workstation comprising the X Server or, alternatively, the X Client may be running on a remote computer that is connected to the workstation through a communication link.
Information communicated between the X Server and the X Client(s) is processed and communicated via a protocol known as the X Protocol. The X Windows System™ also comprises a library of routines known as XLib. The manner in which the X Server sends graphics output to the screen is controlled by the X Client, which calls XLib routines which, in turn, are converted into X Protocol requests. Upon receiving the X Protocol requests, the X Server outputs the appropriate graphics output to the screen of the graphics workstation. Tool kits, such as Motif, for example, allow XLib routines to be combined into basic building blocks called widgets using an object-oriented approach. These tool kits provide a higher level of abstraction and allow the programmer to create graphics output requests that utilize the widgets. The widgets are converted into X Protocol requests that are used by the X Server to generate graphics output to be sent to the screen.
Problems or defects in the X Server may cause the X Server to generate errors in an image being rendered to the screen by the X Server. There are some tools available that test the X Server. With these tools, tests make calls to Xlib to cause rendering by the X Server. After the rendering has been performed, the tests use the Xlib API to request the image. The X server uses internal information (i.e., software data) and external information (i.e., data from the graphics device) to return the requested image. However, this image may not be what was actually displayed by the graphics hardware. By using internal data, the X Server returns what it thinks the graphics hardware displayed, which is not necessarily what was actually displayed.
Accordingly, a need exists for a method and apparatus for testing X Servers which allow tests for testing X Servers to be easily written and which ensure precise testing of the X Server and the ability to easily analyze the testing results.
SUMMARY OF THE INVENTION
The present invention provides a method and apparatus for testing X Servers. The present invention comprises a testing system for testing X Servers. The testing system comprises a test harness that communicates with an X Server being tested to obtain the test results therefrom, an archive database for storing test archives to be used by the test harness for testing the X Server, a test result database for storing results of an X Server test, and, preferably, a viewing tool that presents the user with a result file which the user analyzes to determine the nature of a defect in the X Server.
In accordance with the preferred embodiment of the present invention, the test harness is object oriented and has a polymorphic and hierarchical structure. The basic units of the test harness are objects, such as display connections, screens, graphics contexts, pixmaps, colormaps and windows. Within a test context, each object encodes a unique hierarchy that indicates its dependencies on other test harness objects. These objects encapsulate Xlib routines and hide much of the detail of Xlib programming from the test writer, thus facilitating the test writer in writing tests. This feature of the present invention allows test writers to write tests for testing the X Sever without having to deal with Xlib syntax.
Once a test has been written, the test is run and the results of the test, if they are correct, are stored as an archive file in the test archive storage database for later use. When a test is run on an X Server, the test harness captures the image rendered to the screen by the X Server. The test harness then searches the archive database in a predetermined manner to obtain the appropriate test archive. The test archive is then compared to the test results. If the test failed, the captured test image and the test archive image are dumped to a test result storage database. A viewing tool then performs a difference of the captured image and the archive image and displays the captured image, the archive image and the difference image to the user via a graphical user interface (GUI). The GUI comprises features that allow the user to analyze the difference image to determine the nature of the X Server defect.
In accordance with the preferred embodiment of the present invention, the test harness obtains the test results from the X Server via a component that analyzes the hardware in the X Server which drives the screen to determine what was actually rendered. This feature of the present invention ensures that the test results utilized by the test harness reflect what the X Server actually rendered, instead of what the X Server “thinks” it rendered.
REFERENCES:
patent: 5343409 (1994-08-01), Satterfield et al.
patent: 5408600 (1995-04-01), Garfinkel et al.
patent: 5596714 (1997-01-01), Connell
patent: 5881268 (1999-03-01), McDonald et al.
patent: 5909544 (1999-06-01), Anderson, II et al.
patent: 5974254 (1998-10-01), Hsu
Allison Michael S.
Silva Stephen
Sprague Fred
Hewlett--Packard Company
Wright Norman M.
LandOfFree
Method and apparatus for testing X servers does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Method and apparatus for testing X servers, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for testing X servers will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2491681