diff options
author | Robert Moore <Robert.Moore@intel.com> | 2013-12-17 13:34:23 -0800 |
---|---|---|
committer | Robert Moore <Robert.Moore@intel.com> | 2013-12-17 13:34:23 -0800 |
commit | 99ff9c30bec5b8beb93300373aa2b027afa035c3 (patch) | |
tree | 8c760833c4ae40654bf4f9233867f85489d39f58 /tests | |
parent | 3911d320464c487fd92494a23e197171ed873216 (diff) | |
download | acpica-99ff9c30bec5b8beb93300373aa2b027afa035c3.tar.gz |
ASLTS: Fixes for slack mode failures.
This patch fixes the failure reported for the following ASLTS test:
exceptions:exc_result2:m692-Inc-Exc (32/64 bit slack mode)
exceptions:exc_result2:m692-Dec-Exc (32/64 bit slack mode)
The test cases expect exceptions generated for mismatched types during
implicit conversions happened to Increment/Decrement opcodes. And the
[Unitialized] object could never be converted into object with any other
types. But the "FAIL" is emitted due to the slack mode which converts
[Uninitialized] operand into 0-valued Integer, thus no type mismatch can be
examined for these test cases.
The command to confirm this test:
aslts.sh -m s32 -m s64 -c exc_result2 -t
The result in __STATUS_OF_TESTS before applying this fix:
":STST:exceptions:exc_result2:m692-Inc-Exc:FAIL:Errors # 02 00 00 00:"
":STST:exceptions:exc_result2:m692-Dec-Exc:FAIL:Errors # 02 00 00 00:"
The result in __STATUS_OF_TESTS after applying this fix:
":STST:exceptions:exc_result2:m692-Inc-Exc:PASS:"
":STST:exceptions:exc_result2:m692-Dec-Exc:PASS:"
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/aslts/src/runtime/collections/complex/result/tests/rindecrement/rindecrement.asl | 42 |
1 files changed, 32 insertions, 10 deletions
diff --git a/tests/aslts/src/runtime/collections/complex/result/tests/rindecrement/rindecrement.asl b/tests/aslts/src/runtime/collections/complex/result/tests/rindecrement/rindecrement.asl index b2ce664a7..ee0252e3d 100644 --- a/tests/aslts/src/runtime/collections/complex/result/tests/rindecrement/rindecrement.asl +++ b/tests/aslts/src/runtime/collections/complex/result/tests/rindecrement/rindecrement.asl @@ -561,10 +561,10 @@ Method(m692, 2, Serialized) Return (1) } - if (LEqual(arg4, 0)) { // Increment - Increment(Local1) + if (LEqual(arg4, 0)) { // Increment + Increment(Local1) } elseif (LEqual(arg4, 1)) { // Decrement - Decrement(Local1) + Decrement(Local1) } else { // Unexpected Kind of Op (0 - Increment, 1 - Decrement) err(Concatenate(arg0, terr), z125, 25, 0, 0, arg4, 0) @@ -572,9 +572,20 @@ Method(m692, 2, Serialized) } if (arg5) { - // Exception is expected - if (LNot(CH06(arg0, 26, 0xff))) { - if (STCS) {m000(2, 0x100, arg2, arg3)} + if (LAnd(SLCK, LAnd(LEqual(ToInteger(arg3), 0), + LEqual(ToInteger(arg2), 1)))) { + // In slack mode, [Uninitialized] object + // will be converted to Integer 0, thus no + // exception caused by implicit source + // conversion. + if (CH03(arg0, z125, 26, arg3, arg2)) { + if (STCS) {m000(2, 0x100, arg2, arg3)} + } + } else { + // Exception is expected + if (LNot(CH06(arg0, 26, 0xff))) { + if (STCS) {m000(2, 0x100, arg2, arg3)} + } } } elseif (CH03(arg0, z125, 27, arg3, arg2)) { // Processing caused unexpected exception @@ -621,7 +632,7 @@ Method(m692, 2, Serialized) Return (1) } - if (LEqual(arg4, 0)) { // Increment + if (LEqual(arg4, 0)) { // Increment Store(m100(Local1), Local2) } elseif (LEqual(arg4, 1)) { // Decrement Store(m101(Local1), Local2) @@ -632,9 +643,20 @@ Method(m692, 2, Serialized) } if (arg5) { - // Exception is expected - if (LNot(CH06(arg0, 30, 0xff))) { - if (STCS) {m000(2, 0x100, arg2, arg3)} + if (LAnd(SLCK, LAnd(LEqual(ToInteger(arg3), 0), + LEqual(ToInteger(arg2), 1)))) { + // In slack mode, [Uninitialized] object + // will be converted to Integer 0, thus no + // exception caused by implicit source + // conversion. + if (CH03(arg0, z125, 30, arg3, arg2)) { + if (STCS) {m000(2, 0x100, arg2, arg3)} + } + } else { + // Exception is expected + if (LNot(CH06(arg0, 30, 0xff))) { + if (STCS) {m000(2, 0x100, arg2, arg3)} + } } } elseif (CH03(arg0, z125, 31, arg3, arg2)) { // Processing caused unexpected exception |