Add tests for core library neverallow rules
Bug: 134566750
Test: m
Change-Id: I65e2afdf726937c29fc4f62a317024dc133254bf
diff --git a/android/neverallow_test.go b/android/neverallow_test.go
index 00c51ea..c60de21 100644
--- a/android/neverallow_test.go
+++ b/android/neverallow_test.go
@@ -148,6 +148,38 @@
},
expectedError: "java_device_for_host can only be used in whitelisted projects",
},
+ // Libcore rule tests
+ {
+ name: "no_standard_libs: true inside core libraries",
+ fs: map[string][]byte{
+ "libcore/Blueprints": []byte(`
+ java_library {
+ name: "inside_core_libraries",
+ no_standard_libs: true,
+ }`),
+ },
+ },
+ {
+ name: "no_standard_libs: true outside core libraries",
+ fs: map[string][]byte{
+ "Blueprints": []byte(`
+ java_library {
+ name: "outside_core_libraries",
+ no_standard_libs: true,
+ }`),
+ },
+ expectedError: "module \"outside_core_libraries\": violates neverallow",
+ },
+ {
+ name: "no_standard_libs: false",
+ fs: map[string][]byte{
+ "Blueprints": []byte(`
+ java_library {
+ name: "outside_core_libraries",
+ no_standard_libs: false,
+ }`),
+ },
+ },
}
func TestNeverallow(t *testing.T) {
@@ -227,7 +259,8 @@
}
type mockJavaLibraryProperties struct {
- Libs []string
+ Libs []string
+ No_standard_libs *bool
}
type mockJavaLibraryModule struct {