seed/test 789 B raw
1
#!/bin/sh
2
# Verify that the checked-in seed and its workflow use self-contained images.
3
set -eu
4
5
fail() {
6
  printf 'seed test: %s\n' "$*" >&2
7
  exit 1
8
}
9
10
magic="$(od -An -tx4 -N4 seed/radiance.rv64 | tr -d ' ')"
11
[ "$magic" = "30444152" ] || fail "seed is not a self-contained RV64 image"
12
13
version="$(od -An -tu4 -j4 -N4 seed/radiance.rv64 | tr -d ' ')"
14
[ "$version" = "1" ] || fail "unsupported seed image version: $version"
15
16
size="$(wc -c < seed/radiance.rv64 | tr -d ' ')"
17
code="$(od -An -tu4 -j8 -N4 seed/radiance.rv64 | tr -d ' ')"
18
ro="$(od -An -tu4 -j12 -N4 seed/radiance.rv64 | tr -d ' ')"
19
rw="$(od -An -tu4 -j16 -N4 seed/radiance.rv64 | tr -d ' ')"
20
21
[ "$size" -eq $((20 + code + ro + rw)) ] ||
22
  fail "seed image size $size does not match header sections"
23
24
printf 'seed test: ok\n'