diff options
author | Mike Morris <mikemorris@users.noreply.github.com> | 2016-05-12 14:58:51 -0400 |
---|---|---|
committer | Mike Morris <mikemorris@users.noreply.github.com> | 2016-05-12 14:58:51 -0400 |
commit | f6692ff7393661171861cc4a422479db0cc37e90 (patch) | |
tree | f3545750aede323064fc184696c4aa81637ff9ed | |
parent | 9567c1699d8035ecfedf7dfc631b817a12ee584f (diff) | |
download | qtlocation-mapboxgl-f6692ff7393661171861cc4a422479db0cc37e90.tar.gz |
add simple leak test
-rw-r--r-- | .travis.yml | 5 | ||||
-rw-r--r-- | package.json | 3 | ||||
-rw-r--r-- | platform/node/test/js/leak.test.js | 30 |
3 files changed, 34 insertions, 4 deletions
diff --git a/.travis.yml b/.travis.yml index f362a8a72e..2cc5b057d8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -46,7 +46,7 @@ after_script: matrix: include: - # Clang 3.5 - Release - Node + # Clang 3.5 - Debug - Node - os: linux sudo: false language: node @@ -56,8 +56,7 @@ matrix: script: - make node - nvm use system - - ASAN_OPTIONS=detect_leaks=1 npm test - - ASAN_OPTIONS=detect_leaks=1 npm run test-suite + - ASAN_OPTIONS=detect_leaks=1 npm run leak after_script: - ccache --show-stats - ./platform/node/scripts/after_script.sh ${TRAVIS_JOB_NUMBER} ${TRAVIS_TAG:-} diff --git a/package.json b/package.json index c7d82f1e15..0baa87beec 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,8 @@ "preinstall": "npm install node-pre-gyp", "install": "node-pre-gyp install --fallback-to-build=false || make node", "test": "tape platform/node/test/js/**/*.test.js", - "test-suite": "node platform/node/test/render.test.js" + "test-suite": "node platform/node/test/render.test.js", + "leak": "node platform/node/test/js/leak.test.js" }, "gypfile": true, "binary": { diff --git a/platform/node/test/js/leak.test.js b/platform/node/test/js/leak.test.js new file mode 100644 index 0000000000..5ffe8d2880 --- /dev/null +++ b/platform/node/test/js/leak.test.js @@ -0,0 +1,30 @@ +'use strict'; + +var test = require('tape'); +var mbgl = require('../../../../lib/mapbox-gl-native'); +var fs = require('fs'); +var path = require('path'); +var style = require('../fixtures/style.json'); + +var options = { + request: function(req, callback) { + fs.readFile(path.join(__dirname, '..', req.url), function(err, data) { + callback(err, { data: data }); + }); + } +}; + +test('Leak', function(t) { + t.test('returns an image', function(t) { + var map = new mbgl.Map(options); + map.load(style); + map.render({}, function(err, pixels) { + t.error(err); + map.release(); + t.ok(pixels); + t.ok(pixels instanceof Buffer); + t.equal(pixels.length, 512 * 512 * 4) + t.end(); + }); + }); +}); |