12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- package mod
- import (
- "runtime/debug"
- "testing"
- )
- func TestModuleVersion(t *testing.T) {
- tests := []struct {
- name string
- module string
- biContent string
- wantVersion string
- }{
- {
- name: "returns empty string if build information not available",
- biContent: `
- go go1.20.3
- path github.com/docker/docker/builder/builder-next/worker
- mod github.com/docker/docker (devel)
- `,
- module: "github.com/moby/buildkit",
- wantVersion: "",
- },
- {
- name: "returns the version of buildkit dependency",
- biContent: `
- go go1.20.3
- path github.com/docker/docker/builder/builder-next/worker
- mod github.com/docker/docker (devel)
- dep github.com/moby/buildkit v0.11.5 h1:JZvvWzulcnA2G4c/gJiSIqKDUoBjctYw2WMuS+XJexU=
- `,
- module: "github.com/moby/buildkit",
- wantVersion: "v0.11.5",
- },
- {
- name: "returns the replaced version of buildkit dependency",
- biContent: `
- go go1.20.3
- path github.com/docker/docker/builder/builder-next/worker
- mod github.com/docker/docker (devel)
- dep github.com/moby/buildkit v0.11.5 h1:JZvvWzulcnA2G4c/gJiSIqKDUoBjctYw2WMuS+XJexU=
- => github.com/moby/buildkit v0.12.0 h1:3YO8J4RtmG7elEgaWMb4HgmpS2CfY1QlaOz9nwB+ZSs=
- `,
- module: "github.com/moby/buildkit",
- wantVersion: "v0.12.0",
- },
- {
- name: "returns the base version of pseudo version",
- biContent: `
- go go1.20.3
- path github.com/docker/docker/builder/builder-next/worker
- mod github.com/docker/docker (devel)
- dep github.com/moby/buildkit v0.10.7-0.20230306143919-70f2ad56d3e5 h1:JZvvWzulcnA2G4c/gJiSIqKDUoBjctYw2WMuS+XJexU=
- `,
- module: "github.com/moby/buildkit",
- wantVersion: "v0.10.6+70f2ad56d3e5",
- },
- }
- for _, tt := range tests {
- tt := tt
- t.Run(tt.name, func(t *testing.T) {
- bi, err := debug.ParseBuildInfo(tt.biContent)
- if err != nil {
- t.Fatalf("failed to parse build info: %v", err)
- }
- if gotVersion := moduleVersion(tt.module, bi); gotVersion != tt.wantVersion {
- t.Errorf("moduleVersion() = %v, want %v", gotVersion, tt.wantVersion)
- }
- })
- }
- }
|