13cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavati/****************************************************************************** 23cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavati * 33cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavati * Copyright (C) 2014 Google, Inc. 43cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavati * 53cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavati * Licensed under the Apache License, Version 2.0 (the "License"); 63cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavati * you may not use this file except in compliance with the License. 73cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavati * You may obtain a copy of the License at: 83cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavati * 93cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavati * http://www.apache.org/licenses/LICENSE-2.0 103cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavati * 113cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavati * Unless required by applicable law or agreed to in writing, software 123cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavati * distributed under the License is distributed on an "AS IS" BASIS, 133cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavati * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 143cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavati * See the License for the specific language governing permissions and 153cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavati * limitations under the License. 163cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavati * 173cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavati ******************************************************************************/ 183cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavati 193cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavati#pragma once 203cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavati 213cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavati#include "base.h" 223cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavati 233cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavati#define TEST_CASE_DECL(x) bool x() 243cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavati#define TEST_CASE(x) { x, #x } 253cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavati 263cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavatitypedef struct { 273cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavati bool (*function)(); 283cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavati const char *function_name; 293cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavati} test_case_t; 303cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavati 313cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavatiextern const test_case_t test_suite[]; 323cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavatiextern const test_case_t sanity_suite[]; 333cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavatiextern const size_t test_suite_size; 343cf59ef3b216adffbe7e49297e6e3e8c56c4e9a0Sharvil Nanavatiextern const size_t sanity_suite_size; 35