Fix bitrot in the libnativebridge tests.

- Bitrot 1: NativeBridge2Signal_test stopped working when version 3 was
  added in https://r.android.com/234059.

- Bitrot 2: The code path that PreInitializeNativeBridgeFail1_test
  tested was removed completely when missing app data directory was
  allowed in https://r.android.com/1208629, so delete the test.

- Use cc_test_library for the dynamic test libs so they are installed in
  the test directory rather than in system/lib(64).

- Use test_per_src since native_bridge.cc doesn't support reloading the
  native bridge implementation lib after unloading.

- Add a custom script to run the tests and a preupload check that the
  script is run. (Configuring atest for these tests still TBD in
  b/189484095 - test_per_src is a complication.)

Test: art/libnativebridge/tests/runtests.sh
Bug: 122710865
Bug: 189484095
Change-Id: Ib2b387e1d858127ca4bb44c548a5105ea8b838d8
diff --git a/libnativebridge/tests/CodeCacheCreate_test.cpp b/libnativebridge/tests/CodeCacheCreate_test.cpp
index 58270c4..1bd309c 100644
--- a/libnativebridge/tests/CodeCacheCreate_test.cpp
+++ b/libnativebridge/tests/CodeCacheCreate_test.cpp
@@ -23,9 +23,10 @@
 namespace android {
 
 // Tests that the bridge initialization creates the code_cache if it doesn't
-// exists.
+// exist.
 TEST_F(NativeBridgeTest, CodeCacheCreate) {
-    // Make sure that code_cache does not exists
+    // Make sure that code_cache does not exist
+    rmdir(kCodeCache);
     struct stat st;
     ASSERT_EQ(-1, stat(kCodeCache, &st));
     ASSERT_EQ(ENOENT, errno);