summaryrefslogtreecommitdiff
path: root/android/module_test.go
diff options
context:
space:
mode:
author Paul Duffin <paulduffin@google.com> 2020-11-23 18:17:03 +0000
committer Paul Duffin <paulduffin@google.com> 2020-11-27 15:17:44 +0000
commit89968e3dec95baa4cf0352d7eb85a9033dece8ef (patch)
tree7b15909d373de496c00020b46739d9bb08edba1f /android/module_test.go
parentd83988dbada4c0bce1a5b145ddc575c0f6047534 (diff)
Expand dist property checks to cover dists
Previously, only the dist property's nested properties were checked for correctness. This change also checks the dists property's nested dist structures and adds some tests to verify that the checks are run and correctly report the location of the incorrect property even when it is within a slice of dist structs. Test: m nothing Bug: 174226317 Change-Id: If5a19360e1e4c98ee3b5afc813e35349d1fc6f6f
Diffstat (limited to 'android/module_test.go')
-rw-r--r--android/module_test.go48
1 files changed, 48 insertions, 0 deletions
diff --git a/android/module_test.go b/android/module_test.go
index 6cc18132a..e3cc61332 100644
--- a/android/module_test.go
+++ b/android/module_test.go
@@ -232,3 +232,51 @@ func TestValidateIncorrectBuildParams(t *testing.T) {
t.Errorf("Expected build params to fail validation: %+v", bparams)
}
}
+
+func TestDistErrorChecking(t *testing.T) {
+ bp := `
+ deps {
+ name: "foo",
+ dist: {
+ dest: "../invalid-dest",
+ dir: "../invalid-dir",
+ suffix: "invalid/suffix",
+ },
+ dists: [
+ {
+ dest: "../invalid-dest0",
+ dir: "../invalid-dir0",
+ suffix: "invalid/suffix0",
+ },
+ {
+ dest: "../invalid-dest1",
+ dir: "../invalid-dir1",
+ suffix: "invalid/suffix1",
+ },
+ ],
+ }
+ `
+
+ config := TestConfig(buildDir, nil, bp, nil)
+
+ ctx := NewTestContext(config)
+ ctx.RegisterModuleType("deps", depsModuleFactory)
+ ctx.Register()
+
+ _, errs := ctx.ParseFileList(".", []string{"Android.bp"})
+ FailIfErrored(t, errs)
+ _, errs = ctx.PrepareBuildActions(config)
+
+ expectedErrs := []string{
+ "\\QAndroid.bp:5:13: module \"foo\": dist.dest: Path is outside directory: ../invalid-dest\\E",
+ "\\QAndroid.bp:6:12: module \"foo\": dist.dir: Path is outside directory: ../invalid-dir\\E",
+ "\\QAndroid.bp:7:15: module \"foo\": dist.suffix: Suffix may not contain a '/' character.\\E",
+ "\\QAndroid.bp:11:15: module \"foo\": dists[0].dest: Path is outside directory: ../invalid-dest0\\E",
+ "\\QAndroid.bp:12:14: module \"foo\": dists[0].dir: Path is outside directory: ../invalid-dir0\\E",
+ "\\QAndroid.bp:13:17: module \"foo\": dists[0].suffix: Suffix may not contain a '/' character.\\E",
+ "\\QAndroid.bp:16:15: module \"foo\": dists[1].dest: Path is outside directory: ../invalid-dest1\\E",
+ "\\QAndroid.bp:17:14: module \"foo\": dists[1].dir: Path is outside directory: ../invalid-dir1\\E",
+ "\\QAndroid.bp:18:17: module \"foo\": dists[1].suffix: Suffix may not contain a '/' character.\\E",
+ }
+ CheckErrorsAgainstExpectations(t, errs, expectedErrs)
+}