27 lines
667 B
Go
27 lines
667 B
Go
package telemetry
|
|
|
|
import (
|
|
"os/exec"
|
|
"strings"
|
|
"testing"
|
|
)
|
|
|
|
func TestTelemetryDependencyGraph(t *testing.T) {
|
|
output, err := exec.Command("go", "list", "-deps", "gpt-load/internal/telemetry").CombinedOutput()
|
|
if err != nil {
|
|
t.Fatalf("go list -deps telemetry: %v\n%s", err, output)
|
|
}
|
|
for _, dependency := range strings.Fields(string(output)) {
|
|
for _, denied := range []string{
|
|
"gpt-load/internal/storage",
|
|
"gpt-load/internal/control",
|
|
"gorm.io/gorm",
|
|
"github.com/gin-gonic/gin",
|
|
} {
|
|
if dependency == denied || strings.HasPrefix(dependency, denied+"/") {
|
|
t.Fatalf("telemetry depends on forbidden package %s", dependency)
|
|
}
|
|
}
|
|
}
|
|
}
|