text: // clang-format off
  #pragma once
  
  #define CASE_TEST(id) case test_id::id: return test_##id(ctx, operation, data);
  #define DEFINE_TEST(id) int test_##id(cr_plugin *ctx, cr_op operation, test_data *data)
  
  namespace test_basic {
  
      #define CR_TEST_LIST_BEGIN() namespace test_id { enum e {
      #define CR_TEST(x)              x,
      #define CR_TEST_LIST_END()   };}
      #include "test_basic.x"
      #undef CR_TEST_LIST_BEGIN
      #undef CR_TEST
      #undef CR_TEST_LIST_END
  
      struct test_data {
          test_id::e test = test_id::return_version;
          int static_local_state = 0;
          int static_global_state = 0;
          int *heap_data_ptr = nullptr;
          int heap_data_size = 0;
      };
  }
  