aboutsummaryrefslogtreecommitdiff
path: root/weed/util/minfreespace_test.go
diff options
context:
space:
mode:
authorChris Lu <chrislusf@users.noreply.github.com>2021-04-26 21:54:09 -0700
committerGitHub <noreply@github.com>2021-04-26 21:54:09 -0700
commit400c8ef8d88eae27a1abbef3da0badd8ef1bab6d (patch)
tree621d6f4f432cefe75c455939e084193eb7462001 /weed/util/minfreespace_test.go
parent86185262bb86e31f9a2f71e85d02df2502c7ad40 (diff)
parentcf552417a7a422d1313c53972fd1175684e758e0 (diff)
downloadseaweedfs-400c8ef8d88eae27a1abbef3da0badd8ef1bab6d.tar.xz
seaweedfs-400c8ef8d88eae27a1abbef3da0badd8ef1bab6d.zip
Merge pull request #2025 from bingoohuang/master
improvement for minFreeSpace argument
Diffstat (limited to 'weed/util/minfreespace_test.go')
-rw-r--r--weed/util/minfreespace_test.go29
1 files changed, 29 insertions, 0 deletions
diff --git a/weed/util/minfreespace_test.go b/weed/util/minfreespace_test.go
new file mode 100644
index 000000000..eec1942dd
--- /dev/null
+++ b/weed/util/minfreespace_test.go
@@ -0,0 +1,29 @@
+package util
+
+import "testing"
+
+func TestParseMinFreeSpace(t *testing.T) {
+ tests := []struct {
+ in string
+ ok bool
+ value *MinFreeSpace
+ }{
+ {in: "42", ok: true, value: &MinFreeSpace{Type: AsPercent, Percent: 42, Raw: "42"}},
+ {in: "-1", ok: false, value: nil},
+ {in: "101", ok: false, value: nil},
+ {in: "100B", ok: false, value: nil},
+ {in: "100Ki", ok: true, value: &MinFreeSpace{Type: AsBytes, Bytes: 100 * 1024, Raw: "100Ki"}},
+ {in: "100GiB", ok: true, value: &MinFreeSpace{Type: AsBytes, Bytes: 100 * 1024 * 1024 * 1024, Raw: "100GiB"}},
+ {in: "42M", ok: true, value: &MinFreeSpace{Type: AsBytes, Bytes: 42 * 1000 * 1000, Raw: "42M"}},
+ }
+
+ for _, p := range tests {
+ got, err := ParseMinFreeSpace(p.in)
+ if p.ok != (err == nil) {
+ t.Errorf("failed to test %v", p.in)
+ }
+ if p.ok && err == nil && *got != *p.value {
+ t.Errorf("failed to test %v", p.in)
+ }
+ }
+}