|
FastLED 3.9.15
|
Portable test framework for FastLED.
This is a lightweight test framework that can run on both host computers and embedded devices. It provides macros similar to doctest but with minimal dependencies on the standard library.
Features:
Usage: #include "fl/test/fltest.h"
FL_TEST_CASE("MyTest") { FL_CHECK(1 + 1 == 2); FL_SUBCASE("nested") { FL_CHECK_EQ(2, 2); } }
Definition in file fltest.h.
#include "fl/stl/compiler_control.h"#include "fl/stl/stdint.h"#include "fl/stl/vector.h"#include "fl/stl/strstream.h"#include "fl/stl/cstring.h"#include "fl/stl/static_assert.h"
Include dependency graph for fltest.h:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Namespaces | |
| namespace | fl |
| Base definition for an LED controller. | |
| namespace | fl::test |
| namespace | fl::test::detail |
Macros | |
| #define | FL_AND_THEN(name) |
| #define | FL_AND_WHEN(name) |
| #define | FL_CAPTURE(x) |
| #define | FL_CHECK(expr) |
| #define | FL_CHECK_ARRAY_EQ(actual, expected, arrsize) |
| #define | FL_CHECK_CLOSE(a, b, epsilon) |
| #define | FL_CHECK_EQ(lhs, rhs) |
| #define | FL_CHECK_FALSE(expr) |
| #define | FL_CHECK_GE(lhs, rhs) |
| #define | FL_CHECK_GT(lhs, rhs) |
| #define | FL_CHECK_LE(lhs, rhs) |
| #define | FL_CHECK_LT(lhs, rhs) |
| #define | FL_CHECK_MESSAGE(expr, msg) |
| #define | FL_CHECK_NE(lhs, rhs) |
| #define | FL_CHECK_NOTHROW(expr) |
| #define | FL_CHECK_STR_CONTAINS(haystack, needle) |
| #define | FL_CHECK_STR_EQ(a, b) |
| #define | FL_CHECK_STR_NE(a, b) |
| #define | FL_CHECK_THROWS(expr) |
| #define | FL_CHECK_THROWS_AS(expr, exType) |
| #define | FL_CHECK_THROWS_WITH(expr, msg) |
| #define | FL_FAIL(msg) |
| #define | FL_FAIL_CHECK(msg) |
| #define | FL_GIVEN(name) |
| #define | FL_INFO(msg) |
| #define | FL_MESSAGE(msg) |
| #define | FL_REQUIRE(expr) |
| #define | FL_REQUIRE_ARRAY_EQ(actual, expected, arrsize) |
| #define | FL_REQUIRE_CLOSE(a, b, epsilon) |
| #define | FL_REQUIRE_EQ(lhs, rhs) |
| #define | FL_REQUIRE_FALSE(expr) |
| #define | FL_REQUIRE_GE(lhs, rhs) |
| #define | FL_REQUIRE_GT(lhs, rhs) |
| #define | FL_REQUIRE_LE(lhs, rhs) |
| #define | FL_REQUIRE_LT(lhs, rhs) |
| #define | FL_REQUIRE_MESSAGE(expr, msg) |
| #define | FL_REQUIRE_NE(lhs, rhs) |
| #define | FL_REQUIRE_NOTHROW(expr) |
| #define | FL_REQUIRE_STR_CONTAINS(haystack, needle) |
| #define | FL_REQUIRE_STR_EQ(a, b) |
| #define | FL_REQUIRE_THROWS(expr) |
| #define | FL_REQUIRE_THROWS_AS(expr, exType) |
| #define | FL_REQUIRE_THROWS_WITH(expr, msg) |
| #define | FL_RUN_ALL_TESTS_ARDUINO(serial_obj) |
| #define | FL_SCENARIO(name) |
| #define | FL_SKIP(reason) |
| #define | FL_SUBCASE(name) |
| #define | FL_TEST_CASE(name) |
| #define | FL_TEST_CASE_FIXTURE(fixture, name) |
| #define | FL_TEST_CASE_TEMPLATE(name, T, ...) |
| #define | FL_TEST_CASE_TEMPLATE_APPLY(id, typelist) |
| #define | FL_TEST_CASE_TEMPLATE_DEFINE(name, T, id) |
| #define | FL_TEST_CASE_TEMPLATE_INVOKE(id, ...) |
| #define | FL_TEST_SUITE(name) |
| #define | FL_TEST_SUITE_BEGIN(name) |
| #define | FL_TEST_SUITE_END() |
| #define | FL_THEN(name) |
| #define | FL_TYPE_TO_STRING(type, str) |
| #define | FL_TYPE_TO_STRING_AS(str, type) |
| #define | FL_WARN(expr) |
| #define | FL_WARN_EQ(lhs, rhs) |
| #define | FL_WARN_FALSE(expr) |
| #define | FL_WARN_GE(lhs, rhs) |
| #define | FL_WARN_GT(lhs, rhs) |
| #define | FL_WARN_LE(lhs, rhs) |
| #define | FL_WARN_LT(lhs, rhs) |
| #define | FL_WARN_NE(lhs, rhs) |
| #define | FL_WARN_NOTHROW(expr) |
| #define | FL_WARN_THROWS(expr) |
| #define | FL_WARN_THROWS_AS(expr, exType) |
| #define | FL_WARN_THROWS_WITH(expr, msg) |
| #define | FL_WHEN(name) |
| #define | FLTEST_CAT(a, b) |
| #define | FLTEST_CAT_IMPL(a, b) |
| #define | FLTEST_EXCEPTIONS_ENABLED 0 |
| #define | FLTEST_MAX_SUBCASE_DEPTH 8 |
| #define | FLTEST_MAX_TEST_CASES 512 |
| #define | FLTEST_UNIQUE(x) |
Typedefs | |
| typedef fl::u32(* | fl::test::GetMillisFunc) () |
| Callback type for getting current time in milliseconds Example: uint32_t getMillis() { return millis(); } // Arduino. | |
| typedef void(* | fl::test::SerialPrintFunc) (const char *msg) |
| Type for the serial print function callback. | |
| typedef bool(* | fl::test::TimeoutHandlerFunc) (const char *testName, fl::u32 elapsedMs) |
| Callback type for timeout handler Called when a test times out. | |
Functions | |
| template<typename L, typename R, typename Cmp> | |
| bool | fl::test::binaryAssert (const L &lhs, const R &rhs, Cmp cmp, const char *lhsExpr, const char *op, const char *rhsExpr, const char *file, int line) FL_NOEXCEPT |
| const char *& | fl::test::detail::currentSuiteName () FL_NOEXCEPT |
| void | fl::test::fail (const char *msg, const char *file, int line, bool isFatal) FL_NOEXCEPT |
| Helper for FAIL macros. | |
| template<typename T> | |
| fl::string | fl::test::detail::getTypeName () FL_NOEXCEPT |
| fl::u32 | fl::test::hashSubcaseSignature (const SubcaseSignature &sig) FL_NOEXCEPT |
| bool | fl::test::isTestSkipped () FL_NOEXCEPT |
| Check if current test has been marked as skipped. | |
| fl::sstream & | fl::test::operator<< (fl::sstream &os, const Approx &approx) FL_NOEXCEPT |
| void | fl::test::outputCapture (const char *name, const char *value, const char *file, int line) FL_NOEXCEPT |
| Helper to output CAPTURE variable. | |
| void | fl::test::outputMessage (const char *msg, const char *file, int line) FL_NOEXCEPT |
| Helper to output INFO/MESSAGE during test execution. | |
| void | fl::test::skipTest (const char *reason, const char *file, int line) FL_NOEXCEPT |
| Record that the current test should be skipped. | |
| struct fl::test::detail::TypeList |