110915Sandreas.sandberg@arm.com/* 211313Sandreas.sandberg@arm.com * Copyright (c) 2014-2016 ARM Limited 310915Sandreas.sandberg@arm.com * All rights reserved 410915Sandreas.sandberg@arm.com * 510915Sandreas.sandberg@arm.com * Licensed under the Apache License, Version 2.0 (the "License"); 610915Sandreas.sandberg@arm.com * you may not use this file except in compliance with the License. 710915Sandreas.sandberg@arm.com * You may obtain a copy of the License at 810915Sandreas.sandberg@arm.com * 910915Sandreas.sandberg@arm.com * http://www.apache.org/licenses/LICENSE-2.0 1010915Sandreas.sandberg@arm.com * 1110915Sandreas.sandberg@arm.com * Unless required by applicable law or agreed to in writing, software 1210915Sandreas.sandberg@arm.com * distributed under the License is distributed on an "AS IS" BASIS, 1310915Sandreas.sandberg@arm.com * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1410915Sandreas.sandberg@arm.com * See the License for the specific language governing permissions and 1510915Sandreas.sandberg@arm.com * limitations under the License. 1610915Sandreas.sandberg@arm.com * 1710915Sandreas.sandberg@arm.com * Authors: Andreas Sandberg 1810915Sandreas.sandberg@arm.com */ 1910915Sandreas.sandberg@arm.com 2010915Sandreas.sandberg@arm.com#ifndef _TESTS_NOMALI_TEST_HELPERS_H 2110915Sandreas.sandberg@arm.com#define _TESTS_NOMALI_TEST_HELPERS_H 2210915Sandreas.sandberg@arm.com 2310915Sandreas.sandberg@arm.com#include <libnomali/nomali.h> 2410915Sandreas.sandberg@arm.com#include "test_helpers.h" 2510915Sandreas.sandberg@arm.com 2610915Sandreas.sandberg@arm.com#define E_NOMALI_BAIL(c) \ 2710915Sandreas.sandberg@arm.com do { \ 2811313Sandreas.sandberg@arm.com nomali_error_t error; \ 2910915Sandreas.sandberg@arm.com if ((error = (c)) != NOMALI_E_OK) { \ 3010915Sandreas.sandberg@arm.com test_bail(# c " failed: %s (%i)", \ 3110915Sandreas.sandberg@arm.com nomali_errstr(error), error); \ 3210915Sandreas.sandberg@arm.com } \ 3310915Sandreas.sandberg@arm.com } while (0) 3410915Sandreas.sandberg@arm.com 3510915Sandreas.sandberg@arm.com#define E_NOMALI_TEST(t, c) \ 3610915Sandreas.sandberg@arm.com do { \ 3710915Sandreas.sandberg@arm.com if ((error = (c)) != NOMALI_E_OK) { \ 3810915Sandreas.sandberg@arm.com test_diag(# c " failed: %s (%i)", \ 3910915Sandreas.sandberg@arm.com nomali_errstr(error), error); \ 4010915Sandreas.sandberg@arm.com test_fail(t); \ 4110915Sandreas.sandberg@arm.com } else { \ 4210915Sandreas.sandberg@arm.com test_ok(t); \ 4310915Sandreas.sandberg@arm.com } \ 4410915Sandreas.sandberg@arm.com } while (0) 4510915Sandreas.sandberg@arm.com 4611313Sandreas.sandberg@arm.com#define NOMALI_TEST_REG(t, handle, reg, test) \ 4711313Sandreas.sandberg@arm.com do { \ 4811313Sandreas.sandberg@arm.com uint32_t value; \ 4911313Sandreas.sandberg@arm.com E_NOMALI_BAIL( \ 5011313Sandreas.sandberg@arm.com nomali_reg_read(handle, &value, (reg))); \ 5111313Sandreas.sandberg@arm.com if (!(test)) { \ 5211313Sandreas.sandberg@arm.com test_fail(t); \ 5311313Sandreas.sandberg@arm.com } else { \ 5411313Sandreas.sandberg@arm.com test_ok(t); \ 5511313Sandreas.sandberg@arm.com } \ 5611313Sandreas.sandberg@arm.com } while (0) 5711313Sandreas.sandberg@arm.com 5811313Sandreas.sandberg@arm.com 5910915Sandreas.sandberg@arm.com 6010915Sandreas.sandberg@arm.com#endif /* _TESTS_NOMALI_TEST_HELPERS_H */ 61