Skip to content

Commit a074cbb

Browse files
committed
fix(ci): disable preload when NODE_ENV is 'test'
Preload tests failed in browser because preload is enabled in browser context by default and while js-ipfs tests disable preload in tests, interface-ipfs-core does not. This means interface-ipfs-core tests triggered dozens of slow/hanging requests to `nodeX.preload.iofs.io/api/v0/refs` and js-ipfs executed only 4 at a time. By the time preload tests got executed, the queue was long and it did not finish before timeout. This change detects js-ipfs is running in test environment (`process.env.NODE_ENV === 'test'`) and disables preload by default. This way we are still be able to test preload by explicitly enabling it in config, but we won't have preload overhead when running unrelated interface-ipfs-core tests. License: MIT Signed-off-by: Marcin Rataj <[email protected]>
1 parent c4d0a83 commit a074cbb

File tree

3 files changed

+6
-3
lines changed

3 files changed

+6
-3
lines changed

src/cli/commands/daemon.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ module.exports = {
3232
})
3333
.option('enable-preload', {
3434
type: 'boolean',
35-
default: true
35+
default: process.env.NODE_ENV !== 'test' // preload by default, unless in test env
3636
})
3737
},
3838

src/core/config.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,10 @@ const configSchema = s({
3131
enabled: 'boolean?',
3232
addresses: optional(s(['multiaddr'])),
3333
interval: 'number?'
34-
}, { enabled: true, interval: 30 * 1000 }),
34+
}, { // defaults
35+
enabled: process.env.NODE_ENV !== 'test', // preload by default, unless in test env
36+
interval: 30 * 1000
37+
}),
3538
pubsub: optional(s({
3639
enabled: 'boolean?'
3740
})),

src/core/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ class IPFS extends EventEmitter {
5151
enabled: false
5252
},
5353
preload: {
54-
enabled: true,
54+
enabled: process.env.NODE_ENV !== 'test', // preload by default, unless in test env
5555
addresses: [
5656
'/dnsaddr/node0.preload.ipfs.io/https',
5757
'/dnsaddr/node1.preload.ipfs.io/https'

0 commit comments

Comments
 (0)