diff options
author | Sean E. Russell <ser@ser1.net> | 2020-02-17 11:40:16 -0600 |
---|---|---|
committer | Sean E. Russell <ser@ser1.net> | 2020-02-17 11:40:16 -0600 |
commit | 2a533986815836ac65c2b03d1f9c4c508e5b98a9 (patch) | |
tree | 03d18ab237434820066eb82025f539ce1bfdbc56 /config_test.go | |
parent | 3fc3d1e18ed1f80444d037f34769841f4a7e37d9 (diff) | |
parent | 10e3b7afbc53fe68b3c9ec0dd8ddff4e15fba9e4 (diff) |
Adds log rotation, config file support, and refactoring. Colorschemes are self-registered. Merge remote-tracking branch 'jrswab/configFile111' into config_file; drastically refactored, and am not sure how much original code from the patch was used.
Diffstat (limited to 'config_test.go')
-rw-r--r-- | config_test.go | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/config_test.go b/config_test.go new file mode 100644 index 0000000..329ef75 --- /dev/null +++ b/config_test.go @@ -0,0 +1,87 @@ +package gotop + +import ( + "strings" + "testing" + "time" + + "github.com/stretchr/testify/assert" + "github.com/xxxserxxx/gotop/widgets" +) + +func TestParse(t *testing.T) { + tests := []struct { + i string + f func(c Config, e error) + }{ + { + i: "logdir", + f: func(c Config, e error) { + assert.Error(t, e, "invalid config syntax") + }, + }, + { + i: "logdir=foo=bar", + f: func(c Config, e error) { + assert.NotNil(t, e) + }, + }, + { + i: "foo=bar", + f: func(c Config, e error) { + assert.NotNil(t, e) + }, + }, + { + i: "configdir=abc\nlogdir=bar\nlogfile=errors", + f: func(c Config, e error) { + assert.Nil(t, e, "unexpected error") + assert.Equal(t, "abc", c.ConfigDir) + assert.Equal(t, "bar", c.LogDir) + assert.Equal(t, "errors", c.LogFile) + }, + }, + { + i: "CONFIGDIR=abc\nloGdir=bar\nlogFILe=errors", + f: func(c Config, e error) { + assert.Nil(t, e, "unexpected error") + assert.Equal(t, "abc", c.ConfigDir) + assert.Equal(t, "bar", c.LogDir) + assert.Equal(t, "errors", c.LogFile) + }, + }, + { + i: "graphhorizontalscale=a", + f: func(c Config, e error) { + assert.Error(t, e, "expected invalid value for graphhorizontalscale") + }, + }, + { + i: "helpvisible=a", + f: func(c Config, e error) { + assert.Error(t, e, "expected invalid value for helpvisible") + }, + }, + { + i: "helpvisible=true\nupdateinterval=30\naveragecpu=true\nPerCPULoad=true\ntempscale=100\nstatusbar=true\nnetinterface=eth0\nlayout=minimal\nmaxlogsize=200", + f: func(c Config, e error) { + assert.Nil(t, e, "unexpected error") + assert.Equal(t, true, c.HelpVisible) + assert.Equal(t, time.Duration(30), c.UpdateInterval) + assert.Equal(t, true, c.AverageLoad) + assert.Equal(t, true, c.PercpuLoad) + assert.Equal(t, widgets.TempScale(100), c.TempScale) + assert.Equal(t, true, c.Statusbar) + assert.Equal(t, "eth0", c.NetInterface) + assert.Equal(t, "minimal", c.Layout) + assert.Equal(t, int64(200), c.MaxLogSize) + }, + }, + } + for _, tc := range tests { + in := strings.NewReader(tc.i) + c := Config{} + e := Parse(in, &c) + tc.f(c, e) + } +} |