summaryrefslogtreecommitdiff
path: root/settings_test.go
blob: 4e45567be9d0250d46c8fd7ad2b90b22fef095d7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
package git

import (
	"testing"
)

type pathPair struct {
	Level ConfigLevel
	Path  string
}

func TestSearchPath(t *testing.T) {
	paths := []pathPair{
		pathPair{ConfigLevelSystem, "/tmp/system"},
		pathPair{ConfigLevelGlobal, "/tmp/global"},
		pathPair{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 TestEnableCaching(t *testing.T) {
	err := EnableCaching(false)
	checkFatal(t, err)

	err = EnableCaching(true)
	checkFatal(t, err)
}

func TestGetCachedMemory(t *testing.T) {
	current, allowed, err := GetCachedMemory()
	checkFatal(t, err)

	if current < 0 {
		t.Fatal("current < 0")
	}

	if allowed < 0 {
		t.Fatal("allowed < 0")
	}
}

func TestSetCacheMaxSize(t *testing.T) {
	err := SetCacheMaxSize(0)
	checkFatal(t, err)

	err = SetCacheMaxSize(1024 * 1024)
	checkFatal(t, err)

	// revert to default 256MB
	err = SetCacheMaxSize(256 * 1024 * 1024)
	checkFatal(t, err)
}