From 71313ca3d913e07f5703d9242baee9e15260dfcd Mon Sep 17 00:00:00 2001 From: Raj Date: Fri, 6 Mar 2026 13:53:23 -0800 Subject: [PATCH] =?UTF-8?q?Move=20parser=20tests=20that=20rely=20on=20user?= =?UTF-8?q?default=20manipulation=20to=20TestCLINoP=E2=80=A6=20(#1299)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Fixes #1298 ## Type of Change - [x] Bug fix - [ ] New feature - [ ] Breaking change - [ ] Documentation update ## Motivation and Context Move parser tests that rely on userdefault manipulation to TestCLINoParallelCases ## Testing - [x] Tested locally - [x] Added/updated tests - [ ] Added/updated docs --- Tests/CLITests/TestCLINoParallelCases.swift | 72 ++++++++++++++++++ .../ContainerAPIClientTests/ParserTest.swift | 75 ------------------- 2 files changed, 72 insertions(+), 75 deletions(-) diff --git a/Tests/CLITests/TestCLINoParallelCases.swift b/Tests/CLITests/TestCLINoParallelCases.swift index 9011e412..6aa39a59 100644 --- a/Tests/CLITests/TestCLINoParallelCases.swift +++ b/Tests/CLITests/TestCLINoParallelCases.swift @@ -15,6 +15,8 @@ //===----------------------------------------------------------------------===// import ContainerAPIClient +import ContainerPersistence +import ContainerizationExtras import ContainerizationOCI import Foundation import Testing @@ -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()) + } } diff --git a/Tests/ContainerAPIClientTests/ParserTest.swift b/Tests/ContainerAPIClientTests/ParserTest.swift index 1905443e..abba78c1 100644 --- a/Tests/ContainerAPIClientTests/ParserTest.swift +++ b/Tests/ContainerAPIClientTests/ParserTest.swift @@ -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()) - } }