mirror of
https://github.com/morgan9e/macos-stats
synced 2026-04-14 00:04:15 +09:00
fix: adjusted RAM top process parser (when the process has 0 PID and 0 in the usage)
This commit is contained in:
@@ -154,10 +154,14 @@ public class ProcessReader: Reader<[TopProcess]> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static public func parseProcess(_ raw: String) -> TopProcess {
|
static public func parseProcess(_ raw: String) -> TopProcess {
|
||||||
let str = raw.trimmingCharacters(in: .whitespaces)
|
var str = raw.trimmingCharacters(in: .whitespaces)
|
||||||
let pidString = str.find(pattern: "^\\d+")
|
let pidString = str.find(pattern: "^\\d+")
|
||||||
|
|
||||||
var arr = str.replacingOccurrences(of: pidString, with: "").split(separator: " ")
|
if let range = str.range(of: pidString) {
|
||||||
|
str = str.replacingCharacters(in: range, with: "")
|
||||||
|
}
|
||||||
|
|
||||||
|
var arr = str.split(separator: " ")
|
||||||
if arr.first == "*" {
|
if arr.first == "*" {
|
||||||
arr.removeFirst()
|
arr.removeFirst()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -55,12 +55,15 @@ class RAM: XCTestCase {
|
|||||||
XCTAssertEqual(process.usage, 11 * Double(1024 * 1024 * 1024))
|
XCTAssertEqual(process.usage, 11 * Double(1024 * 1024 * 1024))
|
||||||
}
|
}
|
||||||
|
|
||||||
func testReplacePID() throws {
|
func testKernelTask() throws {
|
||||||
let raw = "0 kernel_task 270M "
|
var process = ProcessReader.parseProcess("0 kernel_task 270M ")
|
||||||
let process = ProcessReader.parseProcess(raw)
|
|
||||||
|
|
||||||
XCTAssertEqual(process.pid, 0)
|
XCTAssertEqual(process.pid, 0)
|
||||||
XCTAssertEqual(process.command, "kernel_task")
|
XCTAssertEqual(process.command, "kernel_task")
|
||||||
XCTAssertEqual(process.usage, 270 * Double(1024 * 1024))
|
XCTAssertEqual(process.usage, 270 * Double(1024 * 1024))
|
||||||
|
|
||||||
|
process = ProcessReader.parseProcess("0 kernel_task 280M")
|
||||||
|
XCTAssertEqual(process.pid, 0)
|
||||||
|
XCTAssertEqual(process.command, "kernel_task")
|
||||||
|
XCTAssertEqual(process.usage, 280 * Double(1024 * 1024))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user