@@ -31,7 +31,7 @@ user-defined trigger functions, and then run the test driver
31
31
script. At the end you should see something like
32
32
33
33
======================
34
- All 75 tests passed.
34
+ All 76 tests passed.
35
35
======================
36
36
37
37
or otherwise a note about what tests failed. See the section called
@@ -42,7 +42,7 @@ Test Evaluation below for more.
42
42
root). If you already did the build as root, you do not have to
43
43
start all over. Instead, make the regression test directory
44
44
writable by some other user, log in as that user, and restart the
45
- tests.
45
+ tests. For example,
46
46
47
47
root# chmod -R a+w src/test/regress
48
48
root# su - joeuser
@@ -67,21 +67,23 @@ the server, then type
67
67
68
68
$ gmake installcheck
69
69
70
- The server is expected to be running on the local host with the
71
- default port number.
70
+ The tests will expect to contact the server at the local host and the
71
+ default port number, unless directed otherwise by PGHOST and PGPORT
72
+ environment variables.
72
73
73
74
Test Evaluation
74
75
75
76
Some properly installed and fully functional PostgreSQL installations
76
- can "fail" some of these regression tests due to artifacts of floating
77
- point representation and time zone support. The tests are currently
78
- evaluated using a simple diff comparison against the outputs generated
79
- on a reference system, so the results are sensitive to small system
80
- differences. When a test is reported as "failed", always examine the
81
- differences between expected and actual results; you may well find
82
- that the differences are not significant. Nonetheless, we still strive
83
- to maintain accurate reference files across all supported platforms,
84
- so it can be expected that all tests pass.
77
+ can "fail" some of these regression tests due to platform-specific
78
+ artifacts such as varying floating point representation and time zone
79
+ support. The tests are currently evaluated using a simple diff
80
+ comparison against the outputs generated on a reference system, so the
81
+ results are sensitive to small system differences. When a test is
82
+ reported as "failed", always examine the differences between expected
83
+ and actual results; you may well find that the differences are not
84
+ significant. Nonetheless, we still strive to maintain accurate reference
85
+ files across all supported platforms, so it can be expected that all
86
+ tests pass.
85
87
86
88
The actual outputs of the regression tests are in files in the
87
89
src/test/regress/results directory. The test script uses diff to
@@ -99,6 +101,23 @@ messages may vary between platforms, but should reflect similar
99
101
information. These differences in messages will result in a "failed"
100
102
regression test which can be validated by inspection.
101
103
104
+ Locale differences
105
+
106
+ The tests expect to run in plain "C" locale. This should not cause any
107
+ problems when you run the tests against a temporary installation, since
108
+ the regression test driver takes care to start the server in C locale.
109
+ However, if you run the tests against an already-installed server that
110
+ is using non-C locale settings, you may see differences caused by
111
+ varying rules for string sort order, formatting of numeric and monetary
112
+ values, and so forth.
113
+
114
+ In some locales the resulting differences are small and easily checked by
115
+ inspection. However, in a locale that changes the rules for formatting
116
+ of numeric values (typically by swapping the usage of commas and
117
+ decimal points), entry of some data values will fail, resulting in
118
+ extensive differences later in the tests where the missing data values
119
+ are supposed to be used.
120
+
102
121
Date and time differences
103
122
104
123
Most of the date and time results are dependent on the time zone
@@ -177,11 +196,12 @@ according to the letter of the SQL spec. In practice, since we are
177
196
looking at the same queries being executed on the same data by the same
178
197
software, we usually get the same result ordering on all platforms, and
179
198
so the lack of ORDER BY isn't a problem. Some queries do exhibit
180
- cross-platform ordering differences, however.
199
+ cross-platform ordering differences, however. (Ordering differences
200
+ can also be triggered by non-C locale settings.)
181
201
182
202
Therefore, if you see an ordering difference, it's not something to
183
- worry about ( unless the query does have an ORDER BY that your result
184
- is violating) . But please report it anyway, so that we can add an
203
+ worry about, unless the query does have an ORDER BY that your result
204
+ is violating. But please report it anyway, so that we can add an
185
205
ORDER BY to that particular query and thereby eliminate the bogus
186
206
"failure" in future releases.
187
207
0 commit comments