#!/bin/sh
# Verify that the checked-in seed and its workflow use self-contained images.
set -eu

fail() {
  printf 'seed test: %s\n' "$*" >&2
  exit 1
}

magic="$(od -An -tx4 -N4 seed/radiance.rv64 | tr -d ' ')"
[ "$magic" = "30444152" ] || fail "seed is not a self-contained RV64 image"

version="$(od -An -tu4 -j4 -N4 seed/radiance.rv64 | tr -d ' ')"
[ "$version" = "1" ] || fail "unsupported seed image version: $version"

size="$(wc -c < seed/radiance.rv64 | tr -d ' ')"
code="$(od -An -tu4 -j8 -N4 seed/radiance.rv64 | tr -d ' ')"
ro="$(od -An -tu4 -j12 -N4 seed/radiance.rv64 | tr -d ' ')"
rw="$(od -An -tu4 -j16 -N4 seed/radiance.rv64 | tr -d ' ')"

[ "$size" -eq $((20 + code + ro + rw)) ] ||
  fail "seed image size $size does not match header sections"

printf 'seed test: ok\n'
