forked from TrueCloudLab/distribution
b65a4a8713
This ensures that rados is not required when building the registry. This was slightly tricky in that when the flags were applied, the rados package was completely missing. This led to a problem where rados was basically unlistable and untestable as a package. This was fixed by simply adding a doc.go file that is included whether rados is built or not. Signed-off-by: Stephen J Day <stephen.day@docker.com>
40 lines
790 B
Go
40 lines
790 B
Go
// +build include_rados
|
|
|
|
package rados
|
|
|
|
import (
|
|
"os"
|
|
"testing"
|
|
|
|
storagedriver "github.com/docker/distribution/registry/storage/driver"
|
|
"github.com/docker/distribution/registry/storage/driver/testsuites"
|
|
|
|
"gopkg.in/check.v1"
|
|
)
|
|
|
|
// Hook up gocheck into the "go test" runner.
|
|
func Test(t *testing.T) { check.TestingT(t) }
|
|
|
|
func init() {
|
|
poolname := os.Getenv("RADOS_POOL")
|
|
username := os.Getenv("RADOS_USER")
|
|
|
|
driverConstructor := func() (storagedriver.StorageDriver, error) {
|
|
parameters := DriverParameters{
|
|
poolname,
|
|
username,
|
|
defaultChunkSize,
|
|
}
|
|
|
|
return New(parameters)
|
|
}
|
|
|
|
skipCheck := func() string {
|
|
if poolname == "" {
|
|
return "RADOS_POOL must be set to run Rado tests"
|
|
}
|
|
return ""
|
|
}
|
|
|
|
testsuites.RegisterInProcessSuite(driverConstructor, skipCheck)
|
|
}
|