aboutsummaryrefslogtreecommitdiff
path: root/src/zencore/include
diff options
context:
space:
mode:
authorStefan Boberg <[email protected]>2026-03-01 12:40:20 +0100
committerGitHub Enterprise <[email protected]>2026-03-01 12:40:20 +0100
commit4d01aaee0a45f4c9f96e8a4925eff696be98de8d (patch)
treea0cefd6ef899f77a98370f52079b86af3db0d070 /src/zencore/include
parentsubprocess tracking using Jobs on Windows/hub (#796) (diff)
downloadzen-4d01aaee0a45f4c9f96e8a4925eff696be98de8d.tar.xz
zen-4d01aaee0a45f4c9f96e8a4925eff696be98de8d.zip
added `--verbose` option to zenserver-test and `xmake test` (#798)
* when `--verbose` is specified to zenserver-test, all child process output (typically, zenserver instances) is piped through to stdout. you can also pass `--verbose` to `xmake test` to accomplish the same thing. * this PR also consolidates all test runner `main` function logic (such as from zencore-test, zenhttp-test etc) into central implementation in zencore for consistency and ease of maintenance * also added extended utf8-tests including a fix to `Utf8ToWide()`
Diffstat (limited to 'src/zencore/include')
-rw-r--r--src/zencore/include/zencore/testing.h2
-rw-r--r--src/zencore/include/zencore/testutils.h27
2 files changed, 29 insertions, 0 deletions
diff --git a/src/zencore/include/zencore/testing.h b/src/zencore/include/zencore/testing.h
index a00ee3166..43bdbbffe 100644
--- a/src/zencore/include/zencore/testing.h
+++ b/src/zencore/include/zencore/testing.h
@@ -59,6 +59,8 @@ private:
return Runner.Run(); \
}()
+int RunTestMain(int argc, char* argv[], const char* traceName, void (*forceLink)());
+
} // namespace zen::testing
#endif
diff --git a/src/zencore/include/zencore/testutils.h b/src/zencore/include/zencore/testutils.h
index e2a4f8346..2a789d18f 100644
--- a/src/zencore/include/zencore/testutils.h
+++ b/src/zencore/include/zencore/testutils.h
@@ -59,6 +59,33 @@ struct TrueType
static const bool Enabled = true;
};
+namespace utf8test {
+
+ // 2-byte UTF-8 (Latin extended)
+ static constexpr const char kLatin[] = u8"café_résumé";
+ static constexpr const wchar_t kLatinW[] = L"café_résumé";
+
+ // 2-byte UTF-8 (Cyrillic)
+ static constexpr const char kCyrillic[] = u8"данные";
+ static constexpr const wchar_t kCyrillicW[] = L"данные";
+
+ // 3-byte UTF-8 (CJK)
+ static constexpr const char kCJK[] = u8"日本語";
+ static constexpr const wchar_t kCJKW[] = L"日本語";
+
+ // Mixed scripts
+ static constexpr const char kMixed[] = u8"zen_éд日";
+ static constexpr const wchar_t kMixedW[] = L"zen_éд日";
+
+ // 4-byte UTF-8 (supplementary plane) — string tests only, NOT filesystem
+ static constexpr const char kEmoji[] = u8"📦";
+ static constexpr const wchar_t kEmojiW[] = L"📦";
+
+ // BMP-only test strings suitable for filesystem use
+ static constexpr const char* kFilenameSafe[] = {kLatin, kCyrillic, kCJK, kMixed};
+
+} // namespace utf8test
+
} // namespace zen
#endif // ZEN_WITH_TESTS