30 lines
964 B
JavaScript
30 lines
964 B
JavaScript
import test from 'brittle'
|
|
import { isProcessCollectorEnabled, listProcStats } from '../server/services/collectors/processes.js'
|
|
|
|
test('isProcessCollectorEnabled', (t) => {
|
|
const prev = process.env.PEARDATA_PROCESSES
|
|
delete process.env.PEARDATA_PROCESSES
|
|
// Default on for Linux hosts
|
|
if (process.platform === 'linux') t.ok(isProcessCollectorEnabled())
|
|
else t.absent(isProcessCollectorEnabled())
|
|
process.env.PEARDATA_PROCESSES = '0'
|
|
t.absent(isProcessCollectorEnabled())
|
|
process.env.PEARDATA_PROCESSES = '1'
|
|
t.ok(isProcessCollectorEnabled())
|
|
if (prev == null) delete process.env.PEARDATA_PROCESSES
|
|
else process.env.PEARDATA_PROCESSES = prev
|
|
})
|
|
|
|
test('listProcStats on linux returns pids', (t) => {
|
|
const rows = listProcStats()
|
|
if (process.platform !== 'linux') {
|
|
t.is(rows, null)
|
|
return
|
|
}
|
|
t.ok(Array.isArray(rows))
|
|
t.ok(rows.length > 0)
|
|
t.ok(rows[0].pid > 0)
|
|
t.ok(rows[0].name)
|
|
t.ok(Number.isFinite(rows[0].utime))
|
|
})
|