Browse Prior Art Database

Device Driver Test Tool

IP.com Disclosure Number: IPCOM000116636D
Original Publication Date: 1995-Oct-01
Included in the Prior Art Database: 2005-Mar-31
Document File: 6 page(s) / 158K

Publishing Venue

IBM

Related People

Copeland, R: AUTHOR [+3]

Abstract

Disclosed is a Device Driver Test Tool (DDTT) to facilitate the creation, execution, and refinement of device driver test cases. This tool may be extended by the addition of new device or Application Program Interface (API) dependent Dynamic Link Libraries (DLLs) and grammar files. DLL files implement device-specific interface functions, such as DosDevIOCtl calls. The actual content and execution of test cases are controlled by test case script files, which are parsed by a generic parser and API-specific functions resident in the DLLs. The APIs under test are called indirectly by the DDTT test case parser. The DLL function writer also provides an API-specific grammar file, which instructs the parser how to associate API-specific function and parameter keywords found in the test case script files.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 39% of the total text.

Device Driver Test Tool

      Disclosed is a Device Driver Test Tool (DDTT) to facilitate the
creation, execution, and refinement of device driver test cases.
This tool may be extended by the addition of new device or
Application Program Interface (API) dependent Dynamic Link Libraries
(DLLs) and grammar files.  DLL files implement device-specific
interface functions, such as DosDevIOCtl calls.  The actual content
and execution of test cases are controlled by test case script files,
which are parsed by a generic parser and API-specific functions
resident in the DLLs.  The APIs under test are called indirectly by
the DDTT test case parser.  The DLL function writer also provides an
API-specific grammar file, which instructs the parser how to
associate API-specific function and parameter keywords found in the
test case script files.

      The Figure is a flow diagram showing the major components of
the DDTT.  The partially-shaded modules should be modified or
recreated when new support for devices or APIs is added.

      Under OS/2*, DDTT provides a multi-windowed, Presentation
Manager* (PM) interface for executing multi-threaded test cases.
DDTT has been ported to the DOS environment.  Under DOS, the
device-dependent DLLs are replaced by a special linking procedure
which incorporates the device-specific module into the DDTT
executable
file.  The PM interface can be turned off for single-threaded tests
or for running under DOS or Personality Neutral Services.

      DDTT test cases are flat script files, each of which defines
one or more test case alias names.  Each alias name defines one or
more threads of execution.  When an alias is defined, an associated
DDTT grammar file is specified.  DDTT opens the associated grammar
file and uses the information within it to parse all remaining lines
in the test case script which are part of the alias name.  The
following listing shows a sample test case:
  *  This is an example script file.  It includes most
  *  commands supported by the parser.
  *  @thread takes a filename as a parameter to open as the
  *  thread log file
  @thread test
  *  @log accepts a string to be logged to the log file
  *  specified in the immediately preceding @thread command.
  *  All entries to the log file are preceded with the current
  *  date/time stamp taken from the system real-time clock.
  @log "Beginning of thread 1"
  *  @newalias takes a unique alias name and name of device
  *  grammar file to be opened for input.
  @newalias mycd cdrom.scr
  *  @import takes a filename as a parameter.  The filename is
  *  a script filename which contains script commands that
  *  follow conventions described in this file.
  @import filename
  *  Example device directive lines.  The first token is a
  *  previously-opened @newalias name; second token is
  *  device-specific function keyword as declared in the
  *  device grammar file.
  mycd CD_OPEN DEVICE...