-
Notifications
You must be signed in to change notification settings - Fork 58
/
Copy pathfile_flags_test.go
91 lines (89 loc) · 1.78 KB
/
file_flags_test.go
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
84
85
86
87
88
89
90
91
package rpmdb
import (
"github.com/stretchr/testify/assert"
"testing"
)
func TestFormatFileFlags(t *testing.T) {
tests := []struct {
flags FileFlags
expected string
}{
// empty
{
flags: 0,
expected: "",
},
// check that the formatting works relative to the configured bits
{
flags: FileFlags(RPMFILE_CONFIG),
expected: "c",
},
{
flags: FileFlags(RPMFILE_DOC),
expected: "d",
},
{
flags: FileFlags(RPMFILE_MISSINGOK),
expected: "m",
},
{
flags: FileFlags(RPMFILE_NOREPLACE),
expected: "n",
},
{
flags: FileFlags(RPMFILE_SPECFILE),
expected: "s",
},
{
flags: FileFlags(RPMFILE_GHOST),
expected: "g",
},
{
flags: FileFlags(RPMFILE_LICENSE),
expected: "l",
},
{
flags: FileFlags(RPMFILE_README),
expected: "r",
},
{
flags: FileFlags(RPMFILE_ARTIFACT),
expected: "a",
},
{
flags: FileFlags(RPMFILE_CONFIG | RPMFILE_DOC | RPMFILE_SPECFILE | RPMFILE_MISSINGOK | RPMFILE_NOREPLACE | RPMFILE_GHOST | RPMFILE_LICENSE | RPMFILE_README | RPMFILE_ARTIFACT),
expected: "dcsmnglra",
},
{
flags: FileFlags(RPMFILE_DOC | RPMFILE_ARTIFACT),
expected: "da",
},
// check that the formatting matches relative to verified correct values
// see helpful examples from: rpm --dbpath=/var/lib/rpm -qa --queryformat '%{FILEFLAGS:fflags}|%{FILEFLAGS}\n'
{
flags: FileFlags(89),
expected: "cmng",
},
{
flags: FileFlags(16),
expected: "n",
},
{
flags: FileFlags(64),
expected: "g",
},
{
flags: FileFlags(17),
expected: "cn",
},
{
flags: FileFlags(4096),
expected: "a",
},
}
for _, test := range tests {
t.Run(test.expected, func(t *testing.T) {
assert.Equal(t, test.expected, test.flags.String())
})
}
}