summaryrefslogtreecommitdiff
path: root/android/testing.go
diff options
context:
space:
mode:
author Paul Duffin <paulduffin@google.com> 2021-03-24 10:34:52 +0000
committer Paul Duffin <paulduffin@google.com> 2021-03-25 18:03:00 +0000
commitbbb0f8fae4427fd094eceb70a487610b3d02b390 (patch)
tree1dfff231c8d1fea5b127e95475b14bea9853b170 /android/testing.go
parent6c968b1f0fc2818f75292820c8146763277973af (diff)
Make TestingBuildParams.RelativeToTop() modify (Writable)Path(s)
Bug: 183650682 Test: m droid Change-Id: I5cb150aa28cf1a06c353b67443fd2128aff4bb5d
Diffstat (limited to 'android/testing.go')
-rw-r--r--android/testing.go31
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