feat: added tests for RAM process parser

This commit is contained in:
Serhiy Mytrovtsiy
2022-04-16 12:30:08 +02:00
parent 6fba3c01d9
commit 8ab931b563
4 changed files with 216 additions and 0 deletions

22
Tests/Info.plist Normal file
View File

@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleVersion</key>
<string>1</string>
</dict>
</plist>

61
Tests/RAM.swift Normal file
View File

@@ -0,0 +1,61 @@
//
// RAM.swift
// Tests
//
// Created by Serhiy Mytrovtsiy on 16/04/2022.
// Using Swift 5.0.
// Running on macOS 10.15.
//
// Copyright © 2022 Serhiy Mytrovtsiy. All rights reserved.
//
import XCTest
import RAM
class RAM: XCTestCase {
func testProcessReader_parseProcess() throws {
var process = ProcessReader.parseProcess("3127 lldb-rpc-server 611M")
XCTAssertEqual(process.pid, 3127)
XCTAssertEqual(process.command, "lldb-rpc-server")
XCTAssertEqual(process.usage, 611 * Double(1024 * 1024))
process = ProcessReader.parseProcess("257 WindowServer 210M")
XCTAssertEqual(process.pid, 257)
XCTAssertEqual(process.command, "WindowServer")
XCTAssertEqual(process.usage, 210 * Double(1024 * 1024))
process = ProcessReader.parseProcess("7752 phpstorm 1819M")
XCTAssertEqual(process.pid, 7752)
XCTAssertEqual(process.command, "phpstorm")
XCTAssertEqual(process.usage, 1819 * Double(1024 * 1024))
process = ProcessReader.parseProcess("359 NotificationCent 62M")
XCTAssertEqual(process.pid, 359)
XCTAssertEqual(process.command, "NotificationCe")
XCTAssertEqual(process.usage, 62 * Double(1024 * 1024))
process = ProcessReader.parseProcess("623 SafariCloudHisto 1608K")
XCTAssertEqual(process.pid, 623)
XCTAssertEqual(process.command, "SafariCloudHisto")
XCTAssertEqual(process.usage, (1608/1024) * Double(1024 * 1024))
process = ProcessReader.parseProcess("174 WindowServer 1442M+ ")
XCTAssertEqual(process.pid, 174)
XCTAssertEqual(process.command, "WindowServer")
XCTAssertEqual(process.usage, 1442 * Double(1024 * 1024))
process = ProcessReader.parseProcess("329 Finder 488M+ ")
XCTAssertEqual(process.pid, 329)
XCTAssertEqual(process.command, "Finder")
XCTAssertEqual(process.usage, 488 * Double(1024 * 1024))
}
func testReplacePID() throws {
let raw = "0 kernel_task 270M "
let process = ProcessReader.parseProcess(raw)
XCTAssertEqual(process.pid, 0)
XCTAssertEqual(process.command, "kernel_task")
XCTAssertEqual(process.usage, 270 * Double(1024 * 1024))
}
}