summaryrefslogtreecommitdiff
path: root/settings
diff options
context:
space:
mode:
authorCarlos Martín Nieto <[email protected]>2014-06-07 18:33:09 +0200
committerCarlos Martín Nieto <[email protected]>2014-06-07 18:57:46 +0200
commit12a3a1e05c03fdc9767ef62e5ff9e0d677946525 (patch)
tree0bcdb684f1aa161dead4eb36cc1644554666fda3 /settings
parentaabeb7f585da1cf966191886eab732db0020a41a (diff)
Move the settings into the main git2go
Diffstat (limited to 'settings')
-rw-r--r--settings/settings.go108
-rw-r--r--settings/settings_test.go66
2 files changed, 0 insertions, 174 deletions
diff --git a/settings/settings.go b/settings/settings.go
deleted file mode 100644
index a7f96c7..0000000
--- a/settings/settings.go
+++ /dev/null
@@ -1,108 +0,0 @@
-package settings
-
-/*
-#include <git2.h>
-
-int _go_git_opts_get_search_path(int level, git_buf *buf)
-{
- return git_libgit2_opts(GIT_OPT_GET_SEARCH_PATH, level, buf);
-}
-
-int _go_git_opts_set_search_path(int level, const char *path)
-{
- return git_libgit2_opts(GIT_OPT_SET_SEARCH_PATH, level, path);
-}
-
-int _go_git_opts_set_size_t(int opt, size_t val)
-{
- return git_libgit2_opts(opt, val);
-}
-
-int _go_git_opts_get_size_t(int opt, size_t *val)
-{
- return git_libgit2_opts(opt, val);
-}
-
-*/
-import "C"
-import (
- "runtime"
- "unsafe"
- "github.com/libgit2/git2go"
-)
-
-func MakeGitError(err C.int) error {
- return git.MakeGitError2(int(err))
-}
-
-func SearchPath(level git.ConfigLevel) (string, error) {
- var buf C.git_buf
- defer C.git_buf_free(&buf)
-
- runtime.LockOSThread()
- defer runtime.UnlockOSThread()
-
- err := C._go_git_opts_get_search_path(C.int(level), &buf)
- if err < 0 {
- return "", MakeGitError(err)
- }
-
- return C.GoString(buf.ptr), nil
-}
-
-func SetSearchPath(level git.ConfigLevel, path string) error {
- cpath := C.CString(path)
- defer C.free(unsafe.Pointer(cpath))
-
- runtime.LockOSThread()
- defer runtime.UnlockOSThread()
-
- err := C._go_git_opts_set_search_path(C.int(level), cpath)
- if err < 0 {
- return MakeGitError(err)
- }
-
- return nil
-}
-
-func getSizet(opt C.int) (int, error) {
- runtime.LockOSThread()
- defer runtime.UnlockOSThread()
-
- var val C.size_t
- err := C._go_git_opts_get_size_t(opt, &val);
- if err < 0 {
- return 0, MakeGitError(err)
- }
-
- return int(val), nil
-}
-
-func setSizet(opt C.int, val int) error {
- runtime.LockOSThread()
- defer runtime.UnlockOSThread()
-
- cval := C.size_t(val)
- err := C._go_git_opts_set_size_t(opt, cval);
- if err < 0 {
- return MakeGitError(err)
- }
-
- return nil
-}
-
-func MwindowSize() (int, error) {
- return getSizet(C.GIT_OPT_GET_MWINDOW_SIZE)
-}
-
-func SetMwindowSize(size int) error {
- return setSizet(C.GIT_OPT_SET_MWINDOW_SIZE, size)
-}
-
-func MwindowMappedLimit() (int, error) {
- return getSizet(C.GIT_OPT_GET_MWINDOW_MAPPED_LIMIT)
-}
-
-func SetMwindowMappedLimit(size int) error {
- return setSizet(C.GIT_OPT_SET_MWINDOW_MAPPED_LIMIT, size)
-}
diff --git a/settings/settings_test.go b/settings/settings_test.go
deleted file mode 100644
index 55b08c8..0000000
--- a/settings/settings_test.go
+++ /dev/null
@@ -1,66 +0,0 @@
-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)
-}