takashi kadono
/
Nucleo_446
Color Oled(SSD1331) connect to STMicroelectronics Nucleo-F466
mbed-os/TESTS/mbedmicro-mbed/cpp/main.cpp
- Committer:
- kadonotakashi
- Date:
- 2018-10-10
- Revision:
- 0:8fdf9a60065b
File content as of revision 0:8fdf9a60065b:
/* mbed Microcontroller Library * Copyright (c) 2017 ARM Limited * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "greentea-client/test_env.h" #define PATTERN_CHECK_VALUE 0xF0F0ADAD class Test { private: const char *name; const int pattern; public: Test(const char *_name, bool print_message = true) : name(_name), pattern(PATTERN_CHECK_VALUE) { if (print_message) { print("init"); } } void print(const char *message) { printf("%s::%s\n", name, message); } bool check_init(void) { bool result = (pattern == PATTERN_CHECK_VALUE); print(result ? "check_init: OK" : "check_init: ERROR"); return result; } void stack_test(void) { print("stack_test"); Test t("Stack"); t.hello(); } void hello(void) { print("hello"); } ~Test() { print("destroy"); } }; /* Check C++ startup initialisation */ Test s("Static", false); /* EXPECTED OUTPUT: ******************* Static::init Static::stack_test Stack::init Stack::hello Stack::destroy Static::check_init: OK Heap::init Heap::hello Heap::destroy *******************/ int main(void) { GREENTEA_SETUP(10, "default_auto"); bool result = true; for (;;) { s.print("init"); // Global stack object simple test s.stack_test(); if (s.check_init() == false) { result = false; break; } // Heap test object simple test Test *m = new Test("Heap"); m->hello(); if (m->check_init() == false) { result = false; } delete m; break; } GREENTEA_TESTSUITE_RESULT(result); }