1/* 2 * Copyright (C) 2012 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17#ifndef __ANDROID_HAL_CAMERA2_TESTS_EXTENSIONS__ 18#define __ANDROID_HAL_CAMERA2_TESTS_EXTENSIONS__ 19 20#include "TestForkerEventListener.h" 21#include "TestSettings.h" 22 23// Use at the beginning of each Test::SetUp() impl 24#define TEST_EXTENSION_FORKING_SET_UP \ 25 do { \ 26 if (TEST_EXTENSION_FORKING_ENABLED) { \ 27 if (!TestForkerEventListener::mIsForked) { \ 28 return; \ 29 } \ 30 } \ 31 } while (false) \ 32 33// Use at the beginning of each Test::TearDown() impl 34#define TEST_EXTENSION_FORKING_TEAR_DOWN TEST_EXTENSION_FORKING_SET_UP 35 36// Use at the beginning of each Test::Test constructor 37#define TEST_EXTENSION_FORKING_CONSTRUCTOR TEST_EXTENSION_FORKING_SET_UP 38 39// Use at the beginning of each Test::~Test destructor 40#define TEST_EXTENSION_FORKING_DESTRUCTOR TEST_EXTENSION_FORKING_TEAR_DOWN 41 42// Use at the beginning of each test body, e.g. TEST(x,y), TEST_F(x,y), etc 43#define TEST_EXTENSION_FORKING_INIT \ 44 do { \ 45 TEST_EXTENSION_FORKING_SET_UP; \ 46 if (HasFatalFailure()) return; \ 47 } while(false) \ 48 49// Are we running each test by forking it? 50#define TEST_EXTENSION_FORKING_ENABLED \ 51 (android::camera2::tests::TestSettings::ForkingEnabled()) 52 53 54 55#endif 56 57