cleanup: simplify parser_test

parser_test only needed the directory-names for
the tests to run. This replaces f.Readdir() with
f.Readdirnames() to only return the names.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
Sebastiaan van Stijn 2015-03-10 00:55:00 +01:00
parent feb02a2bbf
commit 9e63b0d0f9
1 changed files with 11 additions and 11 deletions

View File

@ -11,7 +11,7 @@ import (
const testDir = "testfiles" const testDir = "testfiles"
const negativeTestDir = "testfiles-negative" const negativeTestDir = "testfiles-negative"
func getDirs(t *testing.T, dir string) []os.FileInfo { func getDirs(t *testing.T, dir string) []string {
f, err := os.Open(dir) f, err := os.Open(dir)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
@ -19,7 +19,7 @@ func getDirs(t *testing.T, dir string) []os.FileInfo {
defer f.Close() defer f.Close()
dirs, err := f.Readdir(0) dirs, err := f.Readdirnames(0)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
@ -29,16 +29,16 @@ func getDirs(t *testing.T, dir string) []os.FileInfo {
func TestTestNegative(t *testing.T) { func TestTestNegative(t *testing.T) {
for _, dir := range getDirs(t, negativeTestDir) { for _, dir := range getDirs(t, negativeTestDir) {
dockerfile := filepath.Join(negativeTestDir, dir.Name(), "Dockerfile") dockerfile := filepath.Join(negativeTestDir, dir, "Dockerfile")
df, err := os.Open(dockerfile) df, err := os.Open(dockerfile)
if err != nil { if err != nil {
t.Fatalf("Dockerfile missing for %s: %s", dir.Name(), err.Error()) t.Fatalf("Dockerfile missing for %s: %s", dir, err.Error())
} }
_, err = Parse(df) _, err = Parse(df)
if err == nil { if err == nil {
t.Fatalf("No error parsing broken dockerfile for %s", dir.Name()) t.Fatalf("No error parsing broken dockerfile for %s", dir)
} }
df.Close() df.Close()
@ -47,29 +47,29 @@ func TestTestNegative(t *testing.T) {
func TestTestData(t *testing.T) { func TestTestData(t *testing.T) {
for _, dir := range getDirs(t, testDir) { for _, dir := range getDirs(t, testDir) {
dockerfile := filepath.Join(testDir, dir.Name(), "Dockerfile") dockerfile := filepath.Join(testDir, dir, "Dockerfile")
resultfile := filepath.Join(testDir, dir.Name(), "result") resultfile := filepath.Join(testDir, dir, "result")
df, err := os.Open(dockerfile) df, err := os.Open(dockerfile)
if err != nil { if err != nil {
t.Fatalf("Dockerfile missing for %s: %s", dir.Name(), err.Error()) t.Fatalf("Dockerfile missing for %s: %s", dir, err.Error())
} }
defer df.Close() defer df.Close()
ast, err := Parse(df) ast, err := Parse(df)
if err != nil { if err != nil {
t.Fatalf("Error parsing %s's dockerfile: %s", dir.Name(), err.Error()) t.Fatalf("Error parsing %s's dockerfile: %s", dir, err.Error())
} }
content, err := ioutil.ReadFile(resultfile) content, err := ioutil.ReadFile(resultfile)
if err != nil { if err != nil {
t.Fatalf("Error reading %s's result file: %s", dir.Name(), err.Error()) t.Fatalf("Error reading %s's result file: %s", dir, err.Error())
} }
if ast.Dump()+"\n" != string(content) { if ast.Dump()+"\n" != string(content) {
fmt.Fprintln(os.Stderr, "Result:\n"+ast.Dump()) fmt.Fprintln(os.Stderr, "Result:\n"+ast.Dump())
fmt.Fprintln(os.Stderr, "Expected:\n"+string(content)) fmt.Fprintln(os.Stderr, "Expected:\n"+string(content))
t.Fatalf("%s: AST dump of dockerfile does not match result", dir.Name()) t.Fatalf("%s: AST dump of dockerfile does not match result", dir)
} }
} }
} }