1 // Copyright 2021 The Pigweed Authors 2 // 3 // Licensed under the Apache License, Version 2.0 (the "License"); you may not 4 // use this file except in compliance with the License. You may obtain a copy of 5 // the License at 6 // 7 // https://www.apache.org/licenses/LICENSE-2.0 8 // 9 // Unless required by applicable law or agreed to in writing, software 10 // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 11 // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 12 // License for the specific language governing permissions and limitations under 13 // the License. 14 15 // Configuration macros for the unit test module. 16 #pragma once 17 18 #include <cstddef> 19 20 #ifndef PW_UNIT_TEST_CONFIG_EVENT_BUFFER_SIZE 21 /// The size of the event buffer that the ``UnitTestService`` contains. 22 /// This buffer is used to encode events. By default this is set to 23 /// 128 bytes. 24 #define PW_UNIT_TEST_CONFIG_EVENT_BUFFER_SIZE 128 25 #endif // PW_UNIT_TEST_CONFIG_EVENT_BUFFER_SIZE 26 27 #ifndef PW_UNIT_TEST_CONFIG_MEMORY_POOL_SIZE 28 /// The size of the memory pool to use for test fixture instances. By default 29 /// this is set to 16K. 30 #define PW_UNIT_TEST_CONFIG_MEMORY_POOL_SIZE 16384 31 #endif // PW_UNIT_TEST_CONFIG_MEMORY_POOL_SIZE 32 33 #ifndef PW_UNIT_TEST_CONFIG_EXPECTATION_BUFFER_SIZE 34 /// Size of the buffer into which to write the string with the evaluated 35 /// version of the arguments. This buffer is allocated on the unit test's 36 /// stack, so it shouldn't be too large. 37 #define PW_UNIT_TEST_CONFIG_EXPECTATION_BUFFER_SIZE \ 38 (sizeof(void*) > 4 ? 512 : 192) 39 #endif // PW_UNIT_TEST_CONFIG_EXPECTATION_BUFFER_SIZE 40 41 namespace pw::unit_test::config { 42 43 inline constexpr size_t kEventBufferSize = 44 PW_UNIT_TEST_CONFIG_EVENT_BUFFER_SIZE; 45 #undef PW_UNIT_TEST_CONFIG_EVENT_BUFFER_SIZE 46 47 inline constexpr size_t kMemoryPoolSize = PW_UNIT_TEST_CONFIG_MEMORY_POOL_SIZE; 48 #undef PW_UNIT_TEST_CONFIG_MEMORY_POOL_SIZE 49 50 inline constexpr size_t kExpectationBufferSizeBytes = 51 PW_UNIT_TEST_CONFIG_EXPECTATION_BUFFER_SIZE; 52 #undef PW_UNIT_TEST_CONFIG_EXPECTATION_BUFFER_SIZE 53 54 } // namespace pw::unit_test::config 55