Fix writing soong.variables .

ConfiguredJarList had a marshaler but no unmarshaler.

Bug: 182965747
Test: Presubmits.
Change-Id: Id03669f4a0a3d389063a4e4b11af6d6be63dbba3
This commit is contained in:
Lukacs T. Berki
2021-03-17 13:34:30 +01:00
parent 45a4971808
commit 720b3964fe
4 changed files with 51 additions and 58 deletions

View File

@@ -16,6 +16,7 @@ package android
import (
"fmt"
"path/filepath"
"reflect"
"strings"
"testing"
@@ -87,6 +88,37 @@ func TestMissingVendorConfig(t *testing.T) {
}
}
func verifyProductVariableMarshaling(t *testing.T, v productVariables) {
dir := t.TempDir()
path := filepath.Join(dir, "test.variables")
err := saveToConfigFile(&v, path)
if err != nil {
t.Errorf("Couldn't save default product config: %q", err)
}
var v2 productVariables
err = loadFromConfigFile(&v2, path)
if err != nil {
t.Errorf("Couldn't load default product config: %q", err)
}
}
func TestDefaultProductVariableMarshaling(t *testing.T) {
v := productVariables{}
v.SetDefaultConfig()
verifyProductVariableMarshaling(t, v)
}
func TestBootJarsMarshaling(t *testing.T) {
v := productVariables{}
v.SetDefaultConfig()
v.BootJars = ConfiguredJarList{
apexes: []string{"apex"},
jars: []string{"jar"},
}
verifyProductVariableMarshaling(t, v)
}
func assertStringEquals(t *testing.T, expected, actual string) {
if actual != expected {
t.Errorf("expected %q found %q", expected, actual)