commit b4475aea9cd0e4bd607a25c43b85bd71520290ec
parent edbda75f2515581e80b2ae102704d87158ecbf7a
Author: gearsix <gearsix@tuta.io>
Date: Fri, 18 Mar 2022 16:55:52 +0000
updated tests; regressed to go1.13 compatibility (pia)
Diffstat:
7 files changed, 102 insertions(+), 63 deletions(-)
diff --git a/config_test.go b/config_test.go
@@ -12,7 +12,10 @@ import (
func TestNewConfigFromFile(test *testing.T) {
test.Parallel()
- tdir := test.TempDir()
+ tdir := filepath.Join(os.TempDir(), "pagr_test", "TestNewConfigFromFile")
+ if err := os.MkdirAll(tdir, 0775); err != nil {
+ test.Errorf("failed to create temporary test dir: %s", tdir)
+ }
cfgp := fmt.Sprintf("%s/%s.toml", tdir, Name)
if f, err := os.Create(cfgp); err != nil {
@@ -42,4 +45,8 @@ func TestNewConfigFromFile(test *testing.T) {
} else {
test.Fatal(err)
}
+
+ if err := os.RemoveAll(tdir); err != nil {
+ test.Error(err)
+ }
}
diff --git a/content_test.go b/content_test.go
@@ -2,22 +2,33 @@ package main
import (
"os"
+ "path/filepath"
+ "io/ioutil"
"testing"
)
-func TestLoadContentsDir(test *testing.T) {
+func TestLoadContentDir(test *testing.T) {
+ test.Parallel()
+
var err error
- tdir := test.TempDir()
+ tdir := filepath.Join(os.TempDir(), "pagr_test_TestLoadContentDir")
+ if err := os.MkdirAll(tdir, 0775); err != nil {
+ test.Errorf("failed to create temporary test dir: %s", tdir)
+ }
if err = createTestContents(tdir); err != nil {
test.Errorf("failed to create test content: %s", err)
}
var p []Page
- if p, err = LoadContentsDir(tdir); err != nil {
- test.Fatalf("LoadContentsDir failed: %s", err)
+ if p, err = LoadContentDir(tdir); err != nil {
+ test.Fatalf("LoadContentDir failed: %s", err)
}
validateTestPages(test, p, err)
+
+ if err = os.RemoveAll(tdir); err != nil {
+ test.Error(err)
+ }
}
func TestNewContentFromFile(test *testing.T) {
@@ -32,13 +43,16 @@ func TestNewContentFromFile(test *testing.T) {
"html": `<b>test</b>`,
}
- tdir := test.TempDir()
+ tdir := filepath.Join(os.TempDir(), "pagr_test", "TestNewContentFromFile")
+ if err := os.MkdirAll(tdir, 0775); err != nil {
+ test.Errorf("failed to create temporary test dir: %s", tdir)
+ }
contentsPath := func(ftype string) string {
return tdir + "/test." + ftype
}
for ftype, data := range contents {
- if err = os.WriteFile(contentsPath(ftype), []byte(data), 0666); err != nil {
+ if err = ioutil.WriteFile(contentsPath(ftype), []byte(data), 0666); err != nil {
test.Error("TestNewContentFromFile setup failed:", err)
}
}
@@ -49,4 +63,8 @@ func TestNewContentFromFile(test *testing.T) {
test.Fatal("NewContentFromFile failed for", ftype, err)
}
}
+
+ if err = os.RemoveAll(tdir); err != nil {
+ test.Error(err)
+ }
}
diff --git a/copy_test.go b/copy_test.go
@@ -2,6 +2,7 @@ package main
import (
"os"
+ "io/ioutil"
"path/filepath"
"testing"
)
@@ -9,12 +10,15 @@ import (
func TestCopyFile(test *testing.T) {
test.Parallel()
- tdir := test.TempDir()
+ tdir := filepath.Join(os.TempDir(), "pagr_test", "TestCopyFile")
+ if err := os.MkdirAll(tdir, 0775); err != nil {
+ test.Errorf("failed to create temporary test dir: %s", tdir)
+ }
src := filepath.Join(tdir, "/src")
srcData := []byte("data")
dst := filepath.Join(tdir, "/dst")
- if err := os.WriteFile(src, srcData, 0666); err != nil {
+ if err := ioutil.WriteFile(src, srcData, 0666); err != nil {
test.Error("setup failed, could not write", tdir+"/src")
}
@@ -25,11 +29,15 @@ func TestCopyFile(test *testing.T) {
test.Fatalf("could not stat '%s'", dst)
}
- if buf, err := os.ReadFile(dst); err != nil {
+ if buf, err := ioutil.ReadFile(dst); err != nil {
test.Errorf("could not read '%s'", dst)
} else if len(buf) < len(srcData) {
test.Fatalf("not all srcData (%s) copied to '%s' (%s)", srcData, dst, buf)
} else if string(buf) != string(srcData) {
test.Fatalf("copied srcData (%s) does not match source (%s)", buf, srcData)
}
+
+ if err := os.RemoveAll(tdir); err != nil {
+ test.Error(err)
+ }
}
diff --git a/page_test.go b/page_test.go
@@ -3,6 +3,7 @@ package main
import (
"notabug.org/gearsix/suti"
"os"
+ "io/ioutil"
"path/filepath"
"testing"
"time"
@@ -75,39 +76,14 @@ func TestTemplateName(test *testing.T) {
}
}
-func TestCopyAssets(test *testing.T) {
- test.Parallel()
-
- var p Page
- src := []string{"1", "2", "3", "4"}
-
- srcDir := test.TempDir()
- for _, fname := range src {
- p.Assets = append(p.Assets, fname)
- path := filepath.Join(srcDir, fname)
- if f, err := os.Create(path); err != nil {
- test.Fatalf("failed to create source file '%s'", path)
- } else {
- f.Close()
- }
- }
-
- dstDir := test.TempDir()
- if err := p.CopyAssets(srcDir, dstDir); err != nil {
- test.Fatal("CopyAssets failed", err)
- }
- for _, fname := range src {
- if _, err := os.Stat(dstDir + "/" + fname); err != nil {
- test.Fatal("missing file", dstDir+"/"+fname)
- }
- }
-}
-
func TestBuild(test *testing.T) {
test.Parallel()
var err error
- tdir := test.TempDir()
+ tdir := filepath.Join(os.TempDir(), "pagr_test", "TestBuild")
+ if err := os.MkdirAll(tdir, 0775); err != nil {
+ test.Errorf("failed to create temporary test dir: %s", tdir)
+ }
p := NewPage("/test", time.Now())
t, err := suti.LoadTemplateString("tmpl", "test", `{{.Meta.Title}} {{template "p" .}}`, map[string]string{"p": "p"})
if err != nil {
@@ -119,10 +95,14 @@ func TestBuild(test *testing.T) {
test.Fatal(err)
}
var fbuf []byte
- if fbuf, err = os.ReadFile(fpath); err != nil {
+ if fbuf, err = ioutil.ReadFile(fpath); err != nil {
test.Fatal(err)
}
if string(fbuf) != "Test p" {
test.Fatalf("invalid result parsed: '%s', expected: 'Test p'", string(fbuf))
}
+
+ if err := os.RemoveAll(tdir); err != nil {
+ test.Error(err)
+ }
}
diff --git a/pagr_test.go b/pagr_test.go
@@ -3,6 +3,7 @@ package main
import (
"fmt"
"os"
+ "io/ioutil"
"path/filepath"
"testing"
"time"
@@ -17,20 +18,18 @@ var templates = map[string]string{ // [ext]template
func createTestTemplates(dir string) (err error) {
writef := func(path, data string) {
if err == nil {
- err = os.WriteFile(path, []byte(data), 0644)
+ err = ioutil.WriteFile(path, []byte(data), 0644)
}
}
for ext, data := range templates {
- writef(fmt.Sprintf("%s/root.%s", dir, ext), data)
- writef(fmt.Sprintf("%s/root.ignore.%s", dir, ext), data)
- writef(fmt.Sprintf("%s/root.%s.ignore", dir, ext), data)
+ writef(filepath.Join(dir, fmt.Sprintf("root.%s", ext)), data)
+ writef(filepath.Join(dir, fmt.Sprintf("root.ignore.%s", ext)), data)
+ writef(filepath.Join(dir, fmt.Sprintf("root.%s.ignore", ext)), data)
- pdir := filepath.Join(dir, ext)
- err = os.Mkdir(pdir, 0755)
- writef(fmt.Sprintf("%s/partial.%s", pdir, ext), data)
- writef(fmt.Sprintf("%s/partial.ignore.%s", pdir, ext), data)
- writef(fmt.Sprintf("%s/partial.%s.ignore", pdir, ext), data)
+ writef(filepath.Join(dir, fmt.Sprintf("partial.%s", ext)), data)
+ writef(filepath.Join(dir, fmt.Sprintf("partial.ignore.%s", ext)), data)
+ writef(filepath.Join(dir, fmt.Sprintf("partial.%s.ignore", ext)), data)
if err != nil {
break
@@ -106,7 +105,7 @@ var asset = []byte{ // 5x5 black png image
func createTestContents(dir string) (err error) {
writef := func(path, data string) {
if err == nil {
- err = os.WriteFile(path, []byte(data), 0644)
+ err = ioutil.WriteFile(path, []byte(data), 0644)
}
}
@@ -114,7 +113,10 @@ func createTestContents(dir string) (err error) {
if l == 0 {
writef(fmt.Sprintf("%s/defaults.json", dir), "{ \"default\": \"data\" }")
} else if l > 1 {
- dir, err = os.MkdirTemp(dir, "page")
+ dir = filepath.Join(dir, lang)
+ if err := os.MkdirAll(dir, 0775); err != nil {
+ fmt.Errorf("failed to create temporary test dir '%s': %s", dir, err)
+ }
}
writef(fmt.Sprintf("%s/.page.toml", dir), "page = \"data\"")
writef(fmt.Sprintf("%s/body%d%s", dir, l, lang), contents[lang])
diff --git a/sitemap_test.go b/sitemap_test.go
@@ -1,39 +1,55 @@
package main
import (
+ "os"
"testing"
+ "path/filepath"
)
func TestBuildCrumbs(test *testing.T) {
var err error
- tdir := test.TempDir()
+ tdir := filepath.Join(os.TempDir(), "pagr_test", "TestBuildCrumbs")
+ if err := os.MkdirAll(tdir, 0775); err != nil {
+ test.Errorf("failed to create temporary test dir: %s", tdir)
+ }
if err = createTestContents(tdir); err != nil {
test.Errorf("failed to create test content: %s", err)
}
- // TODO fix laziness below, just dups TestLoadContentsDir
+ // TODO fix laziness below, just dups TestLoadContentDir
var p []Page
- if p, err = LoadContentsDir(tdir); err != nil {
- test.Errorf("LoadContentsDir failed: %s", err)
+ if p, err = LoadContentDir(tdir); err != nil {
+ test.Errorf("LoadContentDir failed: %s", err)
}
validateTestPagesNav(test, p)
+
+ if err = os.RemoveAll(tdir); err != nil {
+ test.Error(err)
+ }
}
func TestBuildSitemap(test *testing.T) {
var err error
- tdir := test.TempDir()
+ tdir := filepath.Join(os.TempDir(), "pagr_test", "TestBuildSitemap")
+ if err := os.MkdirAll(tdir, 0775); err != nil {
+ test.Errorf("failed to create temporary test dir: %s", tdir)
+ }
if err = createTestContents(tdir); err != nil {
test.Errorf("failed to create test content: %s", err)
}
- // TODO fix laziness below, just dups TestLoadContentsDir
+ // TODO fix laziness below, just dups TestLoadContentDir
var p []Page
- if p, err = LoadContentsDir(tdir); err != nil {
- test.Errorf("LoadContentsDir failed: %s", err)
- }
+ if p, err = LoadContentDir(tdir); err != nil {
+ test.Errorf("LoadContentDir failed: %s", err)
+ }
validateTestPagesNav(test, p)
+
+ if err = os.RemoveAll(tdir); err != nil {
+ test.Error(err)
+ }
}
diff --git a/template_test.go b/template_test.go
@@ -1,16 +1,20 @@
package main
import (
+ "os"
"testing"
+ "path/filepath"
)
func TestLoadTemplateDir(t *testing.T) {
t.Parallel()
- tdir := t.TempDir()
+ tdir := filepath.Join(os.TempDir(), "pagr_test", "TestLoadTemplateDir")
+ if err := os.MkdirAll(tdir, 0775); err != nil {
+ t.Errorf("failed to create temporary test dir: %s", tdir)
+ }
- var err error
- if err = createTestTemplates(tdir); err != nil {
+ if err := createTestTemplates(tdir); err != nil {
t.Errorf("failed to create test templates: %s", err)
}
@@ -22,4 +26,8 @@ func TestLoadTemplateDir(t *testing.T) {
t.Fatalf("number of returned templates is %d (should be %d)",
len(tmpls), len(templates))
}
+
+ if err = os.RemoveAll(tdir); err != nil {
+ t.Error(err)
+ }
}