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

Commit 611e1400 authored by Martin Stjernholm's avatar Martin Stjernholm
Browse files

Reduce code duplication for testing the two header modules.

Preparation for adding more tests to them.

Test: m nothing
Bug: 202192894
Change-Id: Ica29c649c4669e821371fbf8360f437871b7d041
parent 8a498161
Loading
Loading
Loading
Loading
+18 −37
Original line number Diff line number Diff line
@@ -16,7 +16,6 @@ package cc

import (
	"fmt"
	"strings"
	"testing"

	"android/soong/android"
@@ -25,8 +24,8 @@ import (
)

func TestLibraryHeaders(t *testing.T) {
	ctx := testCc(t, `
	cc_library_headers {
	bp := `
		%s {
			name: "headers",
			export_include_dirs: ["my_include"],
		}
@@ -35,34 +34,16 @@ func TestLibraryHeaders(t *testing.T) {
			srcs: ["foo.c"],
			header_libs: ["headers"],
		}
	`)

	// test if header search paths are correctly added
	cc := ctx.ModuleForTests("lib", "android_arm64_armv8-a_static").Rule("cc")
	cflags := cc.Args["cFlags"]
	if !strings.Contains(cflags, " -Imy_include ") {
		t.Errorf("cflags for libsystem must contain -Imy_include, but was %#v.", cflags)
	}
}
	`

func TestPrebuiltLibraryHeaders(t *testing.T) {
	ctx := testCc(t, `
	cc_prebuilt_library_headers {
		name: "headers",
		export_include_dirs: ["my_include"],
	}
	cc_library_static {
		name: "lib",
		srcs: ["foo.c"],
		header_libs: ["headers"],
	}
	`)
	for _, headerModule := range []string{"cc_library_headers", "cc_prebuilt_library_headers"} {
		t.Run(headerModule, func(t *testing.T) {
			ctx := testCc(t, fmt.Sprintf(bp, headerModule))

			// test if header search paths are correctly added
			cc := ctx.ModuleForTests("lib", "android_arm64_armv8-a_static").Rule("cc")
	cflags := cc.Args["cFlags"]
	if !strings.Contains(cflags, " -Imy_include ") {
		t.Errorf("cflags for libsystem must contain -Imy_include, but was %#v.", cflags)
			android.AssertStringDoesContain(t, "cFlags for lib module", cc.Args["cFlags"], " -Imy_include ")
		})
	}
}