//nolint:testpackage // exercises the unexported countNonDirectories helper package snapshot import ( "os" "testing" "sneak.berlin/go/vaultik/internal/database" ) // The walk counts regular files and symlinks, not directories, so the // estimate of its count made from the local index's records leaves the // directories out. See https://git.eeqj.de/sneak/vaultik/issues/305. func TestCountNonDirectories(t *testing.T) { t.Parallel() known := map[string]*database.File{ "/src": {Mode: uint32(os.ModeDir | 0o755)}, "/src/sub": {Mode: uint32(os.ModeDir | 0o755)}, "/src/a.txt": {Mode: 0o644}, "/src/link": {Mode: uint32(os.ModeSymlink | 0o777), LinkTarget: "a.txt"}, } got := countNonDirectories(known) if got != 2 { t.Errorf("countNonDirectories = %d, want 2", got) } }