Adds @klauspost's S2 implementation to the third party test suite. The full klauspost/compress tests are slow but we only care about the S2 sub-package. Therefore this PR also adds the option to only run a subset of the package tests, controlled by a "test" parameter in the JSON configuration. Closes #130
64 lines
1.1 KiB
Go
64 lines
1.1 KiB
Go
package thirdparty
|
|
|
|
import (
|
|
"strings"
|
|
"testing"
|
|
)
|
|
|
|
func TestPackageName(t *testing.T) {
|
|
p := Package{ImportPath: "github.com/username/repo"}
|
|
if p.Name() != "repo" {
|
|
t.Fail()
|
|
}
|
|
}
|
|
|
|
func TestPackageCloneURL(t *testing.T) {
|
|
p := Package{ImportPath: "github.com/username/repo"}
|
|
if p.CloneURL() != "https://github.com/username/repo.git" {
|
|
t.Fail()
|
|
}
|
|
}
|
|
|
|
func TestPackagesTestPath(t *testing.T) {
|
|
p := Package{}
|
|
if p.TestPath() != "./..." {
|
|
t.Fail()
|
|
}
|
|
|
|
p.Test = "./sub"
|
|
if p.TestPath() != "./sub" {
|
|
t.Fail()
|
|
}
|
|
}
|
|
|
|
func TestLoadPackages(t *testing.T) {
|
|
r := strings.NewReader(`[{"unknown_field": "value"}]`)
|
|
_, err := LoadPackages(r)
|
|
if err == nil {
|
|
t.Fatal("expected non-nil error")
|
|
}
|
|
}
|
|
|
|
func TestLoadPackagesFile(t *testing.T) {
|
|
pkgs, err := LoadPackagesFile("packages.json")
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
for _, pkg := range pkgs {
|
|
t.Log(pkg.ImportPath)
|
|
}
|
|
if len(pkgs) == 0 {
|
|
t.Fatal("no packages loaded")
|
|
}
|
|
}
|
|
|
|
func TestLoadPackagesFileNotExist(t *testing.T) {
|
|
pkgs, err := LoadPackagesFile("does_not_exist")
|
|
if pkgs != nil {
|
|
t.Fatal("expected nil return")
|
|
}
|
|
if err == nil {
|
|
t.Fatal("expected non-nil error")
|
|
}
|
|
}
|