Skip to content

Commit

Permalink
Merge pull request #88452 from AThousandShips/template_test
Browse files Browse the repository at this point in the history
Fix running tests in template builds
  • Loading branch information
akien-mga committed Feb 22, 2024
2 parents 031ca87 + d7a72d7 commit 8a9c9ef
Show file tree
Hide file tree
Showing 5 changed files with 34 additions and 1 deletion.
3 changes: 3 additions & 0 deletions modules/gdscript/tests/gdscript_test_runner_suite.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,8 @@

namespace GDScriptTests {

// TODO: Handle some cases failing on release builds. See: https://github.com/godotengine/godot/pull/88452
#ifdef TOOLS_ENABLED
TEST_SUITE("[Modules][GDScript]") {
TEST_CASE("Script compilation and runtime") {
bool print_filenames = OS::get_singleton()->get_cmdline_args().find("--print-filenames") != nullptr;
Expand Down Expand Up @@ -68,6 +70,7 @@ func _init():
ref_counted->set_script(gdscript);
CHECK_MESSAGE(int(ref_counted->get_meta("result")) == 42, "The script should assign object metadata successfully.");
}
#endif // TOOLS_ENABLED

TEST_CASE("[Modules][GDScript] Validate built-in API") {
GDScriptLanguage *lang = GDScriptLanguage::get_singleton();
Expand Down
3 changes: 3 additions & 0 deletions tests/core/config/test_project_settings.h
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,8 @@ class TestProjectSettingsInternalsAccessor {

namespace TestProjectSettings {

// TODO: Handle some cases failing on release builds. See: https://github.com/godotengine/godot/pull/88452
#ifdef TOOLS_ENABLED
TEST_CASE("[ProjectSettings] Get existing setting") {
CHECK(ProjectSettings::get_singleton()->has_setting("application/config/name"));

Expand All @@ -64,6 +66,7 @@ TEST_CASE("[ProjectSettings] Default value is ignored if setting exists") {
String name = variant;
CHECK_EQ(name, "GDScript Integration Test Suite");
}
#endif // TOOLS_ENABLED

TEST_CASE("[ProjectSettings] Non existing setting is null") {
CHECK_FALSE(ProjectSettings::get_singleton()->has_setting("not_existing_setting"));
Expand Down
3 changes: 3 additions & 0 deletions tests/core/io/test_image.h
Original file line number Diff line number Diff line change
Expand Up @@ -88,11 +88,14 @@ TEST_CASE("[Image] Saving and loading") {
err == OK,
"The image should be saved successfully as a .png file.");

// Only available on editor builds.
#ifdef TOOLS_ENABLED
// Save EXR
err = image->save_exr(save_path_exr, false);
CHECK_MESSAGE(
err == OK,
"The image should be saved successfully as an .exr file.");
#endif // TOOLS_ENABLED

// Load using load()
Ref<Image> image_load = memnew(Image());
Expand Down
24 changes: 24 additions & 0 deletions tests/core/os/test_os.h
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,7 @@ TEST_CASE("[OS] Ticks") {
}

TEST_CASE("[OS] Feature tags") {
#ifdef TOOLS_ENABLED
CHECK_MESSAGE(
OS::get_singleton()->has_feature("editor"),
"The binary has the \"editor\" feature tag.");
Expand All @@ -105,6 +106,29 @@ TEST_CASE("[OS] Feature tags") {
CHECK_MESSAGE(
!OS::get_singleton()->has_feature("template_release"),
"The binary does not have the \"template_release\" feature tag.");
#else
CHECK_MESSAGE(
!OS::get_singleton()->has_feature("editor"),
"The binary does not have the \"editor\" feature tag.");
CHECK_MESSAGE(
OS::get_singleton()->has_feature("template"),
"The binary has the \"template\" feature tag.");
#ifdef DEBUG_ENABLED
CHECK_MESSAGE(
OS::get_singleton()->has_feature("template_debug"),
"The binary has the \"template_debug\" feature tag.");
CHECK_MESSAGE(
!OS::get_singleton()->has_feature("template_release"),
"The binary does not have the \"template_release\" feature tag.");
#else
CHECK_MESSAGE(
!OS::get_singleton()->has_feature("template_debug"),
"The binary does not have the \"template_debug\" feature tag.");
CHECK_MESSAGE(
OS::get_singleton()->has_feature("template_release"),
"The binary has the \"template_release\" feature tag.");
#endif // DEBUG_ENABLED
#endif // TOOLS_ENABLED
}

TEST_CASE("[OS] Process ID") {
Expand Down
2 changes: 1 addition & 1 deletion tests/core/string/test_translation.h
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,7 @@ TEST_CASE("[TranslationPO] Plural messages") {
CHECK(vformat(translation->get_plural_message("There are %d apples", "", 2), 2) == "Il y a 2 pommes");
}

#ifdef TOOLS_ENABLED
TEST_CASE("[OptimizedTranslation] Generate from Translation and read messages") {
Ref<Translation> translation = memnew(Translation);
translation->set_locale("fr");
Expand All @@ -150,7 +151,6 @@ TEST_CASE("[OptimizedTranslation] Generate from Translation and read messages")
CHECK(messages.size() == 0);
}

#ifdef TOOLS_ENABLED
TEST_CASE("[TranslationCSV] CSV import") {
Ref<ResourceImporterCSVTranslation> import_csv_translation = memnew(ResourceImporterCSVTranslation);

Expand Down

0 comments on commit 8a9c9ef

Please sign in to comment.