mirror of
https://github.com/aculix/knotchy.git
synced 2026-10-27 07:15:53 +00:00
Initial release
This commit is contained in:
commit
4b67728cce
108 files changed
+13310
No files matched your search
@@ -0,0 +1,34 @@
|
||||
import Testing
|
||||
@testable import KnotchyCore
|
||||
|
||||
struct ContainerRuntimeTests {
|
||||
@Test func readsTheVersionFromTheCLIOutput() {
|
||||
#expect(ContainerRuntime.version(in: "container CLI version 1.4.1 (build: release, commit: 9a8917c)\n") == "1.4.1")
|
||||
#expect(ContainerRuntime.version(in: "warning: x\ncontainer CLI version 2.0 (build: debug)") == "2.0")
|
||||
#expect(ContainerRuntime.version(in: "container version 1.4.1") == nil)
|
||||
}
|
||||
|
||||
@Test func comparesVersionsNumerically() {
|
||||
#expect(ContainerRuntime.isOlder("1.3.9", than: "1.4.0"))
|
||||
#expect(ContainerRuntime.isOlder("1.4", than: "1.4.1"))
|
||||
#expect(!ContainerRuntime.isOlder("1.10.0", than: "1.4.0"))
|
||||
#expect(!ContainerRuntime.isOlder("1.4.0", than: "1.4"))
|
||||
}
|
||||
|
||||
@Test func judgesAnInstalledRuntime() {
|
||||
#expect(ContainerRuntime.status(versionOutput: nil) == .missing)
|
||||
#expect(ContainerRuntime.status(versionOutput: "container CLI version 1.3.1 (build: release)") == .outdated("1.3.1"))
|
||||
#expect(ContainerRuntime.status(versionOutput: "container CLI version 1.4.1 (build: release)") == .current("1.4.1"))
|
||||
#expect(ContainerRuntime.status(versionOutput: "container CLI version 9.0.0") == .current("9.0.0"))
|
||||
}
|
||||
|
||||
@Test func unreadableOutputNeverTriggersAnUpdate() {
|
||||
#expect(ContainerRuntime.status(versionOutput: "container 3 (a new format)") == .current(nil))
|
||||
#expect(ContainerRuntime.status(versionOutput: "") == .current(nil))
|
||||
}
|
||||
|
||||
@Test func thePinnedReleaseIsNewEnough() {
|
||||
#expect(!ContainerRuntime.isOlder(ContainerRuntime.pinned.version, than: ContainerRuntime.minimumVersion))
|
||||
#expect(ContainerRuntime.pinned.sha256.count == 64)
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user