Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit a82aa45

Browse files
committed
An actual README file for the regression tests
Submitted by: Dr. George
1 parent ce48b4d commit a82aa45

File tree

1 file changed

+126
-0
lines changed

1 file changed

+126
-0
lines changed

src/test/regress/README

+126
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
From scrappy@ki.net Wed Jul 31 18:12:17 1996
2+
Status: RO
3+
X-Status:
4+
Received: from daemun.ilt.com ([204.247.102.21]) by ki.net (8.7.5/8.7.5) with ESMTP id SAA22940 for <scrappy@ki.net>; Wed, 31 Jul 1996 18:12:13 -0400 (EDT)
5+
Received: from venus (venus [199.26.203.13]) by daemun.ilt.com (8.7.5/8.7.3) with SMTP id PAA27566 for <scrappy@ki.net>; Wed, 31 Jul 1996 15:11:27 -0700 (PDT)
6+
Received: by venus (4.1/ILT-1.1)
7+
id AA01608; Wed, 31 Jul 96 15:11:22 PDT
8+
Date: Wed, 31 Jul 96 15:11:22 PDT
9+
From: drgeorge@ilt.com (Dr_George_D_Detlefsen)
10+
Message-Id: <9607312211.AA01608@venus>
11+
To: scrappy@ki.net
12+
Subject: src/test/regress/README
13+
14+
src/test/regress/README
15+
16+
Introduction
17+
18+
The Postgres95 regression tests are a comprehensive set of tests for the
19+
SQL implementation embeded in Postgres95 developed by Jolly Chen and
20+
Andrew Yu. It tests standard SQL operations as well as the extensability
21+
capabilities of Postgres95.
22+
23+
Preparation
24+
25+
The regression test is invoked thru by the 'make' command which compiles
26+
a 'c' program with Postgres95 extension functions into a shared library
27+
in the 'obj' directory. Localised shell scripts are also created in
28+
the 'obj' directory. The 'expected.input' file is massaged into the
29+
'obj/expected.out' file. The localization replaces macros in the source
30+
files with absolute pathnames and user names.
31+
32+
The 'expected.input' file and the 'sample.regress.out' file
33+
34+
The 'expected.input' file was created on a SPARC Solaris 2.4 system
35+
using the 'postgres5-1.02a5.tar.gz' source tree. It has been compared
36+
with a file created on an I386 Solaris 2.4 system and the differences
37+
are only in the floating point polygons in the 3rd digit to the right
38+
of the decimal point. (see below)
39+
40+
The 'sample.regress.out' file is from the postgres-1.01 release
41+
constructed by Jolly Chen and is included here for reference. It may
42+
have been created on a DEC ALPHA machine as the 'Makefile.global'
43+
in the postgres-1.01 release has PORTNAME=alpha.
44+
45+
Running the regression test
46+
47+
Change directory to the regression test directory:
48+
49+
cd ...../src/test/regress
50+
51+
If you have prevously invoked the regression test, clean up the
52+
working directory with:
53+
54+
make clean
55+
56+
The regression test is invoked with the command:
57+
58+
make all runtest
59+
60+
Normally, the regression test should be run as the 'postgres' user as the
61+
'src/test/regress' directory and sub-directories are owned by the
62+
'postgres' user. If you run the regression test as another user the
63+
'src/test/regress/obj' directory should be writeable to that user.
64+
65+
Comparing expected/actual output
66+
67+
The results are in the file 'obj/regress.out' which can be compared
68+
with the 'obj/expected.out' file using 'diff'. The files will NOT
69+
compare exactly. The following paragraphs attempt to explain the
70+
differences.
71+
72+
OID differences
73+
74+
There are several places where Postgres95 OID (object identifiers) appear
75+
in 'regress.out'. OID's are unique 32-bit integers which are generated
76+
by the Postgres95 backend whenever a table row is inserted or updated.
77+
If you run the regression test on a non-virgin database or run it multiple
78+
times, the OID's reported will have different values.
79+
80+
The following SQL statements in 'regress.out' have shown this behavior:
81+
82+
QUERY: SELECT user_relns() AS user_relns ORDER BY user_relns;
83+
84+
The 'a,523676' row is composed from an OID.
85+
86+
TIME differences
87+
88+
Some of the tests involving date/time functions use the implicit
89+
time zone in effect at the time the regression test is run. In other
90+
tests the timezone to be inserted into the regression data base is
91+
explicitly specified.
92+
93+
The 'expected.input' file was prepared in the 'US/Pacific' timezone
94+
so there may be differences where the 'expected.out' file has
95+
PST/PDT times and the 'regress.out' file has your local timezone.
96+
97+
FLOATING POINT differences
98+
99+
Some of the tests involve computing 64-bit (FLOAT8) number from table
100+
columns. Differences in results involving mathematical functions of
101+
FLOAT8 columns have been observed. These differences occur where
102+
different operating systems are used on the same platform ie:
103+
BSDI and SOLARIS on Intel/86, and where the same operating system is
104+
used used on different platforms, ie: SOLARIS on SPARC and Intel/86.
105+
106+
Human eyeball comparison is needed to determine the real significance
107+
of these differences which are usually 10 places to the right of
108+
the decimal point.
109+
110+
POLYGON differences
111+
112+
Several of the tests involve operations on geographic date about the
113+
Oakland/Berkley CA street map. The map data is expressed as polygons
114+
whose verticies are represened as pairs of FLOAT8 numbers (decimal
115+
lattitude and longitude). Initially, some tables are created and
116+
loaded with geographic data, then some views are created which join
117+
two tables using the polygon intersection operator (##), then a select
118+
is done on the view.
119+
120+
When comparing the results from different platforms, differences occur
121+
in the 2nd or 3rd place to the right of the decimal point. The SQL
122+
statements where these problems occur are the folowing:
123+
124+
QUERY: SELECT * from street;
125+
QUERY: SELECT * from iexit;
126+

0 commit comments

Comments
 (0)