|
Packit |
b099d7 |
/* $XConsortium: README /main/5 1996/07/15 14:36:34 drk $ */
|
|
Packit |
b099d7 |
6. User Interface Language Tests
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
This README describes the OSF/Motif User Interface Language
|
|
Packit |
b099d7 |
tests. It provides information about the individual tests,
|
|
Packit |
b099d7 |
and offers instructions for running and interpreting the
|
|
Packit |
b099d7 |
tests and test output.
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Note
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Throughout this README, we use the path ./tests/uil to
|
|
Packit |
b099d7 |
identify the top directory of the User Interface Language
|
|
Packit |
b099d7 |
tests. The ./ indicates the testing tree root and is not an
|
|
Packit |
b099d7 |
actual path designation. For example, if you installed the
|
|
Packit |
b099d7 |
Motif 1.1 release software at /source/Motif, then
|
|
Packit |
b099d7 |
./tests/uil translates to /source/Motif/tests/uil at your
|
|
Packit |
b099d7 |
site.
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
6.1 Overview and Directory Structure
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
The OSF/Motif User Interface Language test directory,
|
|
Packit |
b099d7 |
./tests/uil, consists of several files and subdirectories:
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
* The file Imakefile is used to build Makefile, which in it's turn
|
|
Packit |
b099d7 |
is used to build the tests.
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
* The Callbacks subdirectory contains the test of UIL
|
|
Packit |
b099d7 |
multiple callbacks, multC. This test is noninterac-
|
|
Packit |
b099d7 |
tive, and prints result messages to the standard out-
|
|
Packit |
b099d7 |
put. The script run_multC runs the test and redirects
|
|
Packit |
b099d7 |
the output to the file multC.out.
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
* The EnumVal subdirectory contains tests of Enumerated
|
|
Packit |
b099d7 |
Values within UIL. They are designed to be user
|
|
Packit |
b099d7 |
interactive, with on-line user instructions for each
|
|
Packit |
b099d7 |
part of the test. This test subdirectory contains the
|
|
Packit |
b099d7 |
following tests.
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
EnumVal1 EnumVal3 EnumVal5
|
|
Packit |
b099d7 |
EnumVal2 EnumVal4 EnumVal6
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
* The ForRef subdirectory contains a tests of forward
|
|
Packit |
b099d7 |
references within UIL. The test ForRef is not user
|
|
Packit |
b099d7 |
interactive, but the tests ForRef2, ForRef3 and ForRef4
|
|
Packit |
b099d7 |
are designed to be user interactive, with on-line user
|
|
Packit |
b099d7 |
instructions for each part of the test. The results of
|
|
Packit |
b099d7 |
the ForRef test is placed in the file for_ref.out.
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
* The NL subdirectory contains the test of the UIL
|
|
Packit |
b099d7 |
national language extensions, NL. This test is nonin-
|
|
Packit |
b099d7 |
teractive, and prints result to the standard output.
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
* The Syntax subdirectory contains tests of general syn-
|
|
Packit |
b099d7 |
tax within UIL. They are designed to be user interac-
|
|
Packit |
b099d7 |
tive, with on-line user instructions for each part of
|
|
Packit |
b099d7 |
the test. This test subdirectory contains the follow-
|
|
Packit |
b099d7 |
ing tests.
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Case GSyntax2 Names
|
|
Packit |
b099d7 |
GSyntax1 Minimal NamesU
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
* The callUil subdirectory contains a test of the call-
|
|
Packit |
b099d7 |
able Uil compiler portion of UIL, Uil. It is designed
|
|
Packit |
b099d7 |
to be user interactive, with on-line user instructions
|
|
Packit |
b099d7 |
for each part of the test. The test invokes the call-
|
|
Packit |
b099d7 |
able Uil compiler on three different uil files; one
|
|
Packit |
b099d7 |
with errors, one with warnings, and one that compiles
|
|
Packit |
b099d7 |
successfully. The results of the compiles are
|
|
Packit |
b099d7 |
presented in the MessageBox used for the instructions.
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
* The dataStructs subdirectory contains tests of UIL data
|
|
Packit |
b099d7 |
structures. These tests are noninteractive, and each
|
|
Packit |
b099d7 |
test prints result messages to the standard output.
|
|
Packit |
b099d7 |
The script run_all runs all the tests and redirects the
|
|
Packit |
b099d7 |
result messages to the file dataStruct.out.
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
This test subdirectory contains the following tests.
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
CompoundS Pixmap Simple
|
|
Packit |
b099d7 |
Font Tables
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
* The matrix subdirectory contains a test designed to
|
|
Packit |
b099d7 |
test the Widget Meta Language (WML) within UIL Test.
|
|
Packit |
b099d7 |
The testing scheme is to add the facility for more
|
|
Packit |
b099d7 |
widgets to the currently built UIL and then test all
|
|
Packit |
b099d7 |
possible combinations of Motif Resource Manager (MRM)
|
|
Packit |
b099d7 |
interfaces and UID files to make sure that the interac-
|
|
Packit |
b099d7 |
tions between MRM and UIL are consistent and compati-
|
|
Packit |
b099d7 |
ble. For these tests we use newly created widgets: The
|
|
Packit |
b099d7 |
Browse widget using the Motif toolkit and the ALabel
|
|
Packit |
b099d7 |
widget using the MIT Athena Toolkit. When these new
|
|
Packit |
b099d7 |
widgets are added to WML, a new UIL compiler is built
|
|
Packit |
b099d7 |
for testing.
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
* The validator subdirectory contains a test of the UIL
|
|
Packit |
b099d7 |
error and warning mechanism. The testing scheme is to
|
|
Packit |
b099d7 |
compile a UIL file, validator.uil, with the -v flag to
|
|
Packit |
b099d7 |
generate a listing file that also lists errors and
|
|
Packit |
b099d7 |
warnings. The listing file is then compared against an
|
|
Packit |
b099d7 |
preexisting listing file to show differences.
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
* The widgets subdirectory contains tests for displaying
|
|
Packit |
b099d7 |
all the Motif widgets created with UIL. It it designed
|
|
Packit |
b099d7 |
to be user interactive, with on-line user instructions
|
|
Packit |
b099d7 |
accompanying each test widget. This test subdirectory
|
|
Packit |
b099d7 |
contains the following tests.
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
BBoard labelGad scaleHorz
|
|
Packit |
b099d7 |
BBoardDia listBs scaleVert
|
|
Packit |
b099d7 |
arrowBGad listEs scrollLis2
|
|
Packit |
b099d7 |
arrowBtn listMs scrollList
|
|
Packit |
b099d7 |
cascBGad listSs scrollText
|
|
Packit |
b099d7 |
cascBtn menuBar scrollWin
|
|
Packit |
b099d7 |
command mesBox scrollbarH
|
|
Packit |
b099d7 |
drawArea mesDia scrollbarV
|
|
Packit |
b099d7 |
drawnBtn optionMenu selectBox
|
|
Packit |
b099d7 |
errorDia panedWin selectDia
|
|
Packit |
b099d7 |
form popupMenu textMl
|
|
Packit |
b099d7 |
formDia promptDia textSl
|
|
Packit |
b099d7 |
frame pulldown toggleBGad
|
|
Packit |
b099d7 |
fsBox pushBGad toggleBtn
|
|
Packit |
b099d7 |
fsDia pushBtn warningDia
|
|
Packit |
b099d7 |
infoDia radioBox workingDia
|
|
Packit |
b099d7 |
label rowCol
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Each test subdirectory contains the following common files.
|
|
Packit |
b099d7 |
Each test subdirectory may not contain all of the different
|
|
Packit |
b099d7 |
files. Some test subdirectories may also contain additional
|
|
Packit |
b099d7 |
files. These are most commonly used as data for one or more
|
|
Packit |
b099d7 |
of the tests.
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
* The file Imakefile is used to build Makefile, which in it's turn
|
|
Packit |
b099d7 |
is used to build the tests.
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
* The README file, or variants, contains information
|
|
Packit |
b099d7 |
specific to that test directory's build and run pro-
|
|
Packit |
b099d7 |
cedure. The README file in a test subdirectory
|
|
Packit |
b099d7 |
describes any nonstandard build or run procedure.
|
|
Packit |
b099d7 |
There should be no information in the README files that
|
|
Packit |
b099d7 |
is not in this document.
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
* The file run_all or run is used to run all the Toolkit
|
|
Packit |
b099d7 |
tests in series. In some instances the run_all script
|
|
Packit |
b099d7 |
also initializes a test before running it.
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
* Files with the suffixes .c, .h, and .uil contain source
|
|
Packit |
b099d7 |
code for the tests.
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
* The file displayUid.c contains a MRM interface for
|
|
Packit |
b099d7 |
displaying UID files, reporting callbacks.
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
* The header file reasons.h contains an array of reasons
|
|
Packit |
b099d7 |
for reporting callbacks.
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
* Some directories, such as Widgets, contain .msg files
|
|
Packit |
b099d7 |
that contain the text of instructions for the test.
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
6.2 Compiling the Tests
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
All the tests, except validator, must be compiled before you
|
|
Packit |
b099d7 |
can run them.
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
* If you used the global build process after installing
|
|
Packit |
b099d7 |
the software, the tests should already be built. We do
|
|
Packit |
b099d7 |
not recommend building the tests with global build pro-
|
|
Packit |
b099d7 |
cess because of the size of the test suite. (This
|
|
Packit |
b099d7 |
assumes that you did not move the test suite files
|
|
Packit |
b099d7 |
prior to invoking the make commands.)
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
* If you did not include the test suite files in your
|
|
Packit |
b099d7 |
initial global build process, you can build the tests
|
|
Packit |
b099d7 |
now using the make all command from the ./tests/uil
|
|
Packit |
b099d7 |
directory.
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
* You can build just the tests in any one test subdirec-
|
|
Packit |
b099d7 |
tory, except the matrix test subdirectory, using the
|
|
Packit |
b099d7 |
make all command from the specific test subdirectory.
|
|
Packit |
b099d7 |
For example, to build the tests in the ForRef subdirec-
|
|
Packit |
b099d7 |
tory, enter the make all command from the
|
|
Packit |
b099d7 |
./tests/uil/ForRef test subdirectory.
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
You should not generally build tests by whole subdirectories
|
|
Packit |
b099d7 |
in the ./tests/uil test directorie, since there are many
|
|
Packit |
b099d7 |
dependencies among files and the testing mechanisms vary
|
|
Packit |
b099d7 |
widely among test subdirectories.
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Two special compile notes are required here. First, in the
|
|
Packit |
b099d7 |
test subdirectory ./tests/uil/Callbacks, part of this test
|
|
Packit |
b099d7 |
involves specifying a reason more than once in the same
|
|
Packit |
b099d7 |
callback list. This is a valid operation, but will cause
|
|
Packit |
b099d7 |
seven informational messages while compiling the file
|
|
Packit |
b099d7 |
multC.uil. These messages are expected, and the file
|
|
Packit |
b099d7 |
multC.uid is still generated.
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Second, in the test subdirectory ./tests/uil/matrix, the
|
|
Packit |
b099d7 |
build is accomplished by running the shell script
|
|
Packit |
b099d7 |
./tests/uil/matrix/Build instead of using the Makefile.
|
|
Packit |
b099d7 |
Also, in order for the MIT Athena Toolkit widget, which is
|
|
Packit |
b099d7 |
in the AA directory, to compile correctly, the MIT Athena
|
|
Packit |
b099d7 |
widget set, including libraries and header files, must be
|
|
Packit |
b099d7 |
installed on your machine. If the Athena widgets are not
|
|
Packit |
b099d7 |
installed, testing can only be performed using on the base
|
|
Packit |
b099d7 |
tree, and with the WML technology with a new Motif widget
|
|
Packit |
b099d7 |
added, which is in the directory MA.
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
6.3 Running the User Interface Language Tests
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
The tests in this section fall into two types.
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Interactive These include a MessageBox with instruc-
|
|
Packit |
b099d7 |
tions for running and interpreting the
|
|
Packit |
b099d7 |
test. The instructions describe what you
|
|
Packit |
b099d7 |
should see on the screen. You should try
|
|
Packit |
b099d7 |
all the actions described in the instruc-
|
|
Packit |
b099d7 |
tions. The tests in the test subdirec-
|
|
Packit |
b099d7 |
tories EnumVal, ForRef, Syntax, CallUil,
|
|
Packit |
b099d7 |
matrix, and widgets are interactive tests.
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Noninteractive These run without input from the user and
|
|
Packit |
b099d7 |
print their results out to the standard
|
|
Packit |
b099d7 |
output or to a file. The tests in the
|
|
Packit |
b099d7 |
test subdirectories Callbacks, NL, dataS-
|
|
Packit |
b099d7 |
tructs, and validator, and the test ForRef
|
|
Packit |
b099d7 |
in the ForRef subdirectory are noninterac-
|
|
Packit |
b099d7 |
tive tests.
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
You should generally run the uil section tests from the run
|
|
Packit |
b099d7 |
scripts provided. To have tests appear in the top left
|
|
Packit |
b099d7 |
corner of the root window the resource Mwm*clientAutoPlace
|
|
Packit |
b099d7 |
should be set to false in you .Xdefaults file.
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
The matrix tests should be run using the script
|
|
Packit |
b099d7 |
./tests/uil/matrix/Test
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
In the widgets test subdirectory, callbacks are handled by
|
|
Packit |
b099d7 |
printing to the name of the callback that has been trig-
|
|
Packit |
b099d7 |
gered, and the reason for what callback to the standard out-
|
|
Packit |
b099d7 |
put. To find out how to trigger a callback, refer to the
|
|
Packit |
b099d7 |
appropriate page in the OSF Motif Programmers Reference
|
|
Packit |
b099d7 |
Manual. A callback is active when it is defined as ON in
|
|
Packit |
b099d7 |
the message portion of the test.
|