diff options
-rw-r--r-- | android/testing.go | 31 |
1 files changed, 29 insertions, 2 deletions
diff --git a/android/testing.go b/android/testing.go index 3f3f7690c..27573d5d8 100644 --- a/android/testing.go +++ b/android/testing.go @@ -539,8 +539,7 @@ type TestingBuildParams struct { // The parts of this structure which are changed are: // * BuildParams // * Args -// * Path instances are intentionally not modified, use AssertPathRelativeToTopEquals or -// AssertPathsRelativeToTopEquals instead which do something similar. +// * All Path, Paths, WritablePath and WritablePaths fields. // // * RuleParams // * Command @@ -564,6 +563,20 @@ func (p TestingBuildParams) RelativeToTop() TestingBuildParams { // Take a copy of the build params and replace any args that contains test specific temporary // paths with paths relative to the top. bparams := p.BuildParams + bparams.Depfile = normalizeWritablePathRelativeToTop(bparams.Depfile) + bparams.Output = normalizeWritablePathRelativeToTop(bparams.Output) + bparams.Outputs = bparams.Outputs.RelativeToTop() + bparams.SymlinkOutput = normalizeWritablePathRelativeToTop(bparams.SymlinkOutput) + bparams.SymlinkOutputs = bparams.SymlinkOutputs.RelativeToTop() + bparams.ImplicitOutput = normalizeWritablePathRelativeToTop(bparams.ImplicitOutput) + bparams.ImplicitOutputs = bparams.ImplicitOutputs.RelativeToTop() + bparams.Input = normalizePathRelativeToTop(bparams.Input) + bparams.Inputs = bparams.Inputs.RelativeToTop() + bparams.Implicit = normalizePathRelativeToTop(bparams.Implicit) + bparams.Implicits = bparams.Implicits.RelativeToTop() + bparams.OrderOnly = bparams.OrderOnly.RelativeToTop() + bparams.Validation = normalizePathRelativeToTop(bparams.Validation) + bparams.Validations = bparams.Validations.RelativeToTop() bparams.Args = normalizeStringMapRelativeToTop(p.config, bparams.Args) // Ditto for any fields in the RuleParams. @@ -582,6 +595,20 @@ func (p TestingBuildParams) RelativeToTop() TestingBuildParams { } } +func normalizeWritablePathRelativeToTop(path WritablePath) WritablePath { + if path == nil { + return nil + } + return path.RelativeToTop().(WritablePath) +} + +func normalizePathRelativeToTop(path Path) Path { + if path == nil { + return nil + } + return path.RelativeToTop() +} + // baseTestingComponent provides functionality common to both TestingModule and TestingSingleton. type baseTestingComponent struct { config Config |