README
/* $XConsortium: README /main/7 1996/07/15 14:14:53 drk $ */
2.  OSF/Motif Resource Manager Tests

This README describes the OSF/Motif Resource Manager tests.
It provides information about the individual tests, and
offers instructions for running and interpreting the tests
and test output.

                            Note

Throughout this README, we use the path ./tests/Mrm to
identify the top directory of the Resource Manager tests.
The ./ indicates the testing tree root and is not an actual
path designation.  For example, if you installed the Motif
software at /source/Motif, then ./tests/Mrm translates to 
/source/Motif/tests/Mrm at your site.

2.1  Overview and Directory Structure

The OSF/Motif Resource Manager test directory, ./tests/Mrm,
consists of several files and subdirectories:

   * The file Imakefile is used to build the tests.

   * The file run_all is used to run all the Resource
     Manager tests in series.  It simply runs the scripts
     run_int and run_nonint.

   * The file run_int is used to run all the interactive
     Resource Manager tests in series.  It also sets up a
     log of its action in the file intsum.out

   * The file run_nonint is used to run all the noninterac-
     tive Resource Manager tests in series.  It also sets up
     a log of its action in the file nonint.out

   * The file MrmTest.h contains declarations used by all
     the tests.

   * The file convenience.c contains the source code for
     convenience routines used by all the tests.

   * The files main.c and main.uil contain the source code
     for the MessageBox used in interactive tests.

   * The file pixmaps.uil contains color and icon declara-
     tions used in the tests.

   * The file summary.c contains the source code for the
     routine that generates summary results in the Message-
     Box for the interactive tests.

   * Test source files consisting of the suffixes .c, .h,
     and .uil.

   * The files beginning with ABrowse are the source files
     for the ABrowse Athena widget used by the RegisterCA
     test.  Note: the RegisterCA test does not run in this
     release.  For this reason, this test is not built, and
     the files comprising this test are not in the Imakefile
     or Makefile.

   * The files beginning with Browse are the source files
     for the Browse Motif widget used by the RegisterC test.

   * The subdirectory ./tests/Mrm/OpenHLang is used by OpenH
     to test UIDPATH support in the Resource Manager.

   * The file OpenH_if is used by OpenH to test the effects
     of opening a bad .uid file.  This is just a plain text
     file, it needs no compiling.

This directory contains the following tests.

CloseH      Tests the MrmCloseHierarchy function.

FetchCL     Tests the MrmFetchColorLiteral function.

FetchIL     Tests the MrmFetchIconLiteral function.

FetchL      Tests the MrmFetchLiteral function.

FetchSV     Tests the MrmFetchSetValues function.

FetchW      Tests the MrmFetchWidget function.

FetchWO     Tests the MrmFetchWidgetOverride function.

HierN       Tests the hierarchy-based name registration
            functions.

OpenH       Tests the MrmOpenHierarchy function.

RegisterC   Tests the MrmRegisterClass function with a
            user-defined Motif widget.

RegisterCA  Tests the MrmRegisterClass function with a
            user-defined Athena widget.  Note: the Regis-
            terCA test does not run at this release.

RegisterN   Tests the MrmRegisterNames function.

compiling FetchWloop.uil
            Tests the uil compiler's ability to detect cycl-
            ical widget references.


2.2  Compiling the Tests

All the tests must be compiled before you can run them.

   * If you used the global build process after installing
     the software, the tests should already be built.  We do
     not recommend building the tests with global build pro-
     cess because of the size of the test suite.  (This
     assumes that you did not move the test suite files
     prior to invoking the make commands.)

   * If you did not include the test suite files in your
     initial global build process, you can build the tests
     using the make all command from the ./tests/Mrm directory.
     Prior to building the tests you need to make Makefile in 
     the current directory. 

Neither RegisterCA nor FetchWloop.uil will be compiled
using either of the global compiling methods previously
described.  RegisterCA is not compiled because it requires
Athena toolkit libraries, and would cause the build process
to fail on systems that do not have the libraries installed.
FetchWloop.uil is not compiled because it tests a condition
that should fail the compile process and will cause the
build process to quit.

The compiled tests use a large amount of disk space.  You
may prefer to build each test separately if disk space is
limited at your site. You can build each test individually
using the make command for each test shown in the following
sections.

2.2.1  CloseH

make CloseH CloseH.uid OpenH_mf1.uid OpenH_mf2.uid(
OpenH_mf3.uid OpenH_vh.uid

2.2.2  FetchCL

make FetchCL FetchCL.uid

2.2.3  FetchIL

make FetchIL FetchIL.uid

2.2.4  FetchL

make FetchL FetchL.uid

2.2.5  FetchSV

make FetchSV FetchSV.uid

2.2.6  FetchW

make FetchW FetchW.uid

2.2.7  FetchWO

make FetchWO FetchWO.uid

2.2.8  HierN

make HierN RegisterN.uid

2.2.9  OpenH

make OpenH OpenH.uid OpenH_mf1.uid OpenH_mf2.uid OpenH_mf3.uid\
OpenH_vh.uid OpenH_vhws.uid OpenHLang/OpenH_vhev.uid\
OpenHLang/OpenH_vhevl.uid

2.2.10  RegisterC

make RegisterC RegisterC.uid

2.2.11  RegisterCA

Note: The RegisterCA test will not compile or run in this release.

2.2.12  RegisterN

make RegisterN

2.3  Running the Resource Manager Tests

The tests in this section fall into three types.

Interactive       These include a MessageBox with instruc-
                  tions for running and interpreting the
                  test.  When the test is completed, a sum-
                  mary message for the test is displayed in
                  the MessageBox.  The interactive tests are
                  CloseH, FetchCL, FetchIL, FetchSV, FetchW,
                  FetchWO, OpenH, and RegisterC.

Noninteractive    These run without input from the user and
                  print their results out to the file
                  noninit.out.  The noninteractive tests are
                  FetchL, RegisterN, and HierN.

Compile           There is only one compile test,
                  FetchWloop.uil.  It tests that the com-
                  piler produces the proper error given
                  cyclical references.

You can run all the test in series with the run_all script.
The run_all script first executes the run_int script, and
then executes the run_nonint script.

You can run the interactive tests with the run_int script.
The run_int script keeps a log of all the summary informa-
tion displayed in the MessageBox for each test in the file
intsum.out.

You can run the noninteractive tests with the run_nonint
script.  The run_nonint script keeps a log of all the test
information usually sent to the standard output in the file
nonint.out.  The run_nonint also runs the compile test for
FetchWloop.uil.

To run any of the tests except FetchWloop.uil individually
simply enter the name of the compiled test in the
./tests/Mrm directory.  The interactive tests will display a
MessageBox with instructions for the test.  When the test
has completed, a summary of the results is displayed in the
MessageBox and on the standard output.  The noninteractive
test will run with no further input.  When the test has com-
pleted, a summary of the results is displayed on the stan-
dard output.

To run the FetchWloop.uil test, simply enter make
FetchWloop.uid in the ./tests/Mrm directory.  If the test
is successful the compile will fail because of cyclic
errors.  If the compile is successful, the test has failed
to find cyclic references in the uil file.

The interactive tests OpenH and CloseH do a number of itera-
tions of opening and closing a file to test for memory
usage.  These tests will create the log files OH_log and
CH_log respectively.  These log files show on which itera-
tion of the test memory was lost during the test.  The sum-
mary of the test in the MessageBox will indicate that memory
was lost.  You can look in the log files for detailed infor-
mation about when the memory was lost and how much was lost.

BUGS SHOWN BY THESE TESTS
 
OpenH
PIRS No.:      3890
MrmOpenHierarchy fails if UIDPATH is set at all.  Other Mrm
functions seem to work ok with UIDPATH.
Version found in:      1.1.4

ENDBUGS