server: Validate server arguments for duplicates. (#2554)

- Validates invalid format inputs.
- Validates duplicate entries.
- Validates sufficient amount of disks.

Partially fixes #2502
This commit is contained in:
Harshavardhana
2016-08-26 00:11:53 -07:00
parent 339425fd52
commit 780ccc26f7
10 changed files with 216 additions and 71 deletions

View File

@@ -130,8 +130,21 @@ func TestNewXL(t *testing.T) {
erasureDisks = append(erasureDisks, disk)
defer removeAll(disk)
}
// No disks input.
_, err := newXLObjects(nil, nil)
if err != errInvalidArgument {
t.Fatalf("Unable to initialize erasure, %s", err)
}
// Initializes all erasure disks
_, err := newXLObjects(erasureDisks, nil)
_, err = newXLObjects(erasureDisks, nil)
if err != nil {
t.Fatalf("Unable to initialize erasure, %s", err)
}
// Initializes all erasure disks, ignoring first two.
_, err = newXLObjects(erasureDisks, erasureDisks[:2])
if err != nil {
t.Fatalf("Unable to initialize erasure, %s", err)
}