14d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro/* 24d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro * Copyright (C) 2016 The Android Open Source Project 34d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro * 44d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro * Licensed under the Apache License, Version 2.0 (the "License"); 54d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro * you may not use this file except in compliance with the License. 64d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro * You may obtain a copy of the License at 74d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro * 84d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro * http://www.apache.org/licenses/LICENSE-2.0 94d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro * 104d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro * Unless required by applicable law or agreed to in writing, software 114d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro * distributed under the License is distributed on an "AS IS" BASIS, 124d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 134d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro * See the License for the specific language governing permissions and 144d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro * limitations under the License. 154d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro */ 164d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro 174d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro#ifndef _GTS_NANOAPPS_GENERAL_TEST_HEAP_ALLOC_STRESS_TEST_H_ 184d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro#define _GTS_NANOAPPS_GENERAL_TEST_HEAP_ALLOC_STRESS_TEST_H_ 194d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro 204d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro#include <general_test/test.h> 214d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro 224d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguronamespace general_test { 234d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro 244d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro/** 254d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro * Stresses the heap alloc implementation. 264d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro * 274d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro * We request extreme allocation sizes, exhaust the heap, and make 284d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro * sure things continue to work. 294d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro * 304d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro * Simple Protocol. 314d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro */ 324d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguroclass HeapAllocStressTest : public Test { 334d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro public: 344d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro HeapAllocStressTest(); 354d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro 364d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro protected: 374d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro void handleEvent(uint32_t senderInstanceId, uint16_t eventType, 384d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro const void* eventData) override; 394d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro void setUp(uint32_t messageSize, const void *message) override; 404d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro}; 414d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro 424d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro} // namespace general_test 434d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro 444d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro 454d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro#endif // _GTS_NANOAPPS_GENERAL_TEST_HEAP_ALLOC_STRESS_TEST_H_ 46