1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
import config
import test.framework
proc main()
let runner = new framework.TestRunner()
let defaults: config.Defaults = config.Defaults {
repos_root: "/home/u/repos",
backup_root: "/nfs/repos",
logdir: "/home/u/.local/state/repoman",
incus_project: "repoman",
default_image: "images:ubuntu/26.04/cloud",
profiles: ["default", "claude-share"]
}
mut projects: [config.Project] = new [config.Project](1)
projects[0] = config.Project {
name: "isurus",
repo: "isurus-project",
image: "images:ubuntu/26.04/cloud",
profiles: ["default"],
created: "2026-04-28T15:00:00Z",
last_sync: "",
backup: true
}
let reg: config.Registry = config.Registry {
schema: 1,
output: "quiet",
defaults: defaults,
projects: projects
}
let out: string = config.serialize_registry(reg)
runner.assert_contains_string(out, "[repoman]", "has [repoman] header")
runner.assert_contains_string(out, "schema = 1", "has schema field")
runner.assert_contains_string(out, "[defaults]", "has [defaults] header")
runner.assert_contains_string(out, "repos_root = \"/home/u/repos\"", "has repos_root field")
runner.assert_contains_string(out, "[[project]]", "has [[project]] header")
runner.assert_contains_string(out, "name = \"isurus\"", "has project.name")
runner.assert_contains_string(out, "backup = true", "has backup = true")
runner.assert_contains_string(out, "profiles = [\"default\", \"claude-share\"]", "defaults.profiles array")
runner.report()
end main
|