Camera2: Tests: Release streams after HAL is unloaded

This fixes a segfault in the HAL where it was trying to write to a locked buffer
that disappeared from underneath it.

Any users of CameraModuleFixture should now call SetUp/TearDown explicitly.
Other classes remain unchanged until we need a custom TearDown order for them.

Change-Id: I9aa8c2d86492a76f2c01c1ad4cbe0cf91e5c7916
diff --git a/tests/camera2/CameraStreamFixture.h b/tests/camera2/CameraStreamFixture.h
index 7a6fa31..569b9d1 100644
--- a/tests/camera2/CameraStreamFixture.h
+++ b/tests/camera2/CameraStreamFixture.h
@@ -68,6 +68,8 @@
     void SetUp() {
         TEST_EXTENSION_FORKING_SET_UP;
 
+        CameraModuleFixture::SetUp();
+
         CameraStreamParams p = mParam;
         sp<Camera2Device> device = mDevice;
 
@@ -89,6 +91,13 @@
     }
     void TearDown() {
         TEST_EXTENSION_FORKING_TEAR_DOWN;
+
+        // important: shut down HAL before releasing streams
+        CameraModuleFixture::TearDown();
+
+        mNativeWindow.clear();
+        mCpuConsumer.clear();
+        mFrameListener.clear();
     }
 
 protected: