version_test.go 711 B

123456789101112131415161718192021222324252627282930313233
  1. // Copyright (c) Tailscale Inc & AUTHORS
  2. // SPDX-License-Identifier: BSD-3-Clause
  3. package tailscaleroot
  4. import (
  5. "fmt"
  6. "os"
  7. "regexp"
  8. "strings"
  9. "testing"
  10. )
  11. func TestDockerfileVersion(t *testing.T) {
  12. goMod, err := os.ReadFile("go.mod")
  13. if err != nil {
  14. t.Fatal(err)
  15. }
  16. m := regexp.MustCompile(`(?m)^go (\d\.\d+)\r?$`).FindStringSubmatch(string(goMod))
  17. if m == nil {
  18. t.Fatalf("didn't find go version in go.mod")
  19. }
  20. goVersion := m[1]
  21. dockerFile, err := os.ReadFile("Dockerfile")
  22. if err != nil {
  23. t.Fatal(err)
  24. }
  25. wantSub := fmt.Sprintf("FROM golang:%s-alpine AS build-env", goVersion)
  26. if !strings.Contains(string(dockerFile), wantSub) {
  27. t.Errorf("didn't find %q in Dockerfile", wantSub)
  28. }
  29. }