diff --git a/sdk/sdk_test.go b/sdk/sdk_test.go
index e2e40bb..1bbd286 100644
--- a/sdk/sdk_test.go
+++ b/sdk/sdk_test.go
@@ -139,22 +139,6 @@
 	t.Fatalf("missing expected error %q (0 errors are returned)", pattern)
 }
 
-// ensure that 'result' contains 'expected'
-func ensureContains(t *testing.T, result string, expected string) {
-	t.Helper()
-	if !strings.Contains(result, expected) {
-		t.Errorf("%q is not found in %q", expected, result)
-	}
-}
-
-// ensures that 'result' does not contain 'notExpected'
-func ensureNotContains(t *testing.T, result string, notExpected string) {
-	t.Helper()
-	if strings.Contains(result, notExpected) {
-		t.Errorf("%q is found in %q", notExpected, result)
-	}
-}
-
 func ensureListContains(t *testing.T, result []string, expected string) {
 	t.Helper()
 	if !android.InList(expected, result) {
@@ -162,13 +146,6 @@
 	}
 }
 
-func ensureListNotContains(t *testing.T, result []string, notExpected string) {
-	t.Helper()
-	if android.InList(notExpected, result) {
-		t.Errorf("%q is found in %v", notExpected, result)
-	}
-}
-
 func pathsToStrings(paths android.Paths) []string {
 	ret := []string{}
 	for _, p := range paths {
