diff options
| author | Carlos Martín Nieto <[email protected]> | 2014-03-25 00:12:32 +0100 |
|---|---|---|
| committer | Carlos Martín Nieto <[email protected]> | 2014-03-25 09:27:05 +0100 |
| commit | b2a2a279d96890c9578370ec4db50c1da31f18d7 (patch) | |
| tree | 873283e84f593d698ae44bbe0ee52637f26de42e /settings/settings_test.go | |
| parent | 2811845a1287d949a74b8ed80a5791fd8875002a (diff) | |
Add a settings package
This lets us modify the libgit2-wide options/settings.
Diffstat (limited to 'settings/settings_test.go')
| -rw-r--r-- | settings/settings_test.go | 66 |
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) +} |
