Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
72 changes: 72 additions & 0 deletions Tests/CLITests/TestCLINoParallelCases.swift
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@
//===----------------------------------------------------------------------===//

import ContainerAPIClient
import ContainerPersistence
import ContainerizationExtras
import ContainerizationOCI
import Foundation
import Testing
Expand Down Expand Up @@ -301,4 +303,74 @@ class TestCLINoParallelCases: CLITest {
#expect(statusFinal == 0)
#expect(!listFinal.contains(networkName), "network should be pruned after container is deleted")
}

// MARK: - Parser.resources (DefaultsStore-dependent)

@Test func testResourcesCustomDefaults() throws {
let result = try Parser.resources(
cpus: nil, memory: nil,
cpuPropertyKey: .defaultBuildCPUs, memoryPropertyKey: .defaultBuildMemory,
defaultCPUs: 2, defaultMemoryInBytes: 2048.mib()
)
#expect(result.cpus == 2)
#expect(result.memoryInBytes == 2048.mib())
}

@Test func testResourcesBuildPropertyLookup() throws {
DefaultsStore.set(value: "8", key: .defaultBuildCPUs)
DefaultsStore.set(value: "4g", key: .defaultBuildMemory)
defer {
DefaultsStore.unset(key: .defaultBuildCPUs)
DefaultsStore.unset(key: .defaultBuildMemory)
}
let result = try Parser.resources(
cpus: nil, memory: nil,
cpuPropertyKey: .defaultBuildCPUs, memoryPropertyKey: .defaultBuildMemory,
defaultCPUs: 2, defaultMemoryInBytes: 2048.mib()
)
#expect(result.cpus == 8)
#expect(result.memoryInBytes == 4096.mib())
}

@Test func testResourcesCPUsFromProperty() throws {
DefaultsStore.set(value: "8", key: .defaultContainerCPUs)
defer { DefaultsStore.unset(key: .defaultContainerCPUs) }
let result = try Parser.resources(cpus: nil, memory: nil)
#expect(result.cpus == 8)
}

@Test func testResourcesMemoryFromProperty() throws {
DefaultsStore.set(value: "2g", key: .defaultContainerMemory)
defer { DefaultsStore.unset(key: .defaultContainerMemory) }
let result = try Parser.resources(cpus: nil, memory: nil)
#expect(result.memoryInBytes == 2048.mib())
}

@Test func testResourcesFlagOverridesProperty() throws {
DefaultsStore.set(value: "8", key: .defaultContainerCPUs)
DefaultsStore.set(value: "2g", key: .defaultContainerMemory)
defer {
DefaultsStore.unset(key: .defaultContainerCPUs)
DefaultsStore.unset(key: .defaultContainerMemory)
}
let result = try Parser.resources(cpus: 1, memory: "256m")
#expect(result.cpus == 1)
#expect(result.memoryInBytes == 256.mib())
}

@Test func testResourcesPropertyKeysAreIsolated() throws {
DefaultsStore.set(value: "16", key: .defaultContainerCPUs)
DefaultsStore.set(value: "8g", key: .defaultContainerMemory)
defer {
DefaultsStore.unset(key: .defaultContainerCPUs)
DefaultsStore.unset(key: .defaultContainerMemory)
}
let result = try Parser.resources(
cpus: nil, memory: nil,
cpuPropertyKey: .defaultBuildCPUs, memoryPropertyKey: .defaultBuildMemory,
defaultCPUs: 2, defaultMemoryInBytes: 2048.mib()
)
#expect(result.cpus == 2)
#expect(result.memoryInBytes == 2048.mib())
}
}
75 changes: 0 additions & 75 deletions Tests/ContainerAPIClientTests/ParserTest.swift
Original file line number Diff line number Diff line change
Expand Up @@ -1045,79 +1045,4 @@ struct ParserTest {
#expect(result[0].hard == UInt64.max)
}

// MARK: - Parser.resources

@Test
func testResourcesCustomDefaults() throws {
let result = try Parser.resources(
cpus: nil, memory: nil,
cpuPropertyKey: .defaultBuildCPUs, memoryPropertyKey: .defaultBuildMemory,
defaultCPUs: 2, defaultMemoryInBytes: 2048.mib()
)
#expect(result.cpus == 2)
#expect(result.memoryInBytes == 2048.mib())
}

@Test
func testResourcesBuildPropertyLookup() throws {
DefaultsStore.set(value: "8", key: .defaultBuildCPUs)
DefaultsStore.set(value: "4g", key: .defaultBuildMemory)
defer {
DefaultsStore.unset(key: .defaultBuildCPUs)
DefaultsStore.unset(key: .defaultBuildMemory)
}
let result = try Parser.resources(
cpus: nil, memory: nil,
cpuPropertyKey: .defaultBuildCPUs, memoryPropertyKey: .defaultBuildMemory,
defaultCPUs: 2, defaultMemoryInBytes: 2048.mib()
)
#expect(result.cpus == 8)
#expect(result.memoryInBytes == 4096.mib())
}

@Test
func testResourcesCPUsFromProperty() throws {
DefaultsStore.set(value: "8", key: .defaultContainerCPUs)
defer { DefaultsStore.unset(key: .defaultContainerCPUs) }
let result = try Parser.resources(cpus: nil, memory: nil)
#expect(result.cpus == 8)
}

@Test
func testResourcesMemoryFromProperty() throws {
DefaultsStore.set(value: "2g", key: .defaultContainerMemory)
defer { DefaultsStore.unset(key: .defaultContainerMemory) }
let result = try Parser.resources(cpus: nil, memory: nil)
#expect(result.memoryInBytes == 2048.mib())
}

@Test
func testResourcesFlagOverridesProperty() throws {
DefaultsStore.set(value: "8", key: .defaultContainerCPUs)
DefaultsStore.set(value: "2g", key: .defaultContainerMemory)
defer {
DefaultsStore.unset(key: .defaultContainerCPUs)
DefaultsStore.unset(key: .defaultContainerMemory)
}
let result = try Parser.resources(cpus: 1, memory: "256m")
#expect(result.cpus == 1)
#expect(result.memoryInBytes == 256.mib())
}

@Test
func testResourcesPropertyKeysAreIsolated() throws {
DefaultsStore.set(value: "16", key: .defaultContainerCPUs)
DefaultsStore.set(value: "8g", key: .defaultContainerMemory)
defer {
DefaultsStore.unset(key: .defaultContainerCPUs)
DefaultsStore.unset(key: .defaultContainerMemory)
}
let result = try Parser.resources(
cpus: nil, memory: nil,
cpuPropertyKey: .defaultBuildCPUs, memoryPropertyKey: .defaultBuildMemory,
defaultCPUs: 2, defaultMemoryInBytes: 2048.mib()
)
#expect(result.cpus == 2)
#expect(result.memoryInBytes == 2048.mib())
}
}