SYMBOL INDEX (104 symbols across 12 files) FILE: file.go type PetsFile (line 16) | type PetsFile struct method NeedsCopy (line 46) | func (pf *PetsFile) NeedsCopy() PetsCause { method NeedsLink (line 77) | func (pf *PetsFile) NeedsLink() PetsCause { method NeedsDir (line 127) | func (pf *PetsFile) NeedsDir() PetsCause { method IsValid (line 160) | func (pf *PetsFile) IsValid(pathErrorOK bool) bool { method AddDest (line 176) | func (pf *PetsFile) AddDest(dest string) { method AddLink (line 181) | func (pf *PetsFile) AddLink(dest string) { method AddUser (line 187) | func (pf *PetsFile) AddUser(userName string) error { method AddGroup (line 197) | func (pf *PetsFile) AddGroup(groupName string) error { method AddMode (line 207) | func (pf *PetsFile) AddMode(mode string) error { method AddPre (line 216) | func (pf *PetsFile) AddPre(pre string) { method AddPost (line 223) | func (pf *PetsFile) AddPost(post string) { function NewPetsFile (line 35) | func NewPetsFile() *PetsFile { FILE: file_test.go function TestBadUser (line 9) | func TestBadUser(t *testing.T) { function TestBadGroup (line 19) | func TestBadGroup(t *testing.T) { function TestShortModes (line 29) | func TestShortModes(t *testing.T) { function TestOK (line 43) | func TestOK(t *testing.T) { function TestFileIsValidTrue (line 52) | func TestFileIsValidTrue(t *testing.T) { function TestFileIsValidBadPackage (line 60) | func TestFileIsValidBadPackage(t *testing.T) { function TestFileIsValidPrePathError (line 68) | func TestFileIsValidPrePathError(t *testing.T) { function TestFileIsValidPathError (line 75) | func TestFileIsValidPathError(t *testing.T) { function TestNeedsCopyNoSource (line 86) | func TestNeedsCopyNoSource(t *testing.T) { function TestNeedsCopySourceNotThere (line 92) | func TestNeedsCopySourceNotThere(t *testing.T) { function TestNeedsLinkNoDest (line 98) | func TestNeedsLinkNoDest(t *testing.T) { function TestNeedsLinkHappyPathLINK (line 104) | func TestNeedsLinkHappyPathLINK(t *testing.T) { function TestNeedsLinkHappyPathNONE (line 111) | func TestNeedsLinkHappyPathNONE(t *testing.T) { function TestNeedsLinkDestExists (line 118) | func TestNeedsLinkDestExists(t *testing.T) { function TestNeedsLinkDestIsSymlink (line 125) | func TestNeedsLinkDestIsSymlink(t *testing.T) { function TestNeedsDirNoDirectory (line 132) | func TestNeedsDirNoDirectory(t *testing.T) { function TestNeedsDirHappyPathDIR (line 137) | func TestNeedsDirHappyPathDIR(t *testing.T) { function TestNeedsDirHappyPathNONE (line 143) | func TestNeedsDirHappyPathNONE(t *testing.T) { function TestNeedsDirDestIsFile (line 149) | func TestNeedsDirDestIsFile(t *testing.T) { FILE: main.go function ParseFlags (line 17) | func ParseFlags() (string, bool, bool) { function GetLogFilter (line 28) | func GetLogFilter(debug bool) *logutils.LevelFilter { function main (line 41) | func main() { FILE: main_test.go function TestParseFlags (line 9) | func TestParseFlags(t *testing.T) { function TestGetLogFilter (line 18) | func TestGetLogFilter(t *testing.T) { FILE: package.go type PetsPackage (line 13) | type PetsPackage method getPkgInfo (line 63) | func (pp PetsPackage) getPkgInfo() string { method IsValid (line 90) | func (pp PetsPackage) IsValid() bool { method IsInstalled (line 130) | func (pp PetsPackage) IsInstalled() bool { type PackageManager (line 17) | type PackageManager constant APT (line 20) | APT = iota constant YUM (line 21) | YUM constant APK (line 22) | APK constant YAY (line 23) | YAY constant PACMAN (line 24) | PACMAN function WhichPackageManager (line 28) | func WhichPackageManager() PackageManager { function InstallCommand (line 190) | func InstallCommand() *exec.Cmd { FILE: package_test.go function TestPkgIsValid (line 9) | func TestPkgIsValid(t *testing.T) { function TestPkgIsNotValid (line 14) | func TestPkgIsNotValid(t *testing.T) { function TestIsInstalled (line 19) | func TestIsInstalled(t *testing.T) { function TestIsNotInstalled (line 24) | func TestIsNotInstalled(t *testing.T) { FILE: parser.go constant MAXLINES (line 19) | MAXLINES int = 10 function ReadModelines (line 24) | func ReadModelines(path string) ([]string, error) { function ParseModeline (line 54) | func ParseModeline(line string, pf *PetsFile) error { function ParseFiles (line 124) | func ParseFiles(directory string) ([]*PetsFile, error) { FILE: parser_test.go function TestReadModelinesFileNotFound (line 9) | func TestReadModelinesFileNotFound(t *testing.T) { function TestReadModelinesZero (line 19) | func TestReadModelinesZero(t *testing.T) { function TestReadModelinesNonZero (line 25) | func TestReadModelinesNonZero(t *testing.T) { function TestParseModelineErr (line 31) | func TestParseModelineErr(t *testing.T) { function TestParseModelineBadKeyword (line 37) | func TestParseModelineBadKeyword(t *testing.T) { function TestParseModelineOKDestfile (line 43) | func TestParseModelineOKDestfile(t *testing.T) { function TestParseModelineOKSymlink (line 55) | func TestParseModelineOKSymlink(t *testing.T) { function TestParseModelineOKPackage (line 64) | func TestParseModelineOKPackage(t *testing.T) { FILE: planner.go type PetsCause (line 15) | type PetsCause method String (line 29) | func (pc PetsCause) String() string { constant NONE (line 18) | NONE = iota constant PKG (line 19) | PKG constant CREATE (line 20) | CREATE constant UPDATE (line 21) | UPDATE constant LINK (line 22) | LINK constant DIR (line 23) | DIR constant OWNER (line 24) | OWNER constant MODE (line 25) | MODE constant POST (line 26) | POST type PetsAction (line 44) | type PetsAction struct method String (line 51) | func (pa *PetsAction) String() string { method Perform (line 60) | func (pa *PetsAction) Perform() error { function PkgsToInstall (line 81) | func PkgsToInstall(triggers []*PetsFile) (bool, *exec.Cmd) { function FileToCopy (line 104) | func FileToCopy(trigger *PetsFile) *PetsAction { function LinkToCreate (line 124) | func LinkToCreate(trigger *PetsFile) *PetsAction { function DirToCreate (line 144) | func DirToCreate(trigger *PetsFile) *PetsAction { function Chown (line 163) | func Chown(trigger *PetsFile) *PetsAction { function Chmod (line 228) | func Chmod(trigger *PetsFile) *PetsAction { function NewPetsActions (line 269) | func NewPetsActions(triggers []*PetsFile) []*PetsAction { FILE: planner_test.go function TestPkgsToInstall (line 9) | func TestPkgsToInstall(t *testing.T) { function TestFileToCopy (line 29) | func TestFileToCopy(t *testing.T) { function TestChmod (line 59) | func TestChmod(t *testing.T) { function TestChown (line 84) | func TestChown(t *testing.T) { function TestLn (line 113) | func TestLn(t *testing.T) { function TestMkdir (line 143) | func TestMkdir(t *testing.T) { FILE: util.go function NewCmd (line 21) | func NewCmd(args []string) *exec.Cmd { function RunCmd (line 35) | func RunCmd(cmd *exec.Cmd) (string, string, error) { function Sha256 (line 47) | func Sha256(fileName string) (string, error) { function StringToFileMode (line 62) | func StringToFileMode(mode string) (os.FileMode, error) { function SliceContains (line 67) | func SliceContains(slice []string, elem string) bool { function assertEquals (line 77) | func assertEquals(t *testing.T, a, b interface{}) { function assertNoError (line 83) | func assertNoError(t *testing.T, err error) { function assertError (line 89) | func assertError(t *testing.T, err error) { function NewTestFile (line 95) | func NewTestFile(src, pkg, dest, userName, groupName, mode, pre, post st... FILE: validator.go function CheckGlobalConstraints (line 18) | func CheckGlobalConstraints(files []*PetsFile) error { function runPre (line 39) | func runPre(pf *PetsFile, pathErrorOK bool) bool { function CheckLocalConstraints (line 84) | func CheckLocalConstraints(files []*PetsFile, pathErrorOK bool) []*PetsF...