38 lines
1009 B
Go
38 lines
1009 B
Go
package main
|
|
|
|
import (
|
|
"os"
|
|
"strings"
|
|
"testing"
|
|
|
|
"git.novox.be/novox/mesh-catalog/checks/trunk"
|
|
)
|
|
|
|
// Issue 774 (ADR 0549 §3, §6; the comparison of novox/hq ADR 0529 clause 2): the list of modules still reading the
|
|
// controller's assignments gains none the trunk's copy at the merge base does not hold. Its first copy gains nothing.
|
|
func TestTheAssignmentsReadersListGainsNoModuleTheTrunksDoesNot(t *testing.T) {
|
|
path, ok := trunk.Copy(t, Allowed)
|
|
if !ok {
|
|
return
|
|
}
|
|
names := func(path string) map[string]bool {
|
|
raw, err := os.ReadFile(path)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
out := map[string]bool{}
|
|
for _, line := range strings.Split(string(raw), "\n") {
|
|
if f := strings.Fields(line); len(f) > 0 && !strings.HasPrefix(f[0], "#") {
|
|
out[f[0]] = true
|
|
}
|
|
}
|
|
return out
|
|
}
|
|
base := names(path)
|
|
for module := range names("../../" + Allowed) {
|
|
if !base[module] {
|
|
t.Errorf("%s gains %s, which the trunk's copy does not hold: the list only shrinks", Allowed, module)
|
|
}
|
|
}
|
|
}
|