diff options
author | 2021-03-10 01:13:14 -0800 | |
---|---|---|
committer | 2021-07-12 09:40:18 -0700 | |
commit | 472afabf95b199a2afb8e02924c9c8c052d1bc04 (patch) | |
tree | fd6495cff3e911464ff21950e02bf983f637c822 /mk2rbc/config_variables_test.go | |
parent | bb360c32b6d3fed68c7896327bcc655da1dffb54 (diff) |
Config variables reader
Fixes: 182330871
Test: go test config_variables_test.go
Change-Id: I89240fb0f1900172cb4d62057c86907bb9a1f58f
Diffstat (limited to 'mk2rbc/config_variables_test.go')
-rw-r--r-- | mk2rbc/config_variables_test.go | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/mk2rbc/config_variables_test.go b/mk2rbc/config_variables_test.go new file mode 100644 index 000000000..f5a518049 --- /dev/null +++ b/mk2rbc/config_variables_test.go @@ -0,0 +1,60 @@ +// Copyright 2021 Google LLC +// +// 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 mk2rbc + +import ( + "path/filepath" + "reflect" + "runtime" + "testing" +) + +type testVar struct { + name string + cl varClass + ty starlarkType +} + +type testVariables struct { + v []testVar +} + +func (v *testVariables) NewVariable(name string, varClass varClass, valueType starlarkType) { + v.v = append(v.v, testVar{name, varClass, valueType}) +} + +// getTestDirectory returns the test directory, which should be the test/ subdirectory +func getTestDirectory() string { + _, myFile, _, _ := runtime.Caller(1) + return filepath.Join(filepath.Dir(myFile), "test") +} + +func TestConfigVariables(t *testing.T) { + testFile := filepath.Join(getTestDirectory(), "config_variables.mk.test") + var actual testVariables + if err := FindConfigVariables(testFile, &actual); err != nil { + t.Fatal(err) + } + expected := testVariables{[]testVar{ + {"PRODUCT_NAME", VarClassConfig, starlarkTypeUnknown}, + {"PRODUCT_MODEL", VarClassConfig, starlarkTypeUnknown}, + {"PRODUCT_LOCALES", VarClassConfig, starlarkTypeList}, + {"PRODUCT_AAPT_CONFIG", VarClassConfig, starlarkTypeList}, + {"PRODUCT_AAPT_PREF_CONFIG", VarClassConfig, starlarkTypeUnknown}, + }} + if !reflect.DeepEqual(expected, actual) { + t.Errorf("\nExpected: %v\n Actual: %v", expected, actual) + } +} |