diff options
author | 2019-10-10 21:26:26 -0400 | |
---|---|---|
committer | 2019-10-18 18:28:00 +0000 | |
commit | c03181935262ecfcc5d20f8d66cab34526db5ea1 (patch) | |
tree | bd8934b13296d454834bb8ab135148c7a40016c2 /android/csuite_config.go | |
parent | b244e84de6c218ab5355c2b2b4eb1b94fec766ef (diff) |
Create C-Suite config module
* Defined a build target csuite_config.go for C-Suite, so that C-Suite
test modules can be declare in Android.bp files.
* Modified vts_config.go to use the general Makefile
suite_host_config.mk.
Test: make csuite, forrest test for vts
Change-Id: I5f67c54e05b113ac6c5d226930618e6811e6e602
Merged-In: I5f67c54e05b113ac6c5d226930618e6811e6e602
Diffstat (limited to 'android/csuite_config.go')
-rw-r--r-- | android/csuite_config.go | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/android/csuite_config.go b/android/csuite_config.go new file mode 100644 index 000000000..15c518a07 --- /dev/null +++ b/android/csuite_config.go @@ -0,0 +1,70 @@ +// Copyright 2019 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package android + +import ( + "fmt" + "io" +) + +func init() { + RegisterModuleType("csuite_config", CSuiteConfigFactory) +} + +type csuiteConfigProperties struct { + // Override the default (AndroidTest.xml) test manifest file name. + Test_config *string +} + +type CSuiteConfig struct { + ModuleBase + properties csuiteConfigProperties + OutputFilePath OutputPath +} + +func (me *CSuiteConfig) GenerateAndroidBuildActions(ctx ModuleContext) { + me.OutputFilePath = PathForModuleOut(ctx, me.BaseModuleName()).OutputPath +} + +func (me *CSuiteConfig) AndroidMk() AndroidMkData { + androidMkData := AndroidMkData{ + Class: "FAKE", + Include: "$(BUILD_SYSTEM)/suite_host_config.mk", + OutputFile: OptionalPathForPath(me.OutputFilePath), + } + androidMkData.Extra = []AndroidMkExtraFunc{ + func(w io.Writer, outputFile Path) { + if me.properties.Test_config != nil { + fmt.Fprintf(w, "LOCAL_TEST_CONFIG := %s\n", + *me.properties.Test_config) + } + fmt.Fprintln(w, "LOCAL_COMPATIBILITY_SUITE := csuite") + }, + } + return androidMkData +} + +func InitCSuiteConfigModule(me *CSuiteConfig) { + me.AddProperties(&me.properties) +} + +// csuite_config generates an App Compatibility Test Suite (C-Suite) configuration file from the +// <test_config> xml file and stores it in a subdirectory of $(HOST_OUT). +func CSuiteConfigFactory() Module { + module := &CSuiteConfig{} + InitCSuiteConfigModule(module) + InitAndroidArchModule(module, HostSupported, MultilibFirst) + return module +} |