Skip to content

Commit 09fef69

Browse files
committed
fix: test the spec for node version specified in npmrc
1 parent 11d1ccb commit 09fef69

8 files changed

+81
-58
lines changed

.gitignore

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ lib
2121
dist-spec
2222

2323
# Downloaded spec
24-
spec/fixtures/node-v10.20.1.tar.gz
24+
spec/fixtures/node-*.tar.gz
2525
spec/fixtures/node.lib
2626
spec/fixtures/node_x64.lib
27-
spec/fixtures/node-v10.20.1-headers.tar.gz
27+
spec/fixtures/node-*-headers.tar.gz
2828
spec/fixtures/repo.git
2929
spec/fixtures/r.tmbundle

script/get-fixtures.js

+15-5
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,42 @@
11
const { DownloaderHelper } = require("node-downloader-helper")
22
const gitly = require("gitly").default
33
const { join, dirname } = require("path")
4+
const { readFileSync } = require("fs")
45

56
const downloadFolder = join(dirname(__dirname), "spec", "fixtures")
67

78
const downloadOptions = {
89
override: { skip: true },
910
}
11+
12+
const atomElectronVersion = readFileSync(`${dirname(__dirname)}/.npmrc`, "utf8").match(/target=(.*)\n/)[1]
13+
1014
const links = [
11-
"https://nodejs.org/dist/v10.20.1/node-v10.20.1.tar.gz",
12-
"https://nodejs.org/dist/v10.20.1/win-x86/node.lib",
13-
"https://nodejs.org/dist/v10.20.1/node-v10.20.1-headers.tar.gz",
15+
`https://nodejs.org/dist/${atomElectronVersion}/node-${atomElectronVersion}.tar.gz`,
16+
`https://nodejs.org/dist/${atomElectronVersion}/win-x86/node.lib`,
17+
`https://nodejs.org/dist/${atomElectronVersion}/node-${atomElectronVersion}-headers.tar.gz`,
1418
"https://github.com/atom-community/apm/raw/master/spec/fixtures/repo.git",
1519
]
1620

17-
const linkMaps = [["https://nodejs.org/dist/v10.20.1/win-x64/node.lib", "node_x64.lib"]]
21+
const linkMaps = [[`https://nodejs.org/dist/${atomElectronVersion}/win-x64/node.lib`, `node_x64.lib`]]
1822

1923
const repos = ["https://github.com/textmate/r.tmbundle"]
2024

2125
async function main() {
26+
console.log(`Downloading fixtures for node ${atomElectronVersion}`)
2227
await Promise.all([
23-
...links.map((link) => new DownloaderHelper(link, downloadFolder, downloadOptions).start()),
28+
...links.map((link) => {
29+
console.log(`Downloading ${link}`)
30+
return new DownloaderHelper(link, downloadFolder, downloadOptions).start()
31+
}),
2432
...linkMaps.map((linkMap) => {
2533
const link = linkMap[0]
34+
console.log(`Downloading ${link}`)
2635
downloadOptions.fileName = linkMap[1]
2736
return new DownloaderHelper(link, downloadFolder, downloadOptions).start()
2837
}),
2938
...repos.map((repo) => {
39+
console.log(`Downloading ${repo}`)
3040
const repoParts = repo.split("/")
3141
return gitly(repo, join(downloadFolder, repoParts[repoParts.length - 1]), { throw: true })
3242
}),

spec/ci-spec.js

+12-10
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ const wrench = require("wrench")
1313
const CSON = require("season")
1414
import * as apm from "../lib/apm-cli"
1515

16+
const atomElectronVersion = fs.readFileSync(`${path.dirname(__dirname)}/.npmrc`, "utf8").match(/target=(.*)\n/)[1]
17+
1618
describe("apm ci", function () {
1719
let [atomHome, resourcePath, server] = Array.from([])
1820

@@ -29,19 +31,19 @@ describe("apm ci", function () {
2931
delete process.env.npm_config_cache
3032

3133
const app = express()
32-
app.get("/node/v10.20.1/node-v10.20.1.tar.gz", (request, response) =>
33-
response.sendFile(path.join(__dirname, "fixtures", "node-v10.20.1.tar.gz"))
34+
app.get(`/node/${atomElectronVersion}/node-${atomElectronVersion}.tar.gz`, (request, response) =>
35+
response.sendFile(path.join(__dirname, "fixtures", `node-${atomElectronVersion}.tar.gz`))
3436
)
35-
app.get("/node/v10.20.1/node-v10.20.1-headers.tar.gz", (request, response) =>
36-
response.sendFile(path.join(__dirname, "fixtures", "node-v10.20.1-headers.tar.gz"))
37+
app.get(`/node/${atomElectronVersion}/node-${atomElectronVersion}-headers.tar.gz`, (request, response) =>
38+
response.sendFile(path.join(__dirname, "fixtures", `node-${atomElectronVersion}-headers.tar.gz`))
3739
)
38-
app.get("/node/v10.20.1/node.lib", (request, response) =>
39-
response.sendFile(path.join(__dirname, "fixtures", "node.lib"))
40+
app.get(`/node/${atomElectronVersion}/node.lib`, (request, response) =>
41+
response.sendFile(path.join(__dirname, "fixtures", `node.lib`))
4042
)
41-
app.get("/node/v10.20.1/x64/node.lib", (request, response) =>
42-
response.sendFile(path.join(__dirname, "fixtures", "node_x64.lib"))
43+
app.get(`/node/${atomElectronVersion}/x64/node.lib`, (request, response) =>
44+
response.sendFile(path.join(__dirname, "fixtures", `node_x64.lib`))
4345
)
44-
app.get("/node/v10.20.1/SHASUMS256.txt", (request, response) =>
46+
app.get(`/node/${atomElectronVersion}/SHASUMS256.txt`, (request, response) =>
4547
response.sendFile(path.join(__dirname, "fixtures", "SHASUMS256.txt"))
4648
)
4749
app.get("/test-module-with-dependencies", (request, response) =>
@@ -69,7 +71,7 @@ describe("apm ci", function () {
6971
server.listen(3000, "127.0.0.1", function () {
7072
process.env.ATOM_ELECTRON_URL = "http://localhost:3000/node"
7173
process.env.ATOM_PACKAGES_URL = "http://localhost:3000/packages"
72-
process.env.ATOM_ELECTRON_VERSION = "v10.20.1"
74+
process.env.ATOM_ELECTRON_VERSION = atomElectronVersion
7375
process.env.npm_config_registry = "http://localhost:3000/"
7476
return (live = true)
7577
})

spec/clean-spec.js

+12-10
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ const http = require("http")
1212
const wrench = require("wrench")
1313
import * as apm from "../lib/apm-cli"
1414

15+
const atomElectronVersion = fs.readFileSync(`${path.dirname(__dirname)}/.npmrc`, "utf8").match(/target=(.*)\n/)[1]
16+
1517
describe("apm clean", function () {
1618
let [moduleDirectory, server] = Array.from([])
1719

@@ -21,19 +23,19 @@ describe("apm clean", function () {
2123

2224
const app = express()
2325

24-
app.get("/node/v10.20.1/node-v10.20.1.tar.gz", (request, response) =>
25-
response.sendFile(path.join(__dirname, "fixtures", "node-v10.20.1.tar.gz"))
26+
app.get(`/node/${atomElectronVersion}/node-${atomElectronVersion}.tar.gz`, (request, response) =>
27+
response.sendFile(path.join(__dirname, `fixtures`, `node-${atomElectronVersion}.tar.gz`))
2628
)
27-
app.get("/node/v10.20.1/node-v10.20.1-headers.tar.gz", (request, response) =>
28-
response.sendFile(path.join(__dirname, "fixtures", "node-v10.20.1-headers.tar.gz"))
29+
app.get(`/node/${atomElectronVersion}/node-${atomElectronVersion}-headers.tar.gz`, (request, response) =>
30+
response.sendFile(path.join(__dirname, `fixtures`, `node-${atomElectronVersion}-headers.tar.gz`))
2931
)
30-
app.get("/node/v10.20.1/node.lib", (request, response) =>
31-
response.sendFile(path.join(__dirname, "fixtures", "node.lib"))
32+
app.get(`/node/${atomElectronVersion}/node.lib`, (request, response) =>
33+
response.sendFile(path.join(__dirname, `fixtures`, `node.lib`))
3234
)
33-
app.get("/node/v10.20.1/x64/node.lib", (request, response) =>
34-
response.sendFile(path.join(__dirname, "fixtures", "node_x64.lib"))
35+
app.get(`/node/${atomElectronVersion}/x64/node.lib`, (request, response) =>
36+
response.sendFile(path.join(__dirname, `fixtures`, `node_x64.lib`))
3537
)
36-
app.get("/node/v10.20.1/SHASUMS256.txt", (request, response) =>
38+
app.get(`/node/${atomElectronVersion}/SHASUMS256.txt`, (request, response) =>
3739
response.sendFile(path.join(__dirname, "fixtures", "SHASUMS256.txt"))
3840
)
3941
app.get("/test-module", (request, response) =>
@@ -51,7 +53,7 @@ describe("apm clean", function () {
5153
const atomHome = temp.mkdirSync("apm-home-dir-")
5254
process.env.ATOM_HOME = atomHome
5355
process.env.ATOM_ELECTRON_URL = "http://localhost:3000/node"
54-
process.env.ATOM_ELECTRON_VERSION = "v10.20.1"
56+
process.env.ATOM_ELECTRON_VERSION = atomElectronVersion
5557
process.env.npm_config_registry = "http://localhost:3000/"
5658

5759
moduleDirectory = path.join(temp.mkdirSync("apm-test-module-"), "test-module-with-dependencies")

spec/install-spec.js

+12-10
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ import * as apm from "../lib/apm-cli"
1515
import Install from "../lib/install"
1616
import { sync as resolveSync } from "resolve"
1717

18+
const atomElectronVersion = fs.readFileSync(`${path.dirname(__dirname)}/.npmrc`, "utf8").match(/target=(.*)\n/)[1]
19+
1820
describe("apm install", function () {
1921
let [atomHome, resourcePath] = Array.from([])
2022

@@ -36,19 +38,19 @@ describe("apm install", function () {
3638

3739
beforeEach(function () {
3840
const app = express()
39-
app.get("/node/v10.20.1/node-v10.20.1.tar.gz", (request, response) =>
40-
response.sendFile(path.join(__dirname, "fixtures", "node-v10.20.1.tar.gz"))
41+
app.get(`/node/${atomElectronVersion}/node-${atomElectronVersion}.tar.gz`, (request, response) =>
42+
response.sendFile(path.join(__dirname, `fixtures`, `node-${atomElectronVersion}.tar.gz`))
4143
)
42-
app.get("/node/v10.20.1/node-v10.20.1-headers.tar.gz", (request, response) =>
43-
response.sendFile(path.join(__dirname, "fixtures", "node-v10.20.1-headers.tar.gz"))
44+
app.get(`/node/${atomElectronVersion}/node-${atomElectronVersion}-headers.tar.gz`, (request, response) =>
45+
response.sendFile(path.join(__dirname, `fixtures`, `node-${atomElectronVersion}-headers.tar.gz`))
4446
)
45-
app.get("/node/v10.20.1/node.lib", (request, response) =>
46-
response.sendFile(path.join(__dirname, "fixtures", "node.lib"))
47+
app.get(`/node/${atomElectronVersion}/node.lib`, (request, response) =>
48+
response.sendFile(path.join(__dirname, `fixtures`, `node.lib`))
4749
)
48-
app.get("/node/v10.20.1/x64/node.lib", (request, response) =>
49-
response.sendFile(path.join(__dirname, "fixtures", "node_x64.lib"))
50+
app.get(`/node/${atomElectronVersion}/x64/node.lib`, (request, response) =>
51+
response.sendFile(path.join(__dirname, `fixtures`, `node_x64.lib`))
5052
)
51-
app.get("/node/v10.20.1/SHASUMS256.txt", (request, response) =>
53+
app.get(`/node/${atomElectronVersion}/SHASUMS256.txt`, (request, response) =>
5254
response.sendFile(path.join(__dirname, "fixtures", "SHASUMS256.txt"))
5355
)
5456
app.get("/test-module", (request, response) =>
@@ -103,7 +105,7 @@ describe("apm install", function () {
103105
process.env.ATOM_HOME = atomHome
104106
process.env.ATOM_ELECTRON_URL = "http://localhost:3000/node"
105107
process.env.ATOM_PACKAGES_URL = "http://localhost:3000/packages"
106-
process.env.ATOM_ELECTRON_VERSION = "v10.20.1"
108+
process.env.ATOM_ELECTRON_VERSION = atomElectronVersion
107109
process.env.npm_config_registry = "http://localhost:3000/"
108110
return (live = true)
109111
})

spec/rebuild-spec.js

+13-10
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@ const temp = require("temp")
99
const express = require("express")
1010
const http = require("http")
1111
import * as apm from "../lib/apm-cli"
12+
import fs from "fs"
13+
14+
const atomElectronVersion = fs.readFileSync(`${path.dirname(__dirname)}/.npmrc`, "utf8").match(/target=(.*)\n/)[1]
1215

1316
describe("apm rebuild", function () {
1417
let [server, originalPathEnv] = Array.from([])
@@ -18,19 +21,19 @@ describe("apm rebuild", function () {
1821
spyOnConsole()
1922

2023
const app = express()
21-
app.get("/node/v10.20.1/node-v10.20.1.tar.gz", (request, response) =>
22-
response.sendFile(path.join(__dirname, "fixtures", "node-v10.20.1.tar.gz"))
24+
app.get(`/node/${atomElectronVersion}/node-${atomElectronVersion}.tar.gz`, (request, response) =>
25+
response.sendFile(path.join(__dirname, `fixtures`, `node-${atomElectronVersion}.tar.gz`))
2326
)
24-
app.get("/node/v10.20.1/node-v10.20.1-headers.tar.gz", (request, response) =>
25-
response.sendFile(path.join(__dirname, "fixtures", "node-v10.20.1-headers.tar.gz"))
27+
app.get(`/node/${atomElectronVersion}/node-${atomElectronVersion}-headers.tar.gz`, (request, response) =>
28+
response.sendFile(path.join(__dirname, `fixtures`, `node-${atomElectronVersion}-headers.tar.gz`))
2629
)
27-
app.get("/node/v10.20.1/node.lib", (request, response) =>
28-
response.sendFile(path.join(__dirname, "fixtures", "node.lib"))
30+
app.get(`/node/${atomElectronVersion}/node.lib`, (request, response) =>
31+
response.sendFile(path.join(__dirname, `fixtures`, `node.lib`))
2932
)
30-
app.get("/node/v10.20.1/x64/node.lib", (request, response) =>
31-
response.sendFile(path.join(__dirname, "fixtures", "node_x64.lib"))
33+
app.get(`/node/${atomElectronVersion}/x64/node.lib`, (request, response) =>
34+
response.sendFile(path.join(__dirname, `fixtures`, `node_x64.lib`))
3235
)
33-
app.get("/node/v10.20.1/SHASUMS256.txt", (request, response) =>
36+
app.get(`/node/${atomElectronVersion}/SHASUMS256.txt`, (request, response) =>
3437
response.sendFile(path.join(__dirname, "fixtures", "SHASUMS256.txt"))
3538
)
3639

@@ -42,7 +45,7 @@ describe("apm rebuild", function () {
4245
process.env.ATOM_HOME = atomHome
4346
process.env.ATOM_ELECTRON_URL = "http://localhost:3000/node"
4447
process.env.ATOM_PACKAGES_URL = "http://localhost:3000/packages"
45-
process.env.ATOM_ELECTRON_VERSION = "v10.20.1"
48+
process.env.ATOM_ELECTRON_VERSION = atomElectronVersion
4649
process.env.ATOM_RESOURCE_PATH = temp.mkdirSync("atom-resource-path-")
4750

4851
originalPathEnv = process.env.PATH

spec/stars-spec.js

+12-10
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ const http = require("http")
1111
const temp = require("temp")
1212
import * as apm from "../lib/apm-cli"
1313

14+
const atomElectronVersion = fs.readFileSync(`${path.dirname(__dirname)}/.npmrc`, "utf8").match(/target=(.*)\n/)[1]
15+
1416
describe("apm stars", function () {
1517
let [atomHome, server] = Array.from([])
1618

@@ -23,19 +25,19 @@ describe("apm stars", function () {
2325
app.get("/users/hubot/stars", (request, response) =>
2426
response.sendFile(path.join(__dirname, "fixtures", "stars.json"))
2527
)
26-
app.get("/node/v10.20.1/node-v10.20.1.tar.gz", (request, response) =>
27-
response.sendFile(path.join(__dirname, "fixtures", "node-v10.20.1.tar.gz"))
28+
app.get(`/node/${atomElectronVersion}/node-${atomElectronVersion}.tar.gz`, (request, response) =>
29+
response.sendFile(path.join(__dirname, `fixtures`, `node-${atomElectronVersion}.tar.gz`))
2830
)
29-
app.get("/node/v10.20.1/node-v10.20.1-headers.tar.gz", (request, response) =>
30-
response.sendFile(path.join(__dirname, "fixtures", "node-v10.20.1-headers.tar.gz"))
31+
app.get(`/node/${atomElectronVersion}/node-${atomElectronVersion}-headers.tar.gz`, (request, response) =>
32+
response.sendFile(path.join(__dirname, `fixtures`, `node-${atomElectronVersion}-headers.tar.gz`))
3133
)
32-
app.get("/node/v10.20.1/node.lib", (request, response) =>
33-
response.sendFile(path.join(__dirname, "fixtures", "node.lib"))
34+
app.get(`/node/${atomElectronVersion}/node.lib`, (request, response) =>
35+
response.sendFile(path.join(__dirname, `fixtures`, `node.lib`))
3436
)
35-
app.get("/node/v10.20.1/x64/node.lib", (request, response) =>
36-
response.sendFile(path.join(__dirname, "fixtures", "node_x64.lib"))
37+
app.get(`/node/${atomElectronVersion}/x64/node.lib`, (request, response) =>
38+
response.sendFile(path.join(__dirname, `fixtures`, `node_x64.lib`))
3739
)
38-
app.get("/node/v10.20.1/SHASUMS256.txt", (request, response) =>
40+
app.get(`/node/${atomElectronVersion}/SHASUMS256.txt`, (request, response) =>
3941
response.sendFile(path.join(__dirname, "fixtures", "SHASUMS256.txt"))
4042
)
4143
app.get("/tarball/test-module-1.2.0.tgz", (request, response) =>
@@ -57,7 +59,7 @@ describe("apm stars", function () {
5759
process.env.ATOM_API_URL = "http://localhost:3000"
5860
process.env.ATOM_ELECTRON_URL = "http://localhost:3000/node"
5961
process.env.ATOM_PACKAGES_URL = "http://localhost:3000/packages"
60-
process.env.ATOM_ELECTRON_VERSION = "v10.20.1"
62+
process.env.ATOM_ELECTRON_VERSION = atomElectronVersion
6163
process.env.npm_config_registry = "http://localhost:3000/"
6264

6365
return (live = true)

spec/upgrade-spec.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ const apmRun = function (args, callback) {
1818
runs(callback)
1919
}
2020

21+
const atomElectronVersion = fs.readFileSync(`${path.dirname(__dirname)}/.npmrc`, "utf8").match(/target=(.*)\n/)[1]
22+
2123
describe("apm upgrade", function () {
2224
let [atomApp, atomHome, packagesDir, server] = Array.from([])
2325

@@ -48,7 +50,7 @@ describe("apm upgrade", function () {
4850
process.env.ATOM_HOME = atomHome
4951
process.env.ATOM_ELECTRON_URL = "http://localhost:3000/node"
5052
process.env.ATOM_PACKAGES_URL = "http://localhost:3000/packages"
51-
process.env.ATOM_ELECTRON_VERSION = "v10.20.1"
53+
process.env.ATOM_ELECTRON_VERSION = atomElectronVersion
5254
process.env.ATOM_RESOURCE_PATH = atomApp
5355

5456
fs.writeFileSync(path.join(atomApp, "package.json"), JSON.stringify({ version: "0.10.0" }))

0 commit comments

Comments
 (0)