in cmd/run_tests/main.go [37:113]
func runTest(args Args) error {
b, err := os.ReadFile(args.SpecPath)
if err != nil {
return err
}
var s archive.Spec
if err := json.Unmarshal(b, &s); err != nil {
return err
}
transformed := strings.TrimPrefix(s.Pkg, "moby-")
transformed = strings.ToUpper(transformed)
transformed = strings.ReplaceAll(transformed, "-", "_")
pkgOs, ok := archive.OSMap[s.Distro]
if !ok {
return fmt.Errorf("unrecognized distro: %s", pkgOs)
}
pv, ok := archive.VersionMap[s.Distro]
if !ok {
return fmt.Errorf("unrecognized distro: %s", pkgOs)
}
fmt.Fprintf(os.Stderr, "%+v\n%s", s, pv)
fmt.Printf(`
DISTRO=%[1]s
TARGETARCH=%[2]s
INCLUDE_TESTING=[0]
TEST_%[3]s_COMMIT=%[4]s
TEST_%[3]s_VERSION=%[5]s-%[6]s
TEST_%[3]s_PACKAGE_VERSION=%[5]s-%[6]s.%[7]s
`,
/* 1 */ s.Distro,
/* 2 */ s.Arch,
/* 3 */ transformed,
/* 4 */ s.Commit,
/* 5 */ s.Tag,
/* 6 */ s.Revision,
/* 7 */ pv,
)
tagRevision := fmt.Sprintf("%s-%s", s.Tag, s.Revision)
pkgVer := fmt.Sprintf("%s.%s", tagRevision, pv)
if pkgOs == debian || pkgOs == ubuntu {
pkgVer = fmt.Sprintf("%[1]s-%[2]s%[3]su%[4]s",
/* 1 */ s.Tag,
/* 2 */ pkgOs,
/* 3 */ pv,
/* 4 */ s.Revision,
)
}
runMake, err := exec.LookPath(makebin)
if err != nil {
return err
}
cmd := exec.Command(runMake, "test", fmt.Sprintf("OUTPUT=%s", args.BundleDirPath))
cmd.Env = append(cmd.Env, fmt.Sprintf("DISTRO=%s", s.Distro))
cmd.Env = append(cmd.Env, fmt.Sprintf("TARGETARCH=%s", s.Arch))
cmd.Env = append(cmd.Env, "INCLUDE_TESTING=0")
cmd.Env = append(cmd.Env, fmt.Sprintf("TEST_%s_COMMIT=%s", transformed, s.Commit))
cmd.Env = append(cmd.Env, fmt.Sprintf("TEST_%s_VERSION=%s", transformed, tagRevision))
cmd.Env = append(cmd.Env, fmt.Sprintf("TEST_%s_PACKAGE_VERSION=%s", transformed, pkgVer))
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
if err := cmd.Run(); err != nil {
return err
}
return nil
}