You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
br-parser-tools/collects/tests/mred/README

102 lines
4.1 KiB
Plaintext

The "item.ss" test (use load/cd) creates a frame to select
among several types of control-testing frames:
* Big - Tests basic controls; try everything
* Medium - Tests sliders & gauges; keep a new Big or
Medium frame open while getting a new Medium
frame to use the "Enable Previous Frame" test
* Menu - contains its own test instructions
* Button, Checkbox, etc. - Test everything, watching for
messages in the console
For Big & Medium, verify that hide & disbale work (via the checkboxes
on the right). Hiding or disabling a panel should hde or disable all
its contained controls. Disbaling a frame (a "Previous" frame) should
also disbale all of the contained controls. When "Null label" is
used, there should *not* be extra space left where a label might have
gone.
---------------------------------------------------------------------------
The "draw.ss" test (use load/cd) tests drawing commands. There
is a checkbox for testing drawing into an intermediate offscreen
bitmap as well. The drawing area should have the following
features:
At the top, "Pen 0 x 0" in a consistent font (i.e., re-painting
should not change the font)
"Pen 1 x 1" in a possibly different font
"Pen 2 x 2" in a bold font (bold version of 1x1 font)
the drawings under 0x0 and 1x1 should look the same:
TopLeft: h-line should be left-aligned with box below it,
but extend 1 extra pixel. v-line similarly should be
top-aligned and 1 pixel longer. The lines should not
touch the box - there should be 2 pixels of space.
Top: Lines for the rotated L's should join in a sharp corner
Second from Top: like top-left, but lines should touch the box
Four shape lines: First and second should be exactly the same
shape, with the first hollow and the second filled.
Third shape and 2x2 shapes are ill-defined.
Octagons: two hollow octagons exactly the same shape.
Line: actually two lines, but they should form a single
unbroken line
Images: MrEd logo (b & w)
BB logo (color)
Down-left arrow (b & w)
Down-left arrow - B & W, *not* red
Down-left arrow - red with white background
BB logo, possibly reddened
Down-left arrow - red with *white* background
---------------------------------------------------------------------------
The "imred.ss" test is used to check for memory leaks in a loop
invoking the mred system. Call the `go' procedure with a list
of symbol flags:
'force not included:
Use the current eventspaces; expects mred:run-exit-callbacks
to terminate everything properly
'force included:
Use a new eventspace; don't run mred:run-exit-callbacks and
call wx:kill-eventspace instead.
'console included:
Open a MrEd console
'thread included:
Spawn a sleeping-and-looping thread during each invocation.
Also tests semaphore-callback (because it has to)
'eventspace included:
Create a new sub-eventspace during each invocation with
a wx:frame% shown
---------------------------------------------------------------------------
The "mem.ss" test should be loaded at startup:
mred -nu -f tests/mem.ss
It will create a lot of frames and instance of other objects,
reporting memory information along the way. At the end,
before the last memory dump, objects that are still allocated
are displayed like this:
(frame (1 . 5))
This means that the frame allocated by thread #1 at cycle 5
(counting down from some number) hasn't been garbage-collected.
If there's a few of these lines (less than 10), that's ok.
A large number of lines indicates a GC problem.
---------------------------------------------------------------------------
The "setup.ss" test is a randomized test of the MrEd classes that tests
MrEd's stability. Load/cd setup.ss, and then run
(init)
This attempts to create instances of classes using random
intialization arguments. (init) can be run any number of times. Then
run
(call-all-random)
This calls every method of every class (skipping some "dangerous" ones
that modify the file system) with a random instance and with random
arguments.