lustrec-tests / vhdl_json / vhdl_files / 2-exportOK / ghdl / ghdl / testsuite / vests / vhdl-93 / billowitch / compliant / tc136.vhd @ 3fd18385
History | View | Annotate | Download (2.56 KB)
1 | 3fd18385 | Arnaud Dieumegard | |
---|---|---|---|
2 | -- Copyright (C) 2001 Bill Billowitch. |
||
3 | |||
4 | -- Some of the work to develop this test suite was done with Air Force |
||
5 | -- support. The Air Force and Bill Billowitch assume no |
||
6 | -- responsibilities for this software. |
||
7 | |||
8 | -- This file is part of VESTs (Vhdl tESTs). |
||
9 | |||
10 | -- VESTs is free software; you can redistribute it and/or modify it |
||
11 | -- under the terms of the GNU General Public License as published by the |
||
12 | -- Free Software Foundation; either version 2 of the License, or (at |
||
13 | -- your option) any later version. |
||
14 | |||
15 | -- VESTs is distributed in the hope that it will be useful, but WITHOUT |
||
16 | -- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
||
17 | -- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
||
18 | -- for more details. |
||
19 | |||
20 | -- You should have received a copy of the GNU General Public License |
||
21 | -- along with VESTs; if not, write to the Free Software Foundation, |
||
22 | -- Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
||
23 | |||
24 | -- --------------------------------------------------------------------- |
||
25 | -- |
||
26 | -- $Id: tc136.vhd,v 1.2 2001-10-26 16:29:40 paw Exp $ |
||
27 | -- $Revision: 1.2 $ |
||
28 | -- |
||
29 | -- --------------------------------------------------------------------- |
||
30 | |||
31 | ENTITY c04s03b02x02p08n01i00136ent IS |
||
32 | END c04s03b02x02p08n01i00136ent; |
||
33 | |||
34 | ARCHITECTURE c04s03b02x02p08n01i00136arch OF c04s03b02x02p08n01i00136ent IS |
||
35 | type AT0 is array (INTEGER range <>) of INTEGER; |
||
36 | subtype ST0 is AT0(1 to 2); |
||
37 | type AT1 is array (INTEGER range <>) of ST0; |
||
38 | subtype ST1 is AT1(1 to 2); |
||
39 | BEGIN |
||
40 | TESTING: PROCESS |
||
41 | |||
42 | procedure Proc1(P : inout ST1; ref : in ST1; set : in ST1) is |
||
43 | begin |
||
44 | if (P = ref) then |
||
45 | P := set; |
||
46 | end if; |
||
47 | end; |
||
48 | |||
49 | variable V : ST1 := ((1, 2), (3, 4)); |
||
50 | variable V11, V12, V21, V22 : INTEGER; |
||
51 | |||
52 | BEGIN |
||
53 | V11 := 1; |
||
54 | V12 := 2; |
||
55 | V21 := 3; |
||
56 | V22 := 4; |
||
57 | Proc1( P(1)(1) => V22, P(1)(2) => V21, P(2)(1) => V12, P(2)(2) => V11, |
||
58 | ref => ((4, 3), (2, 1)), set => ((9, 8), (7, 6))); -- test here |
||
59 | assert V11 = 6 report "FAIL: actual V11 didn't get set right"; |
||
60 | assert V12 = 7 report "FAIL: actual V12 didn't get set right"; |
||
61 | assert V21 = 8 report "FAIL: actual V21 didn't get set right"; |
||
62 | assert V22 = 9 report "FAIL: actual V22 didn't get set right"; |
||
63 | assert NOT( V11=6 and V12=7 and V21=8 and V22=9 ) |
||
64 | report "***PASSED TEST: c04s03b02x02p08n01i00136" |
||
65 | severity NOTE; |
||
66 | assert ( V11=6 and V12=7 and V21=8 and V22=9 ) |
||
67 | report "***FAILED TEST: c04s03b02x02p08n01i00136 - Association element in an association list test failed." |
||
68 | severity ERROR; |
||
69 | wait; |
||
70 | END PROCESS TESTING; |
||
71 | |||
72 | END c04s03b02x02p08n01i00136arch; |