Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1b60bb4f authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Correctly serialize class loader context for "any" SDK version to JSON."

parents d5a57a56 91f015e7
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -678,6 +678,9 @@ func toJsonClassLoaderContext(clcMap ClassLoaderContextMap) jsonClassLoaderConte
	jClcMap := make(jsonClassLoaderContextMap)
	for sdkVer, clcs := range clcMap {
		sdkVerStr := fmt.Sprintf("%d", sdkVer)
		if sdkVer == AnySdkVersion {
			sdkVerStr = "any"
		}
		jClcMap[sdkVerStr] = toJsonClassLoaderContextRec(clcs)
	}
	return jClcMap
+32 −0
Original line number Diff line number Diff line
@@ -389,6 +389,38 @@ func TestCLCMExcludeLibs(t *testing.T) {
	})
}

// Test that CLC is correctly serialized to JSON.
func TestCLCtoJSON(t *testing.T) {
	ctx := testContext()
	optional := false
	implicit := true
	m := make(ClassLoaderContextMap)
	m.AddContext(ctx, 28, "a", optional, implicit, buildPath(ctx, "a"), installPath(ctx, "a"), nil)
	m.AddContext(ctx, AnySdkVersion, "b", optional, implicit, buildPath(ctx, "b"), installPath(ctx, "b"), nil)
	android.AssertStringEquals(t, "output CLCM ", `{
  "28": [
    {
      "Name": "a",
      "Optional": false,
      "Implicit": true,
      "Host": "out/soong/a.jar",
      "Device": "/system/a.jar",
      "Subcontexts": []
    }
  ],
  "any": [
    {
      "Name": "b",
      "Optional": false,
      "Implicit": true,
      "Host": "out/soong/b.jar",
      "Device": "/system/b.jar",
      "Subcontexts": []
    }
  ]
}`, m.Dump())
}

func checkError(t *testing.T, have error, want string) {
	if have == nil {
		t.Errorf("\nwant error: '%s'\nhave: none", want)