test/sandbox: bypass fields
A field is bypassed if it contains a single null byte. This will never appear in the text format so is safe to use. Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
parent
d22145a392
commit
f38ba7e923
@ -60,7 +60,7 @@ func MustAssertMounts(name, hostMountsFile, wantFile string) {
|
|||||||
if i == len(want) {
|
if i == len(want) {
|
||||||
fatalf("got more than %d entries", i)
|
fatalf("got more than %d entries", i)
|
||||||
}
|
}
|
||||||
if *e != want[i] {
|
if !e.Is(&want[i]) {
|
||||||
fatalf("entry %d\n got: %s\nwant: %s", i,
|
fatalf("entry %d\n got: %s\nwant: %s", i,
|
||||||
e, &want[i])
|
e, &want[i])
|
||||||
}
|
}
|
||||||
|
@ -37,6 +37,18 @@ func (e *Mntent) String() string {
|
|||||||
e.FSName, e.Dir, e.Type, e.Opts, e.Freq, e.Passno)
|
e.FSName, e.Dir, e.Type, e.Opts, e.Freq, e.Passno)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (e *Mntent) Is(want *Mntent) bool {
|
||||||
|
if want == nil {
|
||||||
|
return e == nil
|
||||||
|
}
|
||||||
|
return (e.FSName == want.FSName || want.FSName == "\x00") &&
|
||||||
|
(e.Dir == want.Dir || want.Dir == "\x00") &&
|
||||||
|
(e.Type == want.Type || want.Type == "\x00") &&
|
||||||
|
(e.Opts == want.Opts || want.Opts == "\x00") &&
|
||||||
|
(e.Freq == want.Freq || want.Freq == -1) &&
|
||||||
|
(e.Passno == want.Passno || want.Passno == -1)
|
||||||
|
}
|
||||||
|
|
||||||
func IterMounts(name string, f func(e *Mntent)) error {
|
func IterMounts(name string, f func(e *Mntent)) error {
|
||||||
m := new(mounts)
|
m := new(mounts)
|
||||||
m.p = name
|
m.p = name
|
||||||
|
Loading…
Reference in New Issue
Block a user