Skip to content

Commit 3541f84

Browse files
Refactor getLinuxInfo to return a Map
1 parent 921db43 commit 3541f84

File tree

1 file changed

+13
-6
lines changed

1 file changed

+13
-6
lines changed

src/commands/test.js

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -126,10 +126,10 @@ async function getPlatform(logsOpt) {
126126
const arch = os.arch()
127127
const cpuCore = os.cpus()[0]
128128
const isM1 = cpuCore.model.includes("Apple M1")
129-
const linuxInfo = type === 'Linux' ? await getLinuxInfo() : []
130-
const linuxDistro = linuxInfo[0] || type
131-
const release = linuxInfo[1] || os.release()
132-
const majorVersion = parseInt(linuxInfo[1]) || semver.major(release)
129+
const linuxInfo = type === 'Linux' ? await getLinuxInfo() : new Map()
130+
const linuxDistro = linuxInfo.get('name')
131+
const release = linuxInfo.get('version') || os.release()
132+
const majorVersion = parseInt(linuxInfo.get('version'), 10) || semver.major(release)
133133

134134
if (logsOpt) {
135135
print.info(`OS: ${linuxDistro || type}\nOS arch: ${arch}\nOS release: ${release}\nOS major version: ${majorVersion}\nCPU model: ${cpuCore.model}`)
@@ -161,8 +161,15 @@ async function getPlatform(logsOpt) {
161161

162162
async function getLinuxInfo() {
163163
try {
164-
let info = await system.run("cat /etc/*-release | grep -E '(^VERSION|^NAME)='", {trim: true})
165-
return info.replace(/[VERSION=]|[NAME=]|['"]+/g, '').split('\n')
164+
let result = await system.run("cat /etc/*-release | grep -E '(^VERSION|^NAME)='", {trim: true})
165+
let infoArray = result.replace(/['"]+/g, '').split('\n').map(p => p.split('='))
166+
let infoMap = new Map();
167+
168+
infoArray.forEach((val) => {
169+
infoMap.set(val[0].toLowerCase(), val[1])
170+
});
171+
print.info(infoMap)
172+
return infoMap
166173
} catch (error) {
167174
print.error(`Error fetching the Linux version:\n ${error}`)
168175
process.exit(1)

0 commit comments

Comments
 (0)