2007-08-29 02:18:01 +04:00
|
|
|
|
2009-03-26 19:22:03 +03:00
|
|
|
How to execute the run-time tests
|
|
|
|
---------------------------------
|
|
|
|
|
2007-08-29 02:18:01 +04:00
|
|
|
|
|
|
|
1. Install the tests (see HOW_TO_INSTALL).
|
|
|
|
|
|
|
|
|
2009-03-26 19:22:03 +03:00
|
|
|
2. To configure the required/desired set of test cases and the modes of
|
|
|
|
the execution runs, manually edit the settings file:
|
|
|
|
|
|
|
|
aslts/bin/settings
|
|
|
|
|
|
|
|
If necessary, tune the test suite to your current needs by setting the
|
|
|
|
variables SETN and run4. These variables control the test suite options
|
|
|
|
and are contained in this file:
|
|
|
|
|
|
|
|
aslts/src/runtime/cntl/runmode.asl
|
|
|
|
|
|
|
|
3. Use the Do utility to run the specified set of tests in all specified
|
|
|
|
modes of execution runs. It supports the automated logging of the results
|
|
|
|
of test runs and allows results to be compared. See comments for the Do
|
|
|
|
utility within the Do script file (aslts/bin/Do).
|
|
|
|
|
|
|
|
a) Set the following environment variables:
|
|
|
|
|
|
|
|
ASL - path to iASL compiler: (example)
|
|
|
|
|
|
|
|
> export ASL="c:/acpica/libraries/iasl.exe"
|
|
|
|
|
|
|
|
acpiexec - path to acpiexec utility: (example)
|
|
|
|
|
|
|
|
> export acpiexec="c:/acpica/libraries/acpiexec.exe"
|
|
|
|
|
|
|
|
ASLTSDIR - path to the aslts directory: (example)
|
|
|
|
|
|
|
|
> export ASLTSDIR="c:/acpica/tests/aslts"
|
|
|
|
|
|
|
|
b) Add the following directory to the PATH variable:
|
|
|
|
|
|
|
|
aslts/bin
|
|
|
|
|
|
|
|
c) If necessary, convert all scripts in the aslts/bin directory to unix
|
|
|
|
line endings:
|
2007-08-29 02:18:01 +04:00
|
|
|
|
2009-03-26 19:22:03 +03:00
|
|
|
> d2u aslts/bin/*
|
2007-08-29 02:18:01 +04:00
|
|
|
|
2009-03-26 19:22:03 +03:00
|
|
|
d) Execute "Do" with one of the following commands:
|
|
|
|
(Use 'Do 1' to run all tests)
|
2007-08-29 02:18:01 +04:00
|
|
|
|
2009-03-26 19:22:03 +03:00
|
|
|
0 - Compile and install AML tests
|
|
|
|
1 - Execute all configured tests in all enabled modes
|
|
|
|
2 - Compare two multi-results of two runs of tests
|
|
|
|
3 - Print out the names of all the available test cases
|
|
|
|
4 - Calculate the current state of all bugs and report the summary
|
|
|
|
tables
|
|
|
|
5 - Prepare bdemo summary files of one multi-results directory for all
|
|
|
|
modes
|
|
|
|
6 - Concatenate bdemo summary files of two multi-results
|
2007-08-29 02:18:01 +04:00
|
|
|
|
|
|
|
|
2009-03-26 19:22:03 +03:00
|
|
|
4. If desired, any individual AML test can be generated from within its
|
|
|
|
directory by running the iASL compiler on the MAIN.asl file for that test.
|
|
|
|
For example:
|
|
|
|
|
|
|
|
> iASL MAIN.asl
|
|
|
|
|
|
|
|
|
|
|
|
5. If desired, any individual AML test can be executed from the aslts/tmp/aml
|
|
|
|
directory by invoking the AcpiExec utility with the name of the AML test
|
|
|
|
and the batch execute option. For example:
|
|
|
|
|
|
|
|
> cd aslts/tmp/aml
|
|
|
|
> acpiexec -eMAIN 20090320/nopt/32/arithmetic.aml
|
|
|
|
|
|
|
|
|
|
|
|
6. When all tests are executed in batch mode (Do 1), the individual test
|
|
|
|
results are placed in the following directory structure:
|
|
|
|
|
|
|
|
aslts/tmp/RESULTS/
|
|
|
|
<date.time.acpica_version>/
|
|
|
|
norm/ // normal interpeter mode, no slack
|
|
|
|
32/ // 32-bit table execution
|
|
|
|
64/ // 64-bit table execution
|
|
|
|
slack/ // interpreter slack mode enabled
|
|
|
|
32/ // 32-bit table execution
|
|
|
|
64/ // 64-bit table execution
|
|
|
|
summary // test execution summary
|
|
|
|
|
|
|
|
|
|
|
|
7. After completion, each AML test reports its status as one of the following:
|
|
|
|
|
|
|
|
[PASS|FAIL|BLOCKED|SKIPPED]
|
|
|
|
|
|
|
|
PASS - Success, no errors encountered in the functionality of the
|
|
|
|
product.
|
|
|
|
FAIL - The test encountered errors - improper functionality of the
|
|
|
|
product.
|
|
|
|
BLOCKED - The test was blocked (was not run). This option is used for the
|
|
|
|
tests which are temporarily causing abort or hang of execution
|
|
|
|
due to the errors the product.
|
|
|
|
SKIPPED - The test was skipped (was not run). This option is used in case
|
|
|
|
where the result of the test is undefined under the particular
|
|
|
|
conditions.
|
|
|
|
|
|
|
|
|
|
|
|
8. How to evaluate the results of the run-time tests.
|
2007-08-29 02:18:01 +04:00
|
|
|
|
|
|
|
A. Successful run.
|
|
|
|
|
2009-03-26 19:22:03 +03:00
|
|
|
After the run is completed, the following summary lines are displayed
|
|
|
|
by ASLTS:
|
2007-08-29 02:18:01 +04:00
|
|
|
|
|
|
|
a) "Run time (in seconds): 0x0000000000000031"
|
|
|
|
b) "The total number of exceptions handled: 0x0000000000000005"
|
|
|
|
c) "TEST ACPICA: 64-bit : PASS"
|
|
|
|
|
2009-03-26 19:22:03 +03:00
|
|
|
Line (a) shows the run time in seconds measured by the ASL Timer operator.
|
|
|
|
|
|
|
|
Line (b) reports the number of exceptions which took place during the test
|
|
|
|
execution.
|
2007-08-29 02:18:01 +04:00
|
|
|
|
2009-03-26 19:22:03 +03:00
|
|
|
Line (c) reports the mode of the run and the summary status:
|
|
|
|
Mode is either 32-bit or 64-bit
|
|
|
|
Status is one of [PASS|FAIL|BLOCKED|SKIPPED]
|
2007-08-29 02:18:01 +04:00
|
|
|
|
|
|
|
|
|
|
|
B. Failed run.
|
|
|
|
|
|
|
|
a) "Run time (in seconds): 0x0000000000000031"
|
|
|
|
b) "The total number of exceptions handled: 0x0000000000000005"
|
|
|
|
c) "TEST ACPICA: 64-bit : FAIL : Errors # 0x0000000000000009"
|
|
|
|
|
|
|
|
The number of errors (9 here) is reported as
|
|
|
|
Errors # 0x0000000000000009".
|
|
|
|
|
2009-03-26 19:22:03 +03:00
|
|
|
C. Example error message:
|
2007-08-29 02:18:01 +04:00
|
|
|
|
|
|
|
"---------- ERROR : 0x000000001903301A, 0x0000000000033017, m503"
|
|
|
|
"TITLE : Miscellaneous named object creation"
|
|
|
|
"COLLECTION : functional"
|
|
|
|
"TEST CASE : name"
|
|
|
|
"TEST : PCG0"
|
|
|
|
"ERROR, file : package.asl"
|
|
|
|
" index : 000000000000001A"
|
|
|
|
"CHECKING, file : package.asl"
|
|
|
|
" method : m123"
|
|
|
|
" index : 0000000000000017"
|
|
|
|
"(r):"
|
|
|
|
0x0000000000000025
|
|
|
|
"(e):"
|
|
|
|
0x0000000000000027
|
|
|
|
"---------- END."
|
|
|
|
|
|
|
|
Explanations:
|
|
|
|
|
|
|
|
0x000000001903301A,
|
2009-03-26 19:22:03 +03:00
|
|
|
0x0000000000033017 - two 32-bit words of error opcode
|
|
|
|
(see "The layout of error opcode" below)
|
2007-08-29 02:18:01 +04:00
|
|
|
|
2009-03-26 19:22:03 +03:00
|
|
|
m503 - This is usually the name of the executing control method (which
|
|
|
|
in turn is usually a conglomeration of subtests) or some brief
|
|
|
|
diagnostic message explanation/designation/naming of the error.
|
2007-08-29 02:18:01 +04:00
|
|
|
|
2009-03-26 19:22:03 +03:00
|
|
|
"TITLE : The common intention of the test
|
|
|
|
"COLLECTION : Functional/complex/exceptions/..
|
|
|
|
"TEST CASE : The name of test case (bfield, arithmetic, opackageel, ...)
|
|
|
|
"TEST : The name of test (simplest unit reported by diagnostics
|
2007-08-29 02:18:01 +04:00
|
|
|
and supplied with the satatus line)
|
2009-03-26 19:22:03 +03:00
|
|
|
"ERROR, file : The name of file where the error reporting
|
2007-08-29 02:18:01 +04:00
|
|
|
function (err()) was invoked
|
2009-03-26 19:22:03 +03:00
|
|
|
" index : Index of error inside that file where err() was invoked
|
|
|
|
(each invocation of err() differs with its index)
|
|
|
|
"CHECKING, file : The name of the file where the checking was initiated
|
|
|
|
" method : The name of method initiated the checking
|
|
|
|
" index : Index of the checking inside the file "CHECKING, file"
|
2007-08-29 02:18:01 +04:00
|
|
|
|
|
|
|
(r): - usually, the following value is a received one
|
|
|
|
(e): - usually, the following value is an expected one
|
|
|
|
|
|
|
|
|
2009-03-26 19:22:03 +03:00
|
|
|
D. The errors (currently 200 max) are summarized as follows at the end of
|
|
|
|
the test output. Example of test "Reference":
|
2007-08-29 02:18:01 +04:00
|
|
|
|
|
|
|
"========= ERRORS SUMMARY (max 200):"
|
|
|
|
"reference, ref50.asl, 0000000000000003, ref50.asl, 0000000000000000, m22c"
|
|
|
|
"reference, datastproc.asl, 000000000000000F, ref50.asl, 0000000000000001, m22c"
|
|
|
|
"reference, ref50.asl, 0000000000000007, ref50.asl, 0000000000000000, m234"
|
|
|
|
"reference, ref50.asl, 0000000000000007, ref50.asl, 0000000000000000, m234"
|
|
|
|
"reference, datastproc.asl, 0000000000000001, ref50.asl, 0000000000000013, m365"
|
|
|
|
"reference, datastproc.asl, 0000000000000001, ref50.asl, 0000000000000015, m365"
|
|
|
|
"reference, datastproc.asl, 0000000000000001, ref50.asl, 0000000000000017, m365"
|
|
|
|
"========= END."
|
|
|
|
|
|
|
|
Explanations:
|
|
|
|
|
|
|
|
"reference, datastproc.asl, 0000000000000001, ref50.asl, 0000000000000017, m365"
|
|
|
|
|
2009-03-26 19:22:03 +03:00
|
|
|
reference - The name of the test case
|
|
|
|
datastproc.asl - The name of the file where the error was revealed
|
|
|
|
and reported by invoking err(..,index,..)
|
|
|
|
0000000000000001 - Index of error inside that (datastproc.asl) file
|
|
|
|
ref50.asl - The name of file where the checking was initiated
|
|
|
|
0000000000000017 - Index of that checking inside that (ref50.asl) file
|
|
|
|
m365 - Diagnostic message (usually, the name of the method
|
|
|
|
containing the conglomeration of tests)
|
2007-08-29 02:18:01 +04:00
|
|
|
|
2009-03-26 19:22:03 +03:00
|
|
|
For more information, see the file aslts/TESTS.
|
2007-08-29 02:18:01 +04:00
|
|
|
|
|
|
|
|
2009-03-26 19:22:03 +03:00
|
|
|
9. The layout of the error opcode (three 32-bit words)
|
2007-08-29 02:18:01 +04:00
|
|
|
|
|
|
|
0xctfffeee
|
|
|
|
0xmmzzzuuu
|
|
|
|
0xnnnnnnnn
|
|
|
|
|
2009-03-26 19:22:03 +03:00
|
|
|
c - Index of tests collection
|
|
|
|
t - Index of test inside the collection
|
|
|
|
f - Absolute index of the file reporting the error
|
|
|
|
e - Index of error (inside the file)
|
|
|
|
z - Absolute index of the file initiating the checking
|
|
|
|
u - Index of checking
|
|
|
|
n - Name of Method initiating the checking
|
|
|
|
m - Miscellaneous:
|
|
|
|
1) in case of TCLD tests there is an index of bug stored (max 600)
|
2007-08-29 02:18:01 +04:00
|
|
|
|
|
|
|
|
|
|
|
How to use ASL-compilation control test collection
|
|
|
|
==================================================
|
|
|
|
|
2009-03-26 19:22:03 +03:00
|
|
|
The tests for the ASL Compiler to check its ability to detect, report and
|
|
|
|
reject wrong ASL code are contained in this directory:
|
2007-08-29 02:18:01 +04:00
|
|
|
|
|
|
|
aslts/src/compilation/collection
|
|
|
|
|
2009-03-26 19:22:03 +03:00
|
|
|
At present, no utility is provided to perform automated run and verification
|
|
|
|
of these tests.
|
2007-08-29 02:18:01 +04:00
|
|
|
|
2009-03-26 19:22:03 +03:00
|
|
|
The tests contain ASL code with compile errors such that no output AML files
|
|
|
|
are expected. Expected are Warning and Error messages to be reported by ASL
|
|
|
|
Compiler for the incorrect ASL code. When implemented, the utility should
|
|
|
|
parse the output of the ASL Compiler for these files to verify the presence
|
|
|
|
of the expected messages.
|