summaryrefslogtreecommitdiffstats
path: root/tests/basic/netgroup_parsing.t
blob: cf8d871f1f85d5a25449765cd114c20595e9c860 (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
#!/bin/bash

. $(dirname $0)/../include.rc
. $(dirname $0)/../volume.rc

NG_FILES=$(dirname $0)/../configfiles
cleanup;

function test_ng_1 ()
{
        glusterfsd --print-netgroups $1 | sed -n 1p
}

function test_ng_2 ()
{
        glusterfsd --print-netgroups $1 | sed -n 2p
}

function test_ng_3 ()
{
        glusterfsd --print-netgroups $1 | sed -n 3p
}

function test_ng_4 ()
{
        glusterfsd --print-netgroups $1 | sed -n 4p
}

function test_bad_ng ()
{
        glusterfsd --print-netgroups $1 2>&1 | sed -n 1p
}

function test_large_file ()
{
        # The build system needs this path for the test to pass.
        # This is an important test because this file is ~1800 lines
        # longs and is a "real-world" netgroups file.
        glusterfsd --print-netgroups ~/opsfiles/storage/netgroup/netgroup | sed -n 1p
}

function test_empty_ng ()
{
        glusterfsd --print-netgroups $1 2>&1 | sed -n 2p
}

EXPECT_KEYWORD "ng3 (dev-1763.prn-2.example.com,,)" test_ng_1 $NG_FILES/netgroups
EXPECT_KEYWORD "ng2 (dev1763.prn2.example.com,,)" test_ng_2 $NG_FILES/netgroups
EXPECT_KEYWORD "ng1 ng2 (dev1763.prn2.example.com,,)" test_ng_3 $NG_FILES/netgroups
EXPECT_KEYWORD "asdf ng1 ng2 (dev1763.prn2.example.com,,)" test_ng_4  $NG_FILES/netgroups
# TODO: get a real-world large netgroup file
#EXPECT_KEYWORD "wikipedia001.07.prn1 (wikipedia003.prn1.example.com,,)(wikipedia002.prn1.example.com,,)(wikipedia001.prn1.example.com,,)"  test_large_file
EXPECT_KEYWORD "Parse error" test_bad_ng $NG_FILES/bad_netgroups
EXPECT_KEYWORD "No netgroups were specified except for the parent" test_empty_ng $NG_FILES/bad_netgroups

cleanup;