e2e/framework: absolute test file paths

Tests might want to use there own options for specifying a file path,
while still using the abstract file access API. For example,
framework.CreateFromManifests might be used to create a mixture of
files under the repo root and from elsewhere. To support this,
absolute paths can now be given to the testfiles package and they will
be read directly.
pull/564/head
Patrick Ohly 2018-12-03 18:57:11 +01:00
parent dc9261bc3b
commit 1103477335
1 changed files with 9 additions and 2 deletions

View File

@ -129,9 +129,16 @@ type RootFileSource struct {
}
// ReadTestFile looks for the file relative to the configured
// root directory.
// root directory. If the path is already absolute, for example
// in a test that has its own method of determining where
// files are, then the path will be used directly.
func (r RootFileSource) ReadTestFile(filePath string) ([]byte, error) {
fullPath := filepath.Join(r.Root, filePath)
var fullPath string
if path.IsAbs(filePath) {
fullPath = filePath
} else {
fullPath = filepath.Join(r.Root, filePath)
}
data, err := ioutil.ReadFile(fullPath)
if os.IsNotExist(err) {
// Not an error (yet), some other provider may have the file.