/trunk/test/tkt2927.test |
@@ -0,0 +1,674 @@ |
# 2008 Feb 6 |
# |
# The author disclaims copyright to this source code. In place of |
# a legal notice, here is a blessing: |
# |
# May you do good and not evil. |
# May you find forgiveness for yourself and forgive others. |
# May you share freely, never taking more than you give. |
# |
#*********************************************************************** |
# |
# This file is to test that ticket #2927 is fixed. |
# |
# $Id: tkt2927.test,v 1.4 2008/08/04 03:51:24 danielk1977 Exp $ |
# |
|
set testdir [file dirname $argv0] |
source $testdir/tester.tcl |
|
ifcapable !compound { |
finish_test |
return |
} |
|
# Create a database. |
# |
do_test tkt2927-1.1 { |
db eval { |
CREATE TABLE t1(a, b); |
INSERT INTO t1 VALUES(1,11); |
INSERT INTO t1 VALUES(2,22); |
INSERT INTO t1 VALUES(3,33); |
INSERT INTO t1 VALUES(4,44); |
INSERT INTO t1 VALUES(5,55); |
SELECT * FROM t1; |
} |
} {1 11 2 22 3 33 4 44 5 55} |
|
|
do_test tkt2927-2.1 { |
db eval { |
SELECT a, b FROM t1 |
UNION ALL |
SELECT a, b FROM t1 |
} |
} {1 11 2 22 3 33 4 44 5 55 1 11 2 22 3 33 4 44 5 55} |
do_test tkt2927-2.2 { |
#set sqlite_addop_trace 1 |
db eval { |
SELECT a, b FROM t1 |
UNION ALL |
SELECT a, abs(b) FROM t1 |
} |
} {1 11 2 22 3 33 4 44 5 55 1 11 2 22 3 33 4 44 5 55} |
do_test tkt2927-2.3 { |
db eval { |
SELECT a, b FROM t1 |
UNION ALL |
SELECT abs(a), b FROM t1 |
} |
} {1 11 2 22 3 33 4 44 5 55 1 11 2 22 3 33 4 44 5 55} |
do_test tkt2927-2.4 { |
db eval { |
SELECT a, b FROM t1 |
UNION ALL |
SELECT abs(a), abs(b) FROM t1 |
} |
} {1 11 2 22 3 33 4 44 5 55 1 11 2 22 3 33 4 44 5 55} |
do_test tkt2927-2.5 { |
db eval { |
SELECT a, abs(b) FROM t1 |
UNION ALL |
SELECT a, b FROM t1 |
} |
} {1 11 2 22 3 33 4 44 5 55 1 11 2 22 3 33 4 44 5 55} |
do_test tkt2927-2.6 { |
db eval { |
SELECT a, abs(b) FROM t1 |
UNION ALL |
SELECT a, abs(b) FROM t1 |
} |
} {1 11 2 22 3 33 4 44 5 55 1 11 2 22 3 33 4 44 5 55} |
do_test tkt2927-2.7 { |
db eval { |
SELECT a, abs(b) FROM t1 |
UNION ALL |
SELECT abs(a), b FROM t1 |
} |
} {1 11 2 22 3 33 4 44 5 55 1 11 2 22 3 33 4 44 5 55} |
do_test tkt2927-2.8 { |
db eval { |
SELECT a, abs(b) FROM t1 |
UNION ALL |
SELECT abs(a), abs(b) FROM t1 |
} |
} {1 11 2 22 3 33 4 44 5 55 1 11 2 22 3 33 4 44 5 55} |
do_test tkt2927-2.9 { |
db eval { |
SELECT abs(a), b FROM t1 |
UNION ALL |
SELECT a, b FROM t1 |
} |
} {1 11 2 22 3 33 4 44 5 55 1 11 2 22 3 33 4 44 5 55} |
do_test tkt2927-2.10 { |
db eval { |
SELECT abs(a), b FROM t1 |
UNION ALL |
SELECT a, abs(b) FROM t1 |
} |
} {1 11 2 22 3 33 4 44 5 55 1 11 2 22 3 33 4 44 5 55} |
do_test tkt2927-2.11 { |
db eval { |
SELECT abs(a), b FROM t1 |
UNION ALL |
SELECT abs(a), b FROM t1 |
} |
} {1 11 2 22 3 33 4 44 5 55 1 11 2 22 3 33 4 44 5 55} |
do_test tkt2927-2.12 { |
db eval { |
SELECT abs(a), b FROM t1 |
UNION ALL |
SELECT abs(a), abs(b) FROM t1 |
} |
} {1 11 2 22 3 33 4 44 5 55 1 11 2 22 3 33 4 44 5 55} |
do_test tkt2927-2.13 { |
db eval { |
SELECT abs(a), abs(b) FROM t1 |
UNION ALL |
SELECT a, b FROM t1 |
} |
} {1 11 2 22 3 33 4 44 5 55 1 11 2 22 3 33 4 44 5 55} |
do_test tkt2927-2.14 { |
db eval { |
SELECT abs(a), abs(b) FROM t1 |
UNION ALL |
SELECT a, abs(b) FROM t1 |
} |
} {1 11 2 22 3 33 4 44 5 55 1 11 2 22 3 33 4 44 5 55} |
do_test tkt2927-2.15 { |
db eval { |
SELECT abs(a), abs(b) FROM t1 |
UNION ALL |
SELECT abs(a), b FROM t1 |
} |
} {1 11 2 22 3 33 4 44 5 55 1 11 2 22 3 33 4 44 5 55} |
do_test tkt2927-2.16 { |
db eval { |
SELECT abs(a), abs(b) FROM t1 |
UNION ALL |
SELECT abs(a), abs(b) FROM t1 |
} |
} {1 11 2 22 3 33 4 44 5 55 1 11 2 22 3 33 4 44 5 55} |
|
|
do_test tkt2927-3.1 { |
db eval { |
SELECT a, b FROM t1 |
UNION |
SELECT a, b FROM t1 |
ORDER BY 1 |
} |
} {1 11 2 22 3 33 4 44 5 55} |
do_test tkt2927-3.2 { |
db eval { |
SELECT a, b FROM t1 |
UNION |
SELECT a, abs(b) FROM t1 |
ORDER BY 1 |
} |
} {1 11 2 22 3 33 4 44 5 55} |
do_test tkt2927-3.3 { |
db eval { |
SELECT a, b FROM t1 |
UNION |
SELECT abs(a), b FROM t1 |
ORDER BY 1 |
} |
} {1 11 2 22 3 33 4 44 5 55} |
do_test tkt2927-3.4 { |
db eval { |
SELECT a, b FROM t1 |
UNION |
SELECT abs(a), abs(b) FROM t1 |
ORDER BY 1 |
} |
} {1 11 2 22 3 33 4 44 5 55} |
do_test tkt2927-3.5 { |
db eval { |
SELECT a, abs(b) FROM t1 |
UNION |
SELECT a, b FROM t1 |
ORDER BY 1 |
} |
} {1 11 2 22 3 33 4 44 5 55} |
do_test tkt2927-3.6 { |
db eval { |
SELECT a, abs(b) FROM t1 |
UNION |
SELECT a, abs(b) FROM t1 |
ORDER BY 1 |
} |
} {1 11 2 22 3 33 4 44 5 55} |
do_test tkt2927-3.7 { |
db eval { |
SELECT a, abs(b) FROM t1 |
UNION |
SELECT abs(a), b FROM t1 |
ORDER BY 1 |
} |
} {1 11 2 22 3 33 4 44 5 55} |
do_test tkt2927-3.8 { |
db eval { |
SELECT a, abs(b) FROM t1 |
UNION |
SELECT abs(a), abs(b) FROM t1 |
ORDER BY 1 |
} |
} {1 11 2 22 3 33 4 44 5 55} |
do_test tkt2927-3.9 { |
db eval { |
SELECT abs(a), b FROM t1 |
UNION |
SELECT a, b FROM t1 |
ORDER BY 1 |
} |
} {1 11 2 22 3 33 4 44 5 55} |
do_test tkt2927-3.10 { |
db eval { |
SELECT abs(a), b FROM t1 |
UNION |
SELECT a, abs(b) FROM t1 |
ORDER BY 1 |
} |
} {1 11 2 22 3 33 4 44 5 55} |
do_test tkt2927-3.11 { |
db eval { |
SELECT abs(a), b FROM t1 |
UNION |
SELECT abs(a), b FROM t1 |
ORDER BY 1 |
} |
} {1 11 2 22 3 33 4 44 5 55} |
do_test tkt2927-3.12 { |
db eval { |
SELECT abs(a), b FROM t1 |
UNION |
SELECT abs(a), abs(b) FROM t1 |
ORDER BY 1 |
} |
} {1 11 2 22 3 33 4 44 5 55} |
do_test tkt2927-3.13 { |
db eval { |
SELECT abs(a), abs(b) FROM t1 |
UNION |
SELECT a, b FROM t1 |
ORDER BY 1 |
} |
} {1 11 2 22 3 33 4 44 5 55} |
do_test tkt2927-3.14 { |
db eval { |
SELECT abs(a), abs(b) FROM t1 |
UNION |
SELECT a, abs(b) FROM t1 |
ORDER BY 1 |
} |
} {1 11 2 22 3 33 4 44 5 55} |
do_test tkt2927-3.15 { |
db eval { |
SELECT abs(a), abs(b) FROM t1 |
UNION |
SELECT abs(a), b FROM t1 |
ORDER BY 1 |
} |
} {1 11 2 22 3 33 4 44 5 55} |
do_test tkt2927-3.16 { |
db eval { |
SELECT abs(a), abs(b) FROM t1 |
UNION |
SELECT abs(a), abs(b) FROM t1 |
ORDER BY 1 |
} |
} {1 11 2 22 3 33 4 44 5 55} |
|
|
do_test tkt2927-4.1 { |
db eval { |
SELECT a+b, a-b, a, b FROM t1 |
UNION ALL |
SELECT a+b, a-b, a, b FROM t1 |
} |
} {12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55 12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55} |
do_test tkt2927-4.2 { |
db eval { |
SELECT a+b, a-b, a, b FROM t1 |
UNION ALL |
SELECT a+b, a-b, a, abs(b) FROM t1 |
} |
} {12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55 12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55} |
do_test tkt2927-4.3 { |
db eval { |
SELECT a+b, a-b, a, b FROM t1 |
UNION ALL |
SELECT a+b, a-b, abs(a), b FROM t1 |
} |
} {12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55 12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55} |
do_test tkt2927-4.4 { |
db eval { |
SELECT a+b, a-b, a, b FROM t1 |
UNION ALL |
SELECT a+b, a-b, abs(a), abs(b) FROM t1 |
} |
} {12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55 12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55} |
do_test tkt2927-4.5 { |
db eval { |
SELECT a+b, a-b, a, abs(b) FROM t1 |
UNION ALL |
SELECT a+b, a-b, a, b FROM t1 |
} |
} {12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55 12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55} |
do_test tkt2927-4.6 { |
db eval { |
SELECT a+b, a-b, a, abs(b) FROM t1 |
UNION ALL |
SELECT a+b, a-b, a, abs(b) FROM t1 |
} |
} {12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55 12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55} |
do_test tkt2927-4.7 { |
db eval { |
SELECT a+b, a-b, a, abs(b) FROM t1 |
UNION ALL |
SELECT a+b, a-b, abs(a), b FROM t1 |
} |
} {12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55 12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55} |
do_test tkt2927-4.8 { |
db eval { |
SELECT a+b, a-b, a, abs(b) FROM t1 |
UNION ALL |
SELECT a+b, a-b, abs(a), abs(b) FROM t1 |
} |
} {12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55 12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55} |
do_test tkt2927-4.9 { |
db eval { |
SELECT a+b, a-b, abs(a), b FROM t1 |
UNION ALL |
SELECT a+b, a-b, a, b FROM t1 |
} |
} {12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55 12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55} |
do_test tkt2927-4.10 { |
db eval { |
SELECT a+b, a-b, abs(a), b FROM t1 |
UNION ALL |
SELECT a+b, a-b, a, abs(b) FROM t1 |
} |
} {12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55 12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55} |
do_test tkt2927-4.11 { |
db eval { |
SELECT a+b, a-b, abs(a), b FROM t1 |
UNION ALL |
SELECT a+b, a-b, abs(a), b FROM t1 |
} |
} {12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55 12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55} |
do_test tkt2927-4.12 { |
db eval { |
SELECT a+b, a-b, abs(a), b FROM t1 |
UNION ALL |
SELECT a+b, a-b, abs(a), abs(b) FROM t1 |
} |
} {12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55 12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55} |
do_test tkt2927-4.13 { |
db eval { |
SELECT a+b, a-b, abs(a), abs(b) FROM t1 |
UNION ALL |
SELECT a+b, a-b, a, b FROM t1 |
} |
} {12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55 12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55} |
do_test tkt2927-4.14 { |
db eval { |
SELECT a+b, a-b, abs(a), abs(b) FROM t1 |
UNION ALL |
SELECT a+b, a-b, a, abs(b) FROM t1 |
} |
} {12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55 12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55} |
do_test tkt2927-4.15 { |
db eval { |
SELECT a+b, a-b, abs(a), abs(b) FROM t1 |
UNION ALL |
SELECT a+b, a-b, abs(a), b FROM t1 |
} |
} {12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55 12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55} |
do_test tkt2927-4.16 { |
db eval { |
SELECT a+b, a-b, abs(a), abs(b) FROM t1 |
UNION ALL |
SELECT a+b, a-b, abs(a), abs(b) FROM t1 |
} |
} {12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55 12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55} |
|
|
do_test tkt2927-5.1 { |
db eval { |
SELECT a, b FROM t1 |
EXCEPT |
SELECT a, b FROM t1 |
} |
} {} |
do_test tkt2927-5.2 { |
db eval { |
SELECT a, b FROM t1 |
EXCEPT |
SELECT a, abs(b) FROM t1 |
} |
} {} |
do_test tkt2927-5.3 { |
db eval { |
SELECT a, b FROM t1 |
EXCEPT |
SELECT abs(a), b FROM t1 |
} |
} {} |
do_test tkt2927-5.4 { |
db eval { |
SELECT a, b FROM t1 |
EXCEPT |
SELECT abs(a), abs(b) FROM t1 |
} |
} {} |
do_test tkt2927-5.5 { |
db eval { |
SELECT a, abs(b) FROM t1 |
EXCEPT |
SELECT a, b FROM t1 |
} |
} {} |
do_test tkt2927-5.6 { |
db eval { |
SELECT a, abs(b) FROM t1 |
EXCEPT |
SELECT a, abs(b) FROM t1 |
} |
} {} |
do_test tkt2927-5.7 { |
db eval { |
SELECT a, abs(b) FROM t1 |
EXCEPT |
SELECT abs(a), b FROM t1 |
} |
} {} |
do_test tkt2927-5.8 { |
db eval { |
SELECT a, abs(b) FROM t1 |
EXCEPT |
SELECT abs(a), abs(b) FROM t1 |
} |
} {} |
do_test tkt2927-5.9 { |
db eval { |
SELECT abs(a), b FROM t1 |
EXCEPT |
SELECT a, b FROM t1 |
} |
} {} |
do_test tkt2927-5.10 { |
db eval { |
SELECT abs(a), b FROM t1 |
EXCEPT |
SELECT a, abs(b) FROM t1 |
} |
} {} |
do_test tkt2927-5.11 { |
db eval { |
SELECT abs(a), b FROM t1 |
EXCEPT |
SELECT abs(a), b FROM t1 |
} |
} {} |
do_test tkt2927-5.12 { |
db eval { |
SELECT abs(a), b FROM t1 |
EXCEPT |
SELECT abs(a), abs(b) FROM t1 |
} |
} {} |
do_test tkt2927-5.13 { |
db eval { |
SELECT abs(a), abs(b) FROM t1 |
EXCEPT |
SELECT a, b FROM t1 |
} |
} {} |
do_test tkt2927-5.14 { |
db eval { |
SELECT abs(a), abs(b) FROM t1 |
EXCEPT |
SELECT a, abs(b) FROM t1 |
} |
} {} |
do_test tkt2927-5.15 { |
db eval { |
SELECT abs(a), abs(b) FROM t1 |
EXCEPT |
SELECT abs(a), b FROM t1 |
} |
} {} |
do_test tkt2927-5.16 { |
db eval { |
SELECT abs(a), abs(b) FROM t1 |
EXCEPT |
SELECT abs(a), abs(b) FROM t1 |
} |
} {} |
|
|
do_test tkt2927-6.1 { |
db eval { |
SELECT a, b FROM t1 |
INTERSECT |
SELECT a, b FROM t1 |
ORDER BY 1 |
} |
} {1 11 2 22 3 33 4 44 5 55} |
do_test tkt2927-6.2 { |
db eval { |
SELECT a, b FROM t1 |
INTERSECT |
SELECT a, abs(b) FROM t1 |
ORDER BY 1 |
} |
} {1 11 2 22 3 33 4 44 5 55} |
do_test tkt2927-6.3 { |
db eval { |
SELECT a, b FROM t1 |
INTERSECT |
SELECT abs(a), b FROM t1 |
ORDER BY 1 |
} |
} {1 11 2 22 3 33 4 44 5 55} |
do_test tkt2927-6.4 { |
db eval { |
SELECT a, b FROM t1 |
INTERSECT |
SELECT abs(a), abs(b) FROM t1 |
ORDER BY 1 |
} |
} {1 11 2 22 3 33 4 44 5 55} |
do_test tkt2927-6.5 { |
db eval { |
SELECT a, abs(b) FROM t1 |
INTERSECT |
SELECT a, b FROM t1 |
ORDER BY 1 |
} |
} {1 11 2 22 3 33 4 44 5 55} |
do_test tkt2927-6.6 { |
db eval { |
SELECT a, abs(b) FROM t1 |
INTERSECT |
SELECT a, abs(b) FROM t1 |
ORDER BY 1 |
} |
} {1 11 2 22 3 33 4 44 5 55} |
do_test tkt2927-6.7 { |
db eval { |
SELECT a, abs(b) FROM t1 |
INTERSECT |
SELECT abs(a), b FROM t1 |
ORDER BY 1 |
} |
} {1 11 2 22 3 33 4 44 5 55} |
do_test tkt2927-6.8 { |
db eval { |
SELECT a, abs(b) FROM t1 |
INTERSECT |
SELECT abs(a), abs(b) FROM t1 |
ORDER BY 1 |
} |
} {1 11 2 22 3 33 4 44 5 55} |
do_test tkt2927-6.9 { |
db eval { |
SELECT abs(a), b FROM t1 |
INTERSECT |
SELECT a, b FROM t1 |
ORDER BY 1 |
} |
} {1 11 2 22 3 33 4 44 5 55} |
do_test tkt2927-6.10 { |
db eval { |
SELECT abs(a), b FROM t1 |
INTERSECT |
SELECT a, abs(b) FROM t1 |
ORDER BY 1 |
} |
} {1 11 2 22 3 33 4 44 5 55} |
do_test tkt2927-6.11 { |
db eval { |
SELECT abs(a), b FROM t1 |
INTERSECT |
SELECT abs(a), b FROM t1 |
ORDER BY 1 |
} |
} {1 11 2 22 3 33 4 44 5 55} |
do_test tkt2927-6.12 { |
db eval { |
SELECT abs(a), b FROM t1 |
INTERSECT |
SELECT abs(a), abs(b) FROM t1 |
ORDER BY 1 |
} |
} {1 11 2 22 3 33 4 44 5 55} |
do_test tkt2927-6.13 { |
db eval { |
SELECT abs(a), abs(b) FROM t1 |
INTERSECT |
SELECT a, b FROM t1 |
ORDER BY 1 |
} |
} {1 11 2 22 3 33 4 44 5 55} |
do_test tkt2927-6.14 { |
db eval { |
SELECT abs(a), abs(b) FROM t1 |
INTERSECT |
SELECT a, abs(b) FROM t1 |
ORDER BY 1 |
} |
} {1 11 2 22 3 33 4 44 5 55} |
do_test tkt2927-6.15 { |
db eval { |
SELECT abs(a), abs(b) FROM t1 |
INTERSECT |
SELECT abs(a), b FROM t1 |
ORDER BY 1 |
} |
} {1 11 2 22 3 33 4 44 5 55} |
do_test tkt2927-6.16 { |
db eval { |
SELECT abs(a), abs(b) FROM t1 |
INTERSECT |
SELECT abs(a), abs(b) FROM t1 |
ORDER BY 1 |
} |
} {1 11 2 22 3 33 4 44 5 55} |
|
# Ticket #3092 is the same bug. But another test case never hurts. |
# |
do_test tkt2927-7.1 { |
db eval { |
CREATE TABLE host ( |
hostname text not null primary key, |
consoleHost text, |
consolePort text |
); |
INSERT INTO "host" VALUES('aald04','aalp03','4'); |
INSERT INTO "host" VALUES('aald17','aalp01','1'); |
CREATE VIEW consolemap1a as |
select hostname, consolehost, '/dev/cuaD0.' || (consoleport-1) consoleport |
from host where consolehost='aalp01'; |
CREATE VIEW consolemap1b as |
select hostname hostname, consolehost consolehost, '/dev/cuaD' || |
substr('01',1+((consoleport-1)/16),1) || |
substr('0123456789abcdef',1+((consoleport-1)%16),1) consoleport |
from host where consolehost='aalp03'; |
CREATE VIEW consolemap1 as |
select * from consolemap1a |
union |
select * from consolemap1b; |
SELECT * from consolemap1b; |
} |
} {aald04 aalp03 /dev/cuaD03} |
do_test tkt2927-7.2 { |
db eval { |
SELECT * FROM consolemap1 |
} |
} {aald04 aalp03 /dev/cuaD03 aald17 aalp01 /dev/cuaD0.0} |
|
finish_test |