summaryrefslogtreecommitdiff
path: root/settings/settings_test.go
diff options
context:
space:
mode:
authorCarlos Martín Nieto <[email protected]>2014-04-01 12:43:28 +0200
committerCarlos Martín Nieto <[email protected]>2014-04-01 12:43:28 +0200
commitfa41ce8575cc277ef2b4790c34657a50fa181bff (patch)
tree48c5387770a3d4bcb6b4e43125d37271a9d7b589 /settings/settings_test.go
parent1b4962cafe384148c4aed89b76e7edaa12ed9291 (diff)
parentb2a2a279d96890c9578370ec4db50c1da31f18d7 (diff)
Merge pull request #73 from libgit2/cmn/settings
Add a settings package
Diffstat (limited to 'settings/settings_test.go')
-rw-r--r--settings/settings_test.go66
1 files changed, 66 insertions, 0 deletions
diff --git a/settings/settings_test.go b/settings/settings_test.go
new file mode 100644
index 0000000..55b08c8
--- /dev/null
+++ b/settings/settings_test.go
@@ -0,0 +1,66 @@
+package settings
+
+import (
+ "testing"
+ "runtime"
+ "github.com/libgit2/git2go"
+)
+
+type pathPair struct {
+ Level git.ConfigLevel
+ Path string
+}
+
+func TestSearchPath(t *testing.T) {
+ paths := []pathPair{
+ pathPair{git.ConfigLevelSystem, "/tmp/system"},
+ pathPair{git.ConfigLevelGlobal, "/tmp/global"},
+ pathPair{git.ConfigLevelXDG, "/tmp/xdg"},
+ }
+
+ for _, pair := range paths {
+ err := SetSearchPath(pair.Level, pair.Path)
+ checkFatal(t, err)
+
+ actual, err := SearchPath(pair.Level)
+ checkFatal(t, err)
+
+ if pair.Path != actual {
+ t.Fatal("Search paths don't match")
+ }
+ }
+}
+
+func TestMmapSizes(t *testing.T) {
+ size := 42 * 1024
+
+ err := SetMwindowSize(size)
+ checkFatal(t, err)
+
+ actual, err := MwindowSize()
+ if size != actual {
+ t.Fatal("Sizes don't match")
+ }
+
+ err = SetMwindowMappedLimit(size)
+ checkFatal(t, err)
+
+ actual, err = MwindowMappedLimit()
+ if size != actual {
+ t.Fatal("Sizes don't match")
+ }
+}
+
+func checkFatal(t *testing.T, err error) {
+ if err == nil {
+ return
+ }
+
+ // The failure happens at wherever we were called, not here
+ _, file, line, ok := runtime.Caller(1)
+ if !ok {
+ t.Fatal()
+ }
+
+ t.Fatalf("Fail at %v:%v; %v", file, line, err)
+}