Skip to content

Commit 9870c86

Browse files
charmanderbrianc
authored andcommitted
Make tests compatible with PostgreSQL 10
PostgreSQL 10 reports its version as only `major.minor`, so it can’t be parsed with semver. The `server_version_num` setting is a major version followed by a four-digit minor version since version 10, and was a three-digit major version followed by a two-digit minor version before that.
1 parent 0b80aba commit 9870c86

6 files changed

+11
-12
lines changed

test/integration/client/json-type-parsing-tests.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ var assert = require('assert')
44

55
const pool = new helper.pg.Pool()
66
pool.connect(assert.success(function (client, done) {
7-
helper.versionGTE(client, '9.2.0', assert.success(function (jsonSupported) {
7+
helper.versionGTE(client, 90200, assert.success(function (jsonSupported) {
88
if (!jsonSupported) {
99
console.log('skip json test on older versions of postgres')
1010
done()

test/integration/client/query-error-handling-prepared-statement-tests.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ function killIdleQuery (targetQuery, cb) {
4444
var pidColName = 'procpid'
4545
var queryColName = 'current_query'
4646
client2.connect(assert.success(function () {
47-
helper.versionGTE(client2, '9.2.0', assert.success(function (isGreater) {
47+
helper.versionGTE(client2, 90200, assert.success(function (isGreater) {
4848
if (isGreater) {
4949
pidColName = 'pid'
5050
queryColName = 'query'

test/integration/client/query-error-handling-tests.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ test('error during query execution', function() {
1010
var sleepQuery = new Query(queryText);
1111
var pidColName = 'procpid'
1212
var queryColName = 'current_query';
13-
helper.versionGTE(client, '9.2.0', assert.success(function(isGreater) {
13+
helper.versionGTE(client, 90200, assert.success(function(isGreater) {
1414
if(isGreater) {
1515
pidColName = 'pid';
1616
queryColName = 'query';
@@ -48,7 +48,7 @@ if (helper.config.native) {
4848
test('9.3 column error fields', function() {
4949
var client = new Client(helper.args);
5050
client.connect(assert.success(function() {
51-
helper.versionGTE(client, '9.3.0', assert.success(function(isGreater) {
51+
helper.versionGTE(client, 90300, assert.success(function(isGreater) {
5252
if(!isGreater) {
5353
return client.end();
5454
}
@@ -68,7 +68,7 @@ test('9.3 column error fields', function() {
6868
test('9.3 constraint error fields', function() {
6969
var client = new Client(helper.args);
7070
client.connect(assert.success(function() {
71-
helper.versionGTE(client, '9.3.0', assert.success(function(isGreater) {
71+
helper.versionGTE(client, 90300, assert.success(function(isGreater) {
7272
if(!isGreater) {
7373
console.log('skip 9.3 error field on older versions of postgres');
7474
return client.end();

test/integration/client/result-metadata-tests.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ new helper.Suite().test('should return insert metadata', function () {
77
pool.connect(assert.calls(function (err, client, done) {
88
assert(!err)
99

10-
helper.versionGTE(client, '9.0.0', assert.success(function (hasRowCount) {
10+
helper.versionGTE(client, 90000, assert.success(function (hasRowCount) {
1111
client.query('CREATE TEMP TABLE zugzug(name varchar(10))', assert.calls(function (err, result) {
1212
assert(!err)
1313
assert.equal(result.oid, null)

test/integration/connection-pool/error-tests.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ suite.test('errors emitted on pool', (cb) => {
2121
pool.connect(assert.success(function (client2, done2) {
2222
client2.id = 2
2323
var pidColName = 'procpid'
24-
helper.versionGTE(client2, '9.2.0', assert.success(function (isGreater) {
24+
helper.versionGTE(client2, 90200, assert.success(function (isGreater) {
2525
var killIdleQuery = 'SELECT pid, (SELECT pg_terminate_backend(pid)) AS killed FROM pg_stat_activity WHERE state = $1'
2626
var params = ['idle']
2727
if (!isGreater) {

test/integration/test-helper.js

+4-5
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,11 @@ helper.client = function (cb) {
1414
return client
1515
}
1616

17-
var semver = require('semver')
18-
helper.versionGTE = function (client, versionString, callback) {
19-
client.query('SELECT version()', assert.calls(function (err, result) {
17+
helper.versionGTE = function (client, testVersion, callback) {
18+
client.query('SHOW server_version_num', assert.calls(function (err, result) {
2019
if (err) return callback(err)
21-
var version = result.rows[0].version.split(' ')[1]
22-
return callback(null, semver.gte(version, versionString))
20+
var version = parseInt(result.rows[0].server_version_num, 10)
21+
return callback(null, version >= testVersion)
2322
}))
2423
}
2524

0 commit comments

Comments
 (0)