···2233type t =
44 | X386
55- | Xamd64
55+ | Amd64
66 | Arm
77 | Arm64
88 | Wasm
···19192020let to_string = function
2121 | X386 -> "386"
2222- | Xamd64 -> "amd64"
2222+ | Amd64 -> "amd64"
2323 | Arm -> "arm"
2424 | Arm64 -> "arm64"
2525 | Wasm -> "wasm"
···36363737let of_string = function
3838 | "386" -> Ok X386
3939- | "amd64" -> Ok Xamd64
3939+ | "amd64" -> Ok Amd64
4040 | "arm" -> Ok Arm
4141 | "arm64" -> Ok Arm64
4242 | "wasm" -> Ok Wasm
+1-1
src/spec/arch.mli
···33 for GOARCH. *)
44type t =
55 | X386
66- | Xamd64
66+ | Amd64
77 | Arm
88 | Arm64
99 | Wasm
+15-16
test/interop/registry/test.ml
···1414 close_in ic;
1515 s
16161717-(* Simple JSON string field extraction for meta.json *)
1818-let meta_field key =
1717+let meta_jsont =
1818+ Jsont.Object.map (fun index_digest manifest_digest config_digest ->
1919+ (index_digest, manifest_digest, config_digest))
2020+ |> Jsont.Object.mem "index_digest" Jsont.string ~enc:(fun (x, _, _) -> x)
2121+ |> Jsont.Object.mem "manifest_digest" Jsont.string ~enc:(fun (_, x, _) -> x)
2222+ |> Jsont.Object.mem "config_digest" Jsont.string ~enc:(fun (_, _, x) -> x)
2323+ |> Jsont.Object.skip_unknown |> Jsont.Object.finish
2424+2525+let meta () =
1926 let raw = read_file "meta.json" in
2020- let pat = Fmt.str {|"%s": "|} key in
2121- match Astring.String.find_sub ~sub:pat raw with
2222- | None -> Fmt.failwith "meta.json: missing field %s" key
2323- | Some i ->
2424- let start = i + String.length pat in
2525- let stop =
2626- match String.index_from_opt raw start '"' with
2727- | Some j -> j
2828- | None -> Fmt.failwith "meta.json: unterminated string for %s" key
2929- in
3030- String.sub raw start (stop - start)
2727+ match Jsont_bytesrw.decode_string meta_jsont raw with
2828+ | Ok m -> m
2929+ | Error e -> Fmt.failwith "meta.json: %s" e
31303231(* {1 Index parsing} *)
3332···6867 | Ok _ -> fail "expected OCI index"
69687069let test_index_digest () =
7171- let expected = meta_field "index_digest" in
7070+ let expected, _, _ = meta () in
7271 match Digest.of_string expected with
7372 | Ok d ->
7473 check string "algorithm" "sha256"
···102101 | Ok _ -> fail "expected single-platform manifest"
103102104103let test_manifest_config_digest () =
105105- let expected = meta_field "config_digest" in
104104+ let _, _, expected = meta () in
106105 let raw = read_file "manifest.json" in
107106 match Manifest.of_string raw with
108107 | Error (`Msg e) -> fail e
···160159let test_index_v () =
161160 let desc =
162161 Descriptor.v
163163- ~platform:(Platform.v Arch.Xamd64 OS.Linux)
162162+ ~platform:(Platform.v Arch.Amd64 OS.Linux)
164163 ~annotations:
165164 [
166165 (Annotation.Other "dev.spaceos.partition.name", "p0");