|  | 
| 20 | 20 | // USE OR OTHER DEALINGS IN THE SOFTWARE. | 
| 21 | 21 | 
 | 
| 22 | 22 | 'use strict'; | 
| 23 |  | -require('../common'); | 
|  | 23 | + | 
|  | 24 | +const common = require('../common'); | 
|  | 25 | + | 
|  | 26 | +// Checks that the internal process.config is equivalent to the config.gypi file | 
|  | 27 | +// created when we run configure. | 
|  | 28 | + | 
| 24 | 29 | const assert = require('assert'); | 
| 25 | 30 | const fs = require('fs'); | 
| 26 | 31 | const path = require('path'); | 
| 27 | 32 | 
 | 
| 28 |  | -// check for existence | 
|  | 33 | +// Check for existence of `process.config`. | 
| 29 | 34 | assert(process.hasOwnProperty('config')); | 
| 30 | 35 | 
 | 
| 31 |  | -// ensure that `process.config` is an Object | 
|  | 36 | +// Ensure that `process.config` is an Object. | 
| 32 | 37 | assert.strictEqual(Object(process.config), process.config); | 
| 33 | 38 | 
 | 
| 34 | 39 | const configPath = path.resolve(__dirname, '..', '..', 'config.gypi'); | 
|  | 40 | + | 
|  | 41 | +if (!fs.existsSync(configPath)) { | 
|  | 42 | +  common.skip('config.gypi does not exist.'); | 
|  | 43 | +} | 
|  | 44 | + | 
| 35 | 45 | let config = fs.readFileSync(configPath, 'utf8'); | 
| 36 | 46 | 
 | 
| 37 |  | -// clean up comment at the first line | 
|  | 47 | +// Clean up comment at the first line. | 
| 38 | 48 | config = config.split('\n').slice(1).join('\n').replace(/'/g, '"'); | 
| 39 | 49 | config = JSON.parse(config, function(key, value) { | 
| 40 | 50 |   if (value === 'true') return true; | 
| 41 | 51 |   if (value === 'false') return false; | 
| 42 | 52 |   return value; | 
| 43 | 53 | }); | 
| 44 | 54 | 
 | 
| 45 |  | -assert.deepStrictEqual(config, process.config); | 
|  | 55 | +try { | 
|  | 56 | +  assert.deepStrictEqual(config, process.config); | 
|  | 57 | +} catch (e) { | 
|  | 58 | +  // If the assert fails, it only shows 3 lines. We need all the output to | 
|  | 59 | +  // compare. | 
|  | 60 | +  console.log('config:', config); | 
|  | 61 | +  console.log('process.config:', process.config); | 
|  | 62 | + | 
|  | 63 | +  throw e; | 
|  | 64 | +} | 
0 commit comments