Skip to content
This repository was archived by the owner on Feb 12, 2024. It is now read-only.
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 31 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ jobs:
- stage: check
script:
- npm run build -- $RUN_SINCE --scope={ipfs,ipfs-http-client} -- -- --bundlesize
- npm run dep-check -- $RUN_SINCE -- -- -- -i wrtc -i electron-webrtc
- npm run dep-check -- $RUN_SINCE -- -- -- -i electron-webrtc
- npm run lint -- $RUN_SINCE --concurrency 1

- stage: test
Expand Down Expand Up @@ -107,6 +107,36 @@ jobs:
script:
- npm run test:electron-renderer -- $RUN_SINCE -- -- --bail

- stage: test
name: interface to core - node
script:
- npm run test:interface:node -- $RUN_SINCE -- -- --bail

- stage: test
name: interface to core - browser
script:
- npm run test:interface:browser -- $RUN_SINCE -- -- --bail

- stage: test
name: interface over http to js-ipfs - node
script:
- npm run test:interface:node:http -- $RUN_SINCE --scope=ipfs -- -- --bail

- stage: test
name: interface over http to js-ipfs - browser
script:
- npm run test:interface:browser:http -- $RUN_SINCE --scope=ipfs -- -- --bail

- stage: test
name: interface over http to go-ipfs - node
script:
- npm run test:interface:node:http -- $RUN_SINCE --scope=ipfs-http-client -- -- --bail

- stage: test
name: interface over http to go-ipfs - browser
script:
- npm run test:interface:browser:http -- $RUN_SINCE --scope=ipfs-http-client -- -- --bail

- stage: test
name: interop - node
script:
Expand Down
4 changes: 4 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,10 @@
"test:electron-main": "lerna run test:electron-main",
"test:electron-renderer": "lerna run test:electron-renderer",
"test:cli": "lerna run test:cli",
"test:interface:node": "lerna run test:interface:node",
"test:interface:node:http": "lerna run test:interface:node:http",
"test:interface:browser:http": "lerna run test:interface:browser:http",
"test:interface:browser": "lerna run test:interface:browser:http",
"test:interop:node": "lerna run test:interop:node",
"test:interop:browser": "lerna run test:interop:browser",
"test:interop:electron-main": "lerna run test:interop:electron-main",
Expand Down
38 changes: 23 additions & 15 deletions packages/ipfs-http-client/.aegir.js
Original file line number Diff line number Diff line change
Expand Up @@ -37,27 +37,35 @@ module.exports = {
},
hooks: {
node: {
pre: () => {
echoServer = EchoServer.createServer()
pre: async () => {
if (process.env.ECHO_SERVER_PORT) {
echoServer = EchoServer.createServer()

return echoServer.start()
await echoServer.start()
}
},
post: () => echoServer.stop()
post: async () => {
if (echoServer) {
await echoServer.stop()
}
}
},
browser: {
pre: () => {
echoServer = EchoServer.createServer()
pre: async () => {
if (process.env.ECHO_SERVER_PORT) {
echoServer = EchoServer.createServer()

await echoServer.start()
}

return Promise.all([
server.start(),
echoServer.start()
])
await server.start()
},
post: () => {
return Promise.all([
server.stop(),
echoServer.stop()
])
post: async () => {
if (echoServer) {
await echoServer.stop()
}

await server.stop()
}
}
}
Expand Down
18 changes: 10 additions & 8 deletions packages/ipfs-http-client/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,16 @@
"url": "git+https://github.com/ipfs/js-ipfs.git"
},
"scripts": {
"test": "cross-env ECHO_SERVER_PORT=37490 aegir test",
"test:node": "cross-env ECHO_SERVER_PORT=37491 aegir test -t node",
"test:browser": "cross-env ECHO_SERVER_PORT=37492 aegir test -t browser",
"test:webworker": "cross-env ECHO_SERVER_PORT=37493 aegir test -t webworker",
"test:electron-main": "cross-env ECHO_SERVER_PORT=37494 aegir test -t electron-main",
"test:electron-renderer": "cross-env ECHO_SERVER_PORT=37495 aegir test -t electron-renderer",
"test:chrome": "cross-env ECHO_SERVER_PORT=37496 aegir test -t browser -t webworker -- --browsers ChromeHeadless",
"test:firefox": "cross-env ECHO_SERVER_PORT=37497 aegir test -t browser -t webworker -- --browsers FirefoxHeadless",
"test": "aegir test",
"test:node": "aegir test -t node",
"test:browser": "aegir test -t browser",
"test:webworker": "aegir test -t webworker",
"test:electron-main": "aegir test -t electron-main",
"test:electron-renderer": "aegir test -t electron-renderer",
"test:chrome": "aegir test -t browser -t webworker -- --browsers ChromeHeadless",
"test:firefox": "aegir test -t browser -t webworker -- --browsers FirefoxHeadless",
"test:interface:node:http": "cross-env ECHO_SERVER_PORT=37490 aegir test -t node -f test/interface.js",
"test:interface:browser:http": "cross-env ECHO_SERVER_PORT=37491 aegir test -t browser -f test/interface.js",
"lint": "aegir lint",
"build": "aegir build",
"coverage": "npx nyc -r html npm run test:node -- --bail",
Expand Down
34 changes: 21 additions & 13 deletions packages/ipfs/.aegir.js
Original file line number Diff line number Diff line change
Expand Up @@ -41,23 +41,31 @@ module.exports = {
node: {
pre: async () => {
preloadNode = MockPreloadNode.createNode()
echoServer = EchoServer.createServer()
await preloadNode.start()

await preloadNode.start(),
await echoServer.start()
if (process.env.ECHO_SERVER_PORT) {
echoServer = EchoServer.createServer()
await echoServer.start()
}
},
post: async () => {
await preloadNode.stop(),
await echoServer.stop()
await preloadNode.stop()

if (echoServer) {
await echoServer.stop()
}
}
},
browser: {
pre: async () => {
preloadNode = MockPreloadNode.createNode()
echoServer = EchoServer.createServer()

await preloadNode.start()
await echoServer.start()

if (process.env.ECHO_SERVER_PORT) {
echoServer = EchoServer.createServer()
await echoServer.start()
}

sigServerA = await webRTCStarSigServer.start({
host: '127.0.0.1',
port: 14579,
Expand Down Expand Up @@ -92,11 +100,11 @@ module.exports = {
}).start()
},
post: async () => {
await ipfsdServer.stop()
await preloadNode.stop()
await echoServer.stop()
await sigServerA.stop()
await sigServerB.stop()
await Promise.all(
[ipfsdServer, preloadNode, echoServer, sigServerA, sigServerB]
.filter(Boolean)
.map(server => server.stop())
)
}
}
}
Expand Down
34 changes: 18 additions & 16 deletions packages/ipfs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -40,21 +40,22 @@
"scripts": {
"lint": "aegir lint",
"build": "aegir build",
"test": "cross-env ECHO_SERVER_PORT=37480 aegir test",
"test:node": "cross-env ECHO_SERVER_PORT=37481 aegir test -t node",
"test:browser": "cross-env ECHO_SERVER_PORT=37482 aegir test -t browser",
"test:browser:http": "cross-env ECHO_SERVER_PORT=37489 aegir test -t browser -f test/http-api/index.js",
"test:browser:interface:http": "cross-env ECHO_SERVER_PORT=37489 aegir test -t browser -f test/http-api/interface.js",
"test:webworker": "cross-env ECHO_SERVER_PORT=37483 aegir test -t webworker",
"test:electron": "cross-env ECHO_SERVER_PORT=37484 aegir test -t electron-main -t electron-renderer",
"test:electron-main": "cross-env ECHO_SERVER_PORT=37485 aegir test -t electron-main",
"test:electron-renderer": "cross-env ECHO_SERVER_PORT=37486 aegir test -t electron-renderer",
"test:cli": "cross-env ECHO_SERVER_PORT=37487 aegir test -t node -f test/cli/index.js",
"test:node:core": "cross-env ECHO_SERVER_PORT=37488 aegir test -t node -f test/core/**/*.js",
"test:node:http": "cross-env ECHO_SERVER_PORT=37489 aegir test -t node -f test/http-api/index.js",
"test:node:gateway": "cross-env ECHO_SERVER_PORT=37490 aegir test -t node -f test/gateway/index.js",
"test:node:interface": "cross-env ECHO_SERVER_PORT=37491 aegir test -t node -f test/core/interface.spec.js",
"test:bootstrapers": "cross-env ECHO_SERVER_PORT=37492 IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js",
"test": "aegir test",
"test:node": "aegir test -t node",
"test:browser": "aegir test -t browser",
"test:webworker": "aegir test -t webworker",
"test:electron": "aegir test -t electron-main -t electron-renderer",
"test:electron-main": "aegir test -t electron-main",
"test:electron-renderer": "aegir test -t electron-renderer",
"test:cli": "aegir test -t node -f test/cli/index.js",
"test:core": "aegir test -t node -f test/core/**/*.js",
"test:http": "aegir test -t node -f test/http-api/index.js",
"test:gateway": "aegir test -t node -f test/gateway/index.js",
"test:interface:node": "cross-env ECHO_SERVER_PORT=37491 aegir test -t node -f test/interface-to-core.js",
"test:interface:node:http": "cross-env ECHO_SERVER_PORT=37491 aegir test -t node -f test/interface-over-http.js",
"test:interface:browser": "cross-env ECHO_SERVER_PORT=37491 aegir test -t browser -f test/interface-to-core.js",
"test:interface:browser:http": "cross-env ECHO_SERVER_PORT=37489 aegir test -t browser -f test/interface-over-http.js",
"test:bootstrapers": "IPFS_TEST=bootstrapers aegir test -t browser -f test/bootstrapers.js",
"test:interop": "cross-env IPFS_JS_EXEC=$PWD/src/cli/bin.js IPFS_JS_MODULE=$PWD IPFS_REUSEPORT=false ipfs-interop",
"test:interop:node": "cross-env IPFS_JS_EXEC=$PWD/src/cli/bin.js IPFS_JS_MODULE=$PWD IPFS_REUSEPORT=false ipfs-interop -- -t node",
"test:interop:browser": "cross-env IPFS_JS_EXEC=$PWD/src/cli/bin.js IPFS_JS_MODULE=$PWD IPFS_REUSEPORT=false ipfs-interop -- -t browser",
Expand Down Expand Up @@ -198,7 +199,8 @@
"sinon": "^9.0.1",
"stream-to-promise": "^2.2.0",
"string-argv": "^0.3.1",
"temp-write": "^4.0.0"
"temp-write": "^4.0.0",
"wrtc": "^0.4.4"
},
"optionalDependencies": {
"prom-client": "^12.0.0",
Expand Down
2 changes: 1 addition & 1 deletion packages/ipfs/src/cli/daemon.js
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ function getLibp2p ({ libp2pOptions, options, config, peerInfo }) {

if (wrtc || electronWebRTC) {
log(`Using ${wrtc ? 'wrtc' : 'electron-webrtc'} for webrtc support`)
set(libp2pOptions, 'config.transport.webRTCStar.wrtc', wrtc || electronWebRTC)
set(libp2pOptions, 'config.transport.WebRTCStar.wrtc', wrtc || electronWebRTC)
libp2pOptions.modules.transport.push(WebRTCStar)
}

Expand Down
2 changes: 0 additions & 2 deletions packages/ipfs/test/http-api/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,3 @@ const { isNode } = require('ipfs-utils/src/env')
if (isNode) {
require('./routes')
}

require('./interface')
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
'use strict'

const tests = require('interface-ipfs-core')
const factory = require('../utils/factory')
const { isNode } = require('ipfs-utils/src/env')
const factory = require('./utils/factory')
const { isNode, isBrowser } = require('ipfs-utils/src/env')

/** @typedef { import("ipfsd-ctl").ControllerOptions } ControllerOptions */
describe('interface-ipfs-core over ipfs-http-client tests', function () {
Expand Down Expand Up @@ -60,7 +60,18 @@ describe('interface-ipfs-core over ipfs-http-client tests', function () {
sharding: true
}
}
}))
}), {
skip: isBrowser ? [{
name: 'should make directory and specify mtime as hrtime',
reason: 'Not designed to run in the browser'
}, {
name: 'should write file and specify mtime as hrtime',
reason: 'Not designed to run in the browser'
}, {
name: 'should set mtime as hrtime',
reason: 'Not designed to run in the browser'
}] : []
})

tests.key(commonFactory)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,14 @@

const tests = require('interface-ipfs-core')
const { isNode } = require('ipfs-utils/src/env')
const factory = require('../utils/factory')
const factory = require('./utils/factory')

/** @typedef { import("ipfsd-ctl").ControllerOptions } ControllerOptions */

describe('interface-ipfs-core tests', function () {
const commonFactory = factory()
const commonFactory = factory({
type: 'proc'
})

tests.root(commonFactory, {
skip: isNode ? null : [{
Expand Down