diff options
Diffstat (limited to 'tests/aslts/src/runtime/collections/complex/provoke')
4 files changed, 236 insertions, 0 deletions
diff --git a/tests/aslts/src/runtime/collections/complex/provoke/MAIN.asl b/tests/aslts/src/runtime/collections/complex/provoke/MAIN.asl new file mode 100644 index 000000000..8ea3dca50 --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/provoke/MAIN.asl @@ -0,0 +1,58 @@ +/* + * Copyright (c) 2006, Intel Corp. + * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@intel.com> + * Copyright (C) 2006, Fiodor Suietov <fiodor.f.suietov@intel.com> + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +DefinitionBlock( + "provoke.aml", // Output filename + "DSDT", // Signature + 0x02, // DSDT Revision + "Intel", // OEMID + "Many", // TABLE ID + 0x00000001 // OEM Revision + ) { + + // All declarations + Include("../../../../runtime/cntl/DECL.asl") + Include("../../../../runtime/collections/complex/provoke/provoke.asl") + + Method(MAIN) { + + // Initialization + STRT(0) + + // Run verification methods + + Include("../../../../runtime/collections/complex/provoke/RUN.asl") + + // Final actions + Store(FNSH(), Local7) + + return (Local7) + } +} diff --git a/tests/aslts/src/runtime/collections/complex/provoke/Makefile b/tests/aslts/src/runtime/collections/complex/provoke/Makefile new file mode 100644 index 000000000..a86e64cc9 --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/provoke/Makefile @@ -0,0 +1,7 @@ +# provoke + +AMLMOD= provoke +COLL= ../.. + +TOP= $(COLL)/../../.. +include $(COLL)/Makefile.install diff --git a/tests/aslts/src/runtime/collections/complex/provoke/RUN.asl b/tests/aslts/src/runtime/collections/complex/provoke/RUN.asl new file mode 100644 index 000000000..77cb34e46 --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/provoke/RUN.asl @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2006, Intel Corp. + * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@intel.com> + * Copyright (C) 2006, Fiodor Suietov <fiodor.f.suietov@intel.com> + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + + +if (STTT("Check operators under the known critical conditions", TCLC, 1, W00f)) { + PRV0() +} +FTTT() diff --git a/tests/aslts/src/runtime/collections/complex/provoke/provoke.asl b/tests/aslts/src/runtime/collections/complex/provoke/provoke.asl new file mode 100644 index 000000000..e477ec749 --- /dev/null +++ b/tests/aslts/src/runtime/collections/complex/provoke/provoke.asl @@ -0,0 +1,136 @@ +/* + * Copyright (c) 2006, Intel Corp. + * Copyright (C) 2006, Valery Podrezov <valery.a.podrezov@intel.com> + * Copyright (C) 2006, Fiodor Suietov <fiodor.f.suietov@intel.com> + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * Neither the name of Intel Corporation nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Check operators under the known critical conditions + * + * Collection of the tests which exersice the operators under the + * known conditions. If some operator was observed failing under some + * conditions, do the similar checkings for other operators under the + * similar conditions too. + */ + +Name(z055, 55) + +// Meaningless zero valued parameter + +Method(m130, 1) +{ + Name(B000, Buffer(2) {0x21, 0x21}) + + Store(0, Local0) + + ToString(B000, Local0) + + if (LNotequal(Local0, 0)) { + err(arg0, z055, 0, 0, 0, Local0, 0) + } + + CH03(arg0, z055, 1, 0, 0) +} + +// Store-like actions affect the source objects passed as parameter + +Method(m131, 1) +{ + Decrement(arg0) + // Store(9, arg0) +} + +// Operator updates the source object passed to method directly, +// NOT as a reference to it. +Method(m132, 1) +{ + Store(10, Local0) + m131(Local0) + if (LNotEqual(Local0, 10)){ + err(arg0, z055, 2, 0, 0, Local0, 10) + } + + CH03(arg0, z055, 3, 0, 0) +} + +// Operator doesn't update the source object passed to method as a REFERENCE +// to the object. +Method(m133, 1) +{ + Store(10, Local0) + Store(RefOf(Local0), Local1) + m131(Local1) + if (LNotEqual(Local0, 9)){ + err(arg0, z055, 4, 0, 0, Local0, 9) + } + + CH03(arg0, z055, 5, 0, 0) +} + +Method(m134, 1) +{ + Store(10, Local0) + m131(RefOf(Local0)) + if (LNotEqual(Local0, 9)){ + err(arg0, z055, 6, 0, 0, Local0, 9) + } + + CH03(arg0, z055, 7, 0, 0) +} + +Method(m135, 1) +{ + Store(5, arg0) +} + +Method(m136, 1) +{ + Store(10, Local0) + m135(RefOf(Local0)) + if (LNotEqual(Local0, 5)){ + err(arg0, z055, 8, 0, 0, Local0, 5) + } + + CH03(arg0, z055, 9, 0, 0) +} + +// Run-method +Method(PRV0) +{ + Name(ts, "PRV0") + + SRMT("m130") + m130(ts) + SRMT("m132") + m132(ts) + SRMT("m133") + m133(ts) + SRMT("m134") + m134(ts) + SRMT("m136") + m136(ts) +} |