-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Awesome Endeavour: Circuit Relay #830
Changes from 1 commit
9aef6b7
e3957d2
72b6fb6
492fa16
c7fd99a
1742398
50b29e4
aa98ec0
c5c88aa
18f5a9a
983bfd9
61e1266
19d8555
36afc59
bad8232
05e19a0
cba1be2
409a523
ddcca8b
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,12 +1,71 @@ | ||
'use strict' | ||
|
||
const parallel = require('async/parallel') | ||
|
||
const spawnJsNode = require('./test/utils/spawn-tools').spawnJsNode | ||
const spawnGoNode = require('./test/utils/spawn-tools').spawnGoNode | ||
const stopNodes = require('./test/utils/spawn-tools').stopNodes | ||
|
||
/* | ||
* spawns a daemon with ports numbers starting in 10 and ending in `num` | ||
*/ | ||
const before = (done) => { | ||
parallel([ | ||
(cb) => spawnJsNode([ | ||
`/ip4/127.0.0.1/tcp/10007`, | ||
`/ip4/127.0.0.1/tcp/20007/ws` | ||
], true, 31007, 32007, cb), | ||
(cb) => spawnJsNode([ | ||
`/ip4/127.0.0.1/tcp/10008`, | ||
`/ip4/127.0.0.1/tcp/20008/ws` | ||
], true, 31008, 32008, cb), | ||
(cb) => spawnJsNode([ | ||
`/ip4/127.0.0.1/tcp/10012`, | ||
`/ip4/127.0.0.1/tcp/20012/ws` | ||
], true, 31012, 32012, cb), | ||
(cb) => spawnJsNode([ | ||
`/ip4/127.0.0.1/tcp/10013`, | ||
`/ip4/127.0.0.1/tcp/20013/ws` | ||
], true, 31013, 32013, cb), | ||
(cb) => spawnJsNode([ | ||
`/ip4/127.0.0.1/tcp/10014`, | ||
`/ip4/127.0.0.1/tcp/20014/ws` | ||
], true, 31014, 32014, cb), | ||
(cb) => spawnJsNode([ | ||
`/ip4/127.0.0.1/tcp/10015`, | ||
`/ip4/127.0.0.1/tcp/20015/ws` | ||
], true, 31015, 32015, cb), | ||
(cb) => spawnGoNode([ | ||
`/ip4/127.0.0.1/tcp/10027`, | ||
`/ip4/127.0.0.1/tcp/20027/ws` | ||
], true, 33027, 44027, cb), | ||
(cb) => spawnGoNode([ | ||
`/ip4/127.0.0.1/tcp/10028`, | ||
`/ip4/127.0.0.1/tcp/20028/ws` | ||
], true, 33028, 44028, cb), | ||
(cb) => spawnGoNode([ | ||
`/ip4/127.0.0.1/tcp/10031`, | ||
`/ip4/127.0.0.1/tcp/20031/ws` | ||
], true, 33031, 44031, cb), | ||
(cb) => spawnGoNode([ | ||
`/ip4/127.0.0.1/tcp/10032`, | ||
`/ip4/127.0.0.1/tcp/20032/ws` | ||
], true, 33032, 44032, cb) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This is spawning a ton of go nodes for the interop tests, but interop tests never run this script because they use mocha directly There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. True, but interop tests now rely nodes spawned within the tests them self, do we want to rework it in this PR? |
||
], done) | ||
} | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. could you make these spawn daemon tools part of test/utils? This file should have a very declarative feel and just inform the dev what is going to be spawned for testing There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. sure, I'll move them over. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Why can't the "Spawner" use IPFS Factory? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Also, what are the magic numbers? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The numbers are the preexisting port numbers that this daemons were being started with - I kept them because I believe some other tests might rely on them. |
||
|
||
module.exports = { | ||
karma: { | ||
files: [{ | ||
pattern: 'node_modules/interface-ipfs-core/test/fixtures/**/*', | ||
watched: false, | ||
served: true, | ||
included: false | ||
included: false, | ||
singleRun: false | ||
}] | ||
}, | ||
hooks: { | ||
pre: before, | ||
post: stopNodes | ||
} | ||
} | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @dignifiedquire is there a way to select custom .aegir.js for different runs? Goal here is to have one for interop and another for unit There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. AFAIK, we can have |
This file was deleted.
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -19,17 +19,21 @@ | |
"npm": ">=3.0.0" | ||
}, | ||
"scripts": { | ||
"lint": "aegir-lint", | ||
"coverage": "gulp coverage", | ||
"test": "gulp test --dom", | ||
"test:node": "npm run test:unit:node", | ||
"test:browser": "npm run test:unit:browser", | ||
"test:unit:node": "gulp test:node", | ||
"test:unit:node:core": "TEST=core npm run test:unit:node", | ||
"test:unit:node:http": "TEST=http npm run test:unit:node", | ||
"test:unit:node:gateway": "TEST=gateway npm run test:unit:node", | ||
"test:unit:node:cli": "TEST=cli npm run test:unit:node", | ||
"test:unit:browser": "gulp test:browser", | ||
"lint": "aegir lint", | ||
"build": "aegir build", | ||
"test": "aegir test --target node --target browser --no-cors", | ||
"test:node": "aegir test --target node", | ||
"test:browser": "aegir test --target browser --target webworker --no-cors", | ||
"release": "aegir release --target node --target browser", | ||
"release-minor": "aegir release --type minor --target node --target browser", | ||
"release-major": "aegir release --type major --target node --target browser", | ||
"coverage": "aegir coverage", | ||
"test:unit:node": "aegir test --target node", | ||
"test:unit:node:core": "aegir test --target node -f test/core/*.js", | ||
"test:unit:node:http": "aegir test --target node -f test/http-api/index.js", | ||
"test:unit:node:gateway": "aegir test --target node -f test/gateway/index.js", | ||
"test:unit:node:cli": "aegir test --target node -f test/cli/index.js", | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Woot! Love this :D There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 😜 getting there. baby steps :) |
||
"test:unit:browser": "aegir test --target browser --no-cors", | ||
"test:interop": "npm run test:interop:node", | ||
"test:interop:node": "mocha -t 60000 test/interop/node.js", | ||
"test:interop:browser": "mocha -t 60000 test/interop/browser.js", | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This needs to start using aegir due to https://github.com/ipfs/js-ipfs/pull/830/files#r149579164 There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'll get those in. |
||
|
@@ -38,10 +42,6 @@ | |
"test:benchmark:node:core": "echo \"Error: no benchmarks yet\" && exit 1", | ||
"test:benchmark:node:http": "echo \"Error: no benchmarks yet\" && exit 1", | ||
"test:benchmark:browser": "echo \"Error: no benchmarks yet\" && exit 1", | ||
"build": "gulp build", | ||
"release": "gulp release", | ||
"release-minor": "gulp release --type minor", | ||
"release-major": "gulp release --type major", | ||
"coverage-publish": "aegir-coverage publish" | ||
}, | ||
"pre-commit": [ | ||
|
@@ -62,7 +62,7 @@ | |
}, | ||
"homepage": "https://github.com/ipfs/js-ipfs#readme", | ||
"devDependencies": { | ||
"aegir": "^11.0.2", | ||
"aegir": "^12.1.3", | ||
"buffer-loader": "0.0.1", | ||
"chai": "^4.1.2", | ||
"delay": "^2.0.0", | ||
|
@@ -74,7 +74,7 @@ | |
"expose-loader": "^0.7.3", | ||
"form-data": "^2.3.1", | ||
"gulp": "^3.9.1", | ||
"interface-ipfs-core": "~0.32.1", | ||
"interface-ipfs-core": "~0.33.1", | ||
"ipfsd-ctl": "~0.24.0", | ||
"left-pad": "^1.1.3", | ||
"lodash": "^4.17.4", | ||
|
@@ -109,14 +109,15 @@ | |
"ipfs-block": "~0.6.0", | ||
"ipfs-block-service": "~0.12.0", | ||
"ipfs-multipart": "~0.1.0", | ||
"ipfs-repo": "~0.17.0", | ||
"ipfs-repo": "~0.18.1", | ||
"ipfs-unixfs": "~0.1.13", | ||
"ipfs-unixfs-engine": "~0.22.5", | ||
"ipld-resolver": "~0.13.4", | ||
"is-ipfs": "^0.3.2", | ||
"is-stream": "^1.1.0", | ||
"joi": "^13.0.1", | ||
"libp2p": "~0.12.4", | ||
"libp2p": "~0.13.0", | ||
"libp2p-circuit": "~0.1.4", | ||
"libp2p-floodsub": "~0.11.1", | ||
"libp2p-kad-dht": "~0.5.1", | ||
"libp2p-mdns": "~0.9.1", | ||
|
@@ -125,12 +126,12 @@ | |
"libp2p-secio": "~0.8.1", | ||
"libp2p-tcp": "~0.11.1", | ||
"libp2p-webrtc-star": "~0.13.2", | ||
"libp2p-websockets": "~0.10.2", | ||
"libp2p-websockets": "~0.10.4", | ||
"lodash.flatmap": "^4.5.0", | ||
"lodash.get": "^4.4.2", | ||
"lodash.sortby": "^4.7.0", | ||
"lodash.values": "^4.3.0", | ||
"mafmt": "^3.0.1", | ||
"mafmt": "^3.0.2", | ||
"mime-types": "^2.1.17", | ||
"mkdirp": "~0.5.1", | ||
"multiaddr": "^3.0.1", | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Require once, use multiple times