Page MenuHomeWildfire Games

Fix tests without public mod following globalscripts tests rP22970 and mapscript tests rP23455
ClosedPublic

Authored by elexis on Feb 27 2020, 6:45 PM.

Details

Summary

rP22970 and rP23455 introduced globalscripts and mapgenerator tests and asserted that their respective directories are found.
This has been reported by ricotz on irc today http://irclogs.wildfiregames.com/2020-02/2020-02-27-QuakeNet-%230ad-dev.log

Running cxxtest tests (336 tests).....
In TestMapGenerator::test_mapgen_scripts:
/build/0ad-0.0.24~r23514/source/graphics/tests/test_MapGenerator.h:42: Error: Expected ((vfs::GetPathnames(g_VFS, L"maps/random/tests/", L"test_*.js", paths)) == INFO::OK), found (-110100 != 0)
....................................................................................................................................................................................................................................
In TestComponentScripts::test_global_scripts:
/build/0ad-0.0.24~r23514/source/simulation2/components/tests/test_scripts.h:62: Error: Expected ((vfs::GetPathnames(g_VFS, L"globalscripts/tests/", L"test_*.js", paths)) == INFO::OK), found (-110100 != 0)
WARNING: Skipping component scripts tests (can't find binaries/data/mods/public/simulation/components/tests/setup.js)
.....................................................................................................
Failed 2 and Skipped 0 of 336 tests
Test Plan

Notice that we can't use TS_Skip (which is the proper way to skip tests) without enabling exception handling.
Rename the public folder in the working copy to test this case.

Event Timeline

elexis created this revision.Feb 27 2020, 6:45 PM

Build failure - The Moirai have given mortals hearts that can endure.

Link to build: https://jenkins.wildfiregames.com/job/docker-differential/1825/display/redirect

Stan added a reviewer: Itms.Mar 18 2020, 12:17 PM
Silier accepted this revision.Apr 19 2020, 10:29 AM

All tests passing with missing public folder

<?xml version="1.0" encoding="UTF-8" ?>
<testsuite name="cxxtest" date="Sun Apr 19 10:28:25 2020" tests="340" errors="0" failures="0" time="0" >
    <testcase classname="TestCamera" name="test_frustum_perspective" line="30" />
    <testcase classname="TestCamera" name="test_frustum_ortho" line="61" />
    <testcase classname="TestCamera" name="test_persepctive_plane_points" line="129" />
    <testcase classname="TestColor" name="test_Color4ub" line="30" />
    <testcase classname="TestLOSTexture" name="test_basic" line="28" />
    <testcase classname="TestMapGenerator" name="test_mapgen_scripts" line="39" />
    <testcase classname="TestMeshManager" name="test_load_pmd_with_extension" line="126" />
    <testcase classname="TestMeshManager" name="test_load_pmd_without_extension" line="136" />
    <testcase classname="TestMeshManager" name="test_caching" line="146" />
    <testcase classname="TestMeshManager" name="test_load_dae" line="157" />
    <testcase classname="TestMeshManager" name="test_load_dae_caching" line="167" />
    <testcase classname="TestMeshManager" name="test_invalid_skeletons" line="181" />
    <testcase classname="TestMeshManager" name="test_invalid_dae" line="196" />
    <testcase classname="TestMeshManager" name="test_load_nonexistent_pmd" line="211" />
    <testcase classname="TestMeshManager" name="test_load_nonexistent_dae" line="220" />
    <testcase classname="TestMeshManager" name="test_load_across_relaxng" line="229" />
    <testcase classname="TestMeshManager" name="test_load_dae_bogus_material_target" line="252" />
    <testcase classname="TestShaderManager" name="test_defines" line="27" />
    <testcase classname="TestShaderManager" name="test_defines_order" line="64" />
    <testcase classname="TestShaderManager" name="test_uniforms" line="92" />
    <testcase classname="TestTerrain" name="test_GetExactGroundLevel" line="71" />
    <testcase classname="TestTerrain" name="test_GetExactGroundLevelFixed" line="99" />
    <testcase classname="TestTerrain" name="test_GetExactGroundLevelFixed_max" line="129" />
    <testcase classname="TestTerrain" name="test_CalcNormal" line="151" />
    <testcase classname="TestTerrain" name="test_CalcNormalFixed" line="175" />
    <testcase classname="TestTerrain" name="test_Resize" line="199" />
    <testcase classname="TestTextureConverter" name="test_convert_quality" line="48" />
    <testcase classname="TestTextureManager" name="test_load_basic" line="57" />
    <testcase classname="TestTextureManager" name="test_load_formats" line="101" />
    <testcase classname="TestGuiManager" name="test_hotkeysState" line="56" />
    <testcase classname="TestGuiParseString" name="test_guisize" line="27" />
    <testcase classname="TestGuiParseString" name="test_rect" line="66" />
    <testcase classname="TestGuiParseString" name="test_size" line="79" />
    <testcase classname="TestGuiParseString" name="test_pos" line="92" />
    <testcase classname="TestAllocators" name="test_da" line="31" />
    <testcase classname="TestHeaderless" name="test_Basic" line="33" />
    <testcase classname="TestHeaderless" name="test_Free" line="60" />
    <testcase classname="TestHeaderless" name="test_Coalesce" line="70" />
    <testcase classname="TestHeaderless" name="test_Reset" line="96" />
    <testcase classname="TestHeaderless" name="test_Randomized" line="107" />
    <testcase classname="TestTraceEntry" name="test_entry" line="30" />
    <testcase classname="TestTraceEntry" name="test_maxpath" line="64" />
    <testcase classname="TestVfsTree" name="test_replacement" line="142" />
    <testcase classname="TestVfsTree" name="test_deleted" line="161" />
    <testcase classname="TestVfsUtil" name="test_getPathnames" line="75" />
    <testcase classname="TestPosix" name="test_wcsdup" line="30" />
    <testcase classname="TestTex" name="test_mipmap_create" line="33" />
    <testcase classname="TestTex" name="test_img_size" line="48" />
    <testcase classname="TestTex" name="test_s3tc_decode" line="62" />
    <testcase classname="TestIA32" name="test_rdtsc" line="34" />
    <testcase classname="TestIA32" name="test_ia32_cap" line="43" />
    <testcase classname="TestWdbgSym" name="test_stack_trace" line="292" />
    <testcase classname="TestWdbgSym" name="test_stack_walk" line="297" />
    <testcase classname="Test_rtl" name="test_AllocateAligned" line="38" />
    <testcase classname="Test_rtl" name="test_FreeAligned_null" line="50" />
    <testcase classname="TestSysdep" name="test_random" line="40" />
    <testcase classname="TestSysdep" name="test_sys_ExecutablePathname" line="48" />
    <testcase classname="TestSysdep" name="test_unix_ExecutablePathname" line="61" />
    <testcase classname="TestRingbuf" name="test_insert_remove" line="33" />
    <testcase classname="TestRingbuf" name="test_fill_overwrite_old" line="45" />
    <testcase classname="TestRingbuf" name="test_randomized_insert_remove" line="62" />
    <testcase classname="TestBase32" name="test_base32" line="30" />
    <testcase classname="TestBase32" name="test_base32_lengths" line="40" />
    <testcase classname="TestBits" name="test_Bit" line="33" />
    <testcase classname="TestBits" name="test_IsBitSet" line="43" />
    <testcase classname="TestBits" name="test_bit_mask" line="56" />
    <testcase classname="TestBits" name="test_bits" line="70" />
    <testcase classname="TestBits" name="test_PopulationCount" line="87" />
    <testcase classname="TestBits" name="test_is_pow2" line="105" />
    <testcase classname="TestBits" name="test_ceil_log2" line="114" />
    <testcase classname="TestBits" name="test_floor_log2" line="123" />
    <testcase classname="TestBits" name="test_round_up_to_pow2" line="130" />
    <testcase classname="TestBits" name="test_round_down_to_pow2" line="139" />
    <testcase classname="TestBits" name="test_round_up" line="147" />
    <testcase classname="TestBits" name="test_round_down" line="159" />
    <testcase classname="TestByteOrder" name="test_conversion" line="30" />
    <testcase classname="TestByteOrder" name="test_movzx" line="64" />
    <testcase classname="TestByteOrder" name="test_movsx" line="82" />
    <testcase classname="TestCache" name="test_cache_perf" line="31" />
    <testcase classname="TestFnvHash" name="test_fnv_hash" line="30" />
    <testcase classname="TestLib" name="test_hi_lo" line="30" />
    <testcase classname="TestPath" name="test_ctor" line="31" />
    <testcase classname="TestPathUtil" name="test_subpath" line="40" />
    <testcase classname="TestPathUtil" name="test_name_only" line="63" />
    <testcase classname="TestRand" name="TestParam" line="31" />
    <testcase classname="TestRand" name="TestReturnedRange" line="41" />
    <testcase classname="TestRand" name="TestTwoValues" line="52" />
    <testcase classname="TestRegex" name="test_regex" line="30" />
    <testcase classname="TestString_s" name="test_param_validation" line="169" />
    <testcase classname="TestString_s" name="test_length" line="236" />
    <testcase classname="TestString_s" name="test_copy" line="253" />
    <testcase classname="TestString_s" name="test_concatenate" line="271" />
    <testcase classname="TestString_s" name="test_printf_overflow" line="321" />
    <testcase classname="TestString_s" name="test_wprintf_overflow" line="334" />
    <testcase classname="TestString_s" name="test_printf_strings" line="347" />
    <testcase classname="TestString_s" name="test_wprintf_strings" line="354" />
    <testcase classname="Test_wchar" name="test_utf8_utf16_conversion" line="31" />
    <testcase classname="Test_wchar" name="test_invalid_utf8" line="65" />
    <testcase classname="TestBound" name="test_empty_aabb" line="38" />
    <testcase classname="TestBound" name="test_empty_obb" line="48" />
    <testcase classname="TestBound" name="test_extend_vector" line="61" />
    <testcase classname="TestBound" name="test_extend_bound" line="72" />
    <testcase classname="TestBound" name="test_aabb_to_obb_translation" line="84" />
    <testcase classname="TestBound" name="test_aabb_to_obb_rotation_around_origin" line="101" />
    <testcase classname="TestBound" name="test_aabb_to_obb_rotation_around_point" line="119" />
    <testcase classname="TestBound" name="test_aabb_to_obb_scale" line="149" />
    <testcase classname="TestBound" name="test_degenerate_obb_ray_intersect" line="168" />
    <testcase classname="TestBound" name="test_degenerate_aabb_to_obb_transform" line="193" />
    <testcase classname="TestBoundingSphere" name="test_basic" line="28" />
    <testcase classname="TestBoundingSphere" name="test_intersections" line="68" />
    <testcase classname="TestBrush" name="test_slice_empty_brush" line="37" />
    <testcase classname="TestBrush" name="test_slice_plane_simple" line="48" />
    <testcase classname="TestBrush" name="test_slice_plane_behind_brush" line="78" />
    <testcase classname="TestBrush" name="test_slice_plane_in_front_of_brush" line="108" />
    <testcase classname="TestFixed" name="test_basic" line="26" />
    <testcase classname="TestFixed" name="test_FromInt" line="37" />
    <testcase classname="TestFixed" name="test_FromFloat" line="45" />
    <testcase classname="TestFixed" name="test_FromDouble" line="65" />
    <testcase classname="TestFixed" name="test_FromFloat_Rounding" line="85" />
    <testcase classname="TestFixed" name="test_FromString" line="98" />
    <testcase classname="TestFixed" name="test_ToString" line="119" />
    <testcase classname="TestFixed" name="test_RoundToZero" line="144" />
    <testcase classname="TestFixed" name="test_RoundToInfinity" line="160" />
    <testcase classname="TestFixed" name="test_RoundToNegInfinity" line="176" />
    <testcase classname="TestFixed" name="test_RoundToNearest" line="192" />
    <testcase classname="TestFixed" name="test_Mod" line="210" />
    <testcase classname="TestFixed" name="test_Sqrt" line="224" />
    <testcase classname="TestFixed" name="test_Atan2" line="234" />
    <testcase classname="TestFixed" name="test_SinCos" line="279" />
    <testcase classname="TestFixedVector2D" name="test_basic" line="33" />
    <testcase classname="TestFixedVector2D" name="test_Length" line="53" />
    <testcase classname="TestFixedVector2D" name="test_CompareLength" line="69" />
    <testcase classname="TestFixedVector2D" name="test_Normalize" line="89" />
    <testcase classname="TestFixedVector2D" name="test_NormalizeTo" line="112" />
    <testcase classname="TestFixedVector2D" name="test_Dot" line="157" />
    <testcase classname="TestFixedVector3D" name="test_basic" line="35" />
    <testcase classname="TestFixedVector3D" name="test_Length" line="55" />
    <testcase classname="TestFixedVector3D" name="test_Normalize" line="71" />
    <testcase classname="TestFixedVector3D" name="test_NormalizeTo" line="94" />
    <testcase classname="TestFixedVector3D" name="test_Cross" line="139" />
    <testcase classname="TestFixedVector3D" name="test_Dot" line="147" />
    <testcase classname="TestMD5" name="test_rfc" line="42" />
    <testcase classname="TestMD5" name="test_align" line="55" />
    <testcase classname="TestMD5" name="test_align_long" line="68" />
    <testcase classname="TestMD5" name="test_padding" line="84" />
    <testcase classname="TestMD5" name="test_chunks" line="93" />
    <testcase classname="TestMatrix" name="test_inverse" line="28" />
    <testcase classname="TestMatrix" name="test_quats" line="53" />
    <testcase classname="TestMatrix" name="test_rotate" line="84" />
    <testcase classname="TestMatrix" name="test_getRotation" line="125" />
    <testcase classname="TestMatrix" name="test_scale" line="144" />
    <testcase classname="TestSqrt" name="test_sqrt" line="39" />
    <testcase classname="TestSqrt" name="test_random" line="73" />
    <testcase classname="TestNetMessage" name="test_sim" line="27" />
    <testcase classname="TestCmdLineArgs" name="test_has" line="25" />
    <testcase classname="TestCmdLineArgs" name="test_get" line="35" />
    <testcase classname="TestCmdLineArgs" name="test_multiple" line="47" />
    <testcase classname="TestCmdLineArgs" name="test_get_invalid" line="67" />
    <testcase classname="TestCmdLineArgs" name="test_arg0" line="80" />
    <testcase classname="TestCmdLineArgs" name="test_get_without_names" line="98" />
    <testcase classname="TestRelaxNG" name="test_basic" line="37" />
    <testcase classname="TestRelaxNG" name="test_interleave" line="59" />
    <testcase classname="TestRelaxNG" name="test_datatypes" line="66" />
    <testcase classname="TestRelaxNG" name="test_broken_grammar" line="87" />
    <testcase classname="TestXmlWriter" name="test1" line="25" />
    <testcase classname="TestXmlWriter" name="test_basic" line="90" />
    <testcase classname="TestXmlWriter" name="test_nonpretty" line="116" />
    <testcase classname="TestXmlWriter" name="test_text" line="138" />
    <testcase classname="TestXmlWriter" name="test_utf8" line="156" />
    <testcase classname="TestXmlWriter" name="test_attr_escape" line="174" />
    <testcase classname="TestXmlWriter" name="test_chardata_escape" line="189" />
    <testcase classname="TestXmlWriter" name="test_cdata_escape" line="204" />
    <testcase classname="TestXmlWriter" name="test_comment_escape" line="219" />
    <testcase classname="TestXeroXMB" name="test_basic" line="53" />
    <testcase classname="TestXeroXMB" name="test_GetFirstNamedItem" line="89" />
    <testcase classname="TestXeroXMB" name="test_doctype_ignored" line="113" />
    <testcase classname="TestXeroXMB" name="test_complex_parse" line="120" />
    <testcase classname="TestXeroXMB" name="test_unicode" line="126" />
    <testcase classname="TestXeroXMB" name="test_iso88591" line="142" />
    <testcase classname="TestXeromyces" name="test_LoadString" line="40" />
    <testcase classname="TestXeromyces" name="test_LoadString_invalid" line="47" />
    <testcase classname="TestDummy" name="test_dummy" line="46" />
    <testcase classname="TestCColor" name="test_parse" line="26" />
    <testcase classname="TestCColor" name="test_parse_failure" line="47" />
    <testcase classname="TestCLogger" name="test_basic" line="25" />
    <testcase classname="TestCLogger" name="test_unicode" line="37" />
    <testcase classname="TestCLogger" name="test_html" line="48" />
    <testcase classname="TestCStr" name="test_utf8_utf16_conversion" line="25" />
    <testcase classname="TestCStr" name="test_invalid_utf8" line="59" />
    <testcase classname="TestCStr" name="test_serialize_8" line="100" />
    <testcase classname="TestCStr" name="test_parse" line="110" />
    <testcase classname="TestModIo" name="test_id_parsing" line="43" />
    <testcase classname="TestModIo" name="test_mods_parsing" line="91" />
    <testcase classname="TestModIo" name="test_signature_parsing" line="184" />
    <testcase classname="TestFmt" name="test_basic" line="25" />
    <testcase classname="TestTest" name="test_assert_size_t" line="25" />
    <testcase classname="TestTest" name="test_cstr" line="50" />
    <testcase classname="TestObjectToIDMap" name="test_movinggc" line="27" />
    <testcase classname="TestScriptConversions" name="test_roundtrip" line="114" />
    <testcase classname="TestScriptConversions" name="test_integers" line="172" />
    <testcase classname="TestScriptConversions" name="test_nonfinite" line="201" />
    <testcase classname="TestScriptConversions" name="test_fixed" line="220" />
    <testcase classname="TestScriptConversions" name="test_vector2d" line="237" />
    <testcase classname="TestScriptConversions" name="test_vector3d" line="246" />
    <testcase classname="TestScriptInterface" name="test_loadscript_basic" line="29" />
    <testcase classname="TestScriptInterface" name="test_loadscript_error" line="38" />
    <testcase classname="TestScriptInterface" name="test_loadscript_strict_warning" line="46" />
    <testcase classname="TestScriptInterface" name="test_loadscript_strict_error" line="55" />
    <testcase classname="TestScriptInterface" name="test_clone_basic" line="63" />
    <testcase classname="TestScriptInterface" name="test_clone_getters" line="85" />
    <testcase classname="TestScriptInterface" name="test_clone_cyclic" line="109" />
    <testcase classname="TestScriptInterface" name="test_rooted_templates" line="143" />
    <testcase classname="TestScriptInterface" name="test_random" line="221" />
    <testcase classname="TestScriptInterface" name="test_json" line="241" />
    <testcase classname="TestScriptInterface" name="test_function_override" line="260" />
    <testcase classname="TestCmpCinemaManager" name="test_basic" line="35" />
    <testcase classname="TestCmpCommandQueue" name="test_basic" line="35" />
    <testcase classname="TestHierarchicalPathfinder" name="test_reachability_and_update" line="104" />
    <testcase classname="TestHierarchicalPathfinder" name="test_passability" line="284" />
    <testcase classname="TestHierarchicalPathfinder" name="test_regions_flood_fill" line="486" />
    <testcase classname="TestCmpObstructionManager" name="test_simple_collisions" line="136" />
    <testcase classname="TestCmpObstructionManager" name="test_filter_null" line="174" />
    <testcase classname="TestCmpObstructionManager" name="test_filter_stationary_only" line="202" />
    <testcase classname="TestCmpObstructionManager" name="test_filter_skip_tag" line="229" />
    <testcase classname="TestCmpObstructionManager" name="test_filter_skip_tag_require_flag" line="253" />
    <testcase classname="TestCmpObstructionManager" name="test_filter_skip_controlgroups_require_flag" line="310" />
    <testcase classname="TestCmpObstructionManager" name="test_adjacent_shapes" line="444" />
    <testcase classname="TestCmpObstructionManager" name="test_get_obstruction" line="485" />
    <testcase classname="TestCmpObstructionManager" name="test_distance_to" line="516" />
    <testcase classname="TestCmpPathfinder" name="test_namespace" line="58" />
    <testcase classname="TestCmpPathfinder" name="test_pathgoal_nearest_distance" line="67" />
    <testcase classname="TestCmpPosition" name="test_basic" line="65" />
    <testcase classname="TestCmpPosition" name="test_water" line="137" />
    <testcase classname="TestCmpPosition" name="test_serialize" line="210" />
    <testcase classname="TestCmpRangeManager" name="test_basic" line="88" />
    <testcase classname="TestCmpTerritoryManager" name="test_boundaries" line="38" />
    <testcase classname="TestCmpTerritoryManager" name="test_nested_boundaries1" line="61" />
    <testcase classname="TestCmpTerritoryManager" name="test_nested_boundaries2" line="158" />
    <testcase classname="TestComponentScripts" name="test_global_scripts" line="59" />
    <testcase classname="TestComponentScripts" name="test_scripts" line="78" />
    <testcase classname="TestCmpTemplateManager" name="test_LoadTemplate" line="52" />
    <testcase classname="TestCmpTemplateManager" name="test_LoadTemplate_scriptcache" line="86" />
    <testcase classname="TestCmpTemplateManager" name="test_LoadTemplate_errors" line="147" />
    <testcase classname="TestCmpTemplateManager" name="test_LoadTemplate_multiple" line="179" />
    <testcase classname="TestComponentManager" name="test_Load" line="59" />
    <testcase classname="TestComponentManager" name="test_LookupCID" line="66" />
    <testcase classname="TestComponentManager" name="test_AllocateNewEntity" line="76" />
    <testcase classname="TestComponentManager" name="test_rng" line="99" />
    <testcase classname="TestComponentManager" name="test_AddComponent_errors" line="125" />
    <testcase classname="TestComponentManager" name="test_QueryInterface" line="148" />
    <testcase classname="TestComponentManager" name="test_SendMessage" line="173" />
    <testcase classname="TestComponentManager" name="test_ParamNode" line="247" />
    <testcase classname="TestComponentManager" name="test_script_basic" line="268" />
    <testcase classname="TestComponentManager" name="test_script_helper_basic" line="312" />
    <testcase classname="TestComponentManager" name="test_script_global_helper" line="329" />
    <testcase classname="TestComponentManager" name="test_script_interface" line="345" />
    <testcase classname="TestComponentManager" name="test_script_errors" line="363" />
    <testcase classname="TestComponentManager" name="test_script_entityID" line="380" />
    <testcase classname="TestComponentManager" name="test_script_QueryInterface" line="400" />
    <testcase classname="TestComponentManager" name="test_script_AddEntity" line="421" />
    <testcase classname="TestComponentManager" name="test_script_AddLocalEntity" line="454" />
    <testcase classname="TestComponentManager" name="test_script_DestroyEntity" line="487" />
    <testcase classname="TestComponentManager" name="test_script_messages" line="507" />
    <testcase classname="TestComponentManager" name="test_script_template" line="540" />
    <testcase classname="TestComponentManager" name="test_script_template_readonly" line="562" />
    <testcase classname="TestComponentManager" name="test_script_hotload" line="584" />
    <testcase classname="TestComponentManager" name="test_script_modding" line="620" />
    <testcase classname="TestComponentManager" name="test_serialization" line="645" />
    <testcase classname="TestComponentManager" name="test_script_serialization" line="735" />
    <testcase classname="TestComponentManager" name="test_script_serialization_errors" line="829" />
    <testcase classname="TestComponentManager" name="test_script_serialization_template" line="847" />
    <testcase classname="TestComponentManager" name="test_dynamic_subscription" line="883" />
    <testcase classname="TestEntityMap" name="test_insert" line="37" />
    <testcase classname="TestEntityMap" name="test_iterators" line="76" />
    <testcase classname="TestEntityMap" name="test_erase" line="126" />
    <testcase classname="TestEntityMap" name="test_clear" line="163" />
    <testcase classname="TestEntityMap" name="test_find" line="177" />
    <testcase classname="TestParamNode" name="test_basic" line="38" />
    <testcase classname="TestParamNode" name="test_attrs" line="66" />
    <testcase classname="TestParamNode" name="test_ToXML" line="82" />
    <testcase classname="TestParamNode" name="test_overlay_basic" line="89" />
    <testcase classname="TestParamNode" name="test_overlay_disable" line="97" />
    <testcase classname="TestParamNode" name="test_overlay_replace" line="105" />
    <testcase classname="TestParamNode" name="test_overlay_tokens" line="113" />
    <testcase classname="TestParamNode" name="test_overlay_remove_nonexistent_token" line="121" />
    <testcase classname="TestParamNode" name="test_overlay_remove_empty_token" line="130" />
    <testcase classname="TestParamNode" name="test_overlay_filtered" line="138" />
    <testcase classname="TestParamNode" name="test_overlay_merge" line="151" />
    <testcase classname="TestParamNode" name="test_overlay_filtered_merge" line="159" />
    <testcase classname="TestParamNode" name="test_types" line="167" />
    <testcase classname="TestParamNode" name="test_escape" line="180" />
    <testcase classname="TestSerializeTemplates" name="test_Debug_vector" line="31" />
    <testcase classname="TestSerializeTemplates" name="test_Debug_set" line="44" />
    <testcase classname="TestSerializer" name="test_Debug_basic" line="75" />
    <testcase classname="TestSerializer" name="test_Debug_floats" line="86" />
    <testcase classname="TestSerializer" name="test_Debug_types" line="117" />
    <testcase classname="TestSerializer" name="test_Std_basic" line="148" />
    <testcase classname="TestSerializer" name="test_Std_types" line="175" />
    <testcase classname="TestSerializer" name="test_Hash_basic" line="242" />
    <testcase classname="TestSerializer" name="test_Hash_stream" line="256" />
    <testcase classname="TestSerializer" name="test_bounds" line="279" />
    <testcase classname="TestSerializer" name="test_script_basic" line="332" />
    <testcase classname="TestSerializer" name="test_script_unicode" line="382" />
    <testcase classname="TestSerializer" name="test_script_objects" line="402" />
    <testcase classname="TestSerializer" name="test_script_objects_properties" line="414" />
    <testcase classname="TestSerializer" name="test_script_typed_arrays_simple" line="419" />
    <testcase classname="TestSerializer" name="test_script_typed_arrays_complex" line="503" />
    <testcase classname="TestSerializer" name="test_script_map" line="549" />
    <testcase classname="TestSerializer" name="test_script_set" line="585" />
    <testcase classname="TestSerializer" name="test_script_map_nested" line="616" />
    <testcase classname="TestSerializer" name="test_script_set_nested" line="696" />
    <testcase classname="TestSerializer" name="test_script_nonfinite" line="720" />
    <testcase classname="TestSerializer" name="test_script_property_order" line="725" />
    <testcase classname="TestSerializer" name="test_script_array_sparse" line="731" />
    <testcase classname="TestSerializer" name="test_script_numbers" line="736" />
    <testcase classname="TestSerializer" name="test_script_exceptions" line="755" />
    <testcase classname="TestSerializer" name="test_script_splice" line="772" />
    <testcase classname="TestSimulation2" name="test_AddEntity" line="58" />
    <testcase classname="TestSimulation2" name="test_DestroyEntity" line="78" />
    <testcase classname="TestSimulation2" name="test_hotload_scripts" line="134" />
    <testcase classname="TestEncryptionPkcs5Pbkd2" name="test_pkcs5_pbkd2" line="25" />
    <testcase classname="TestPreprocessor" name="test_basic" line="55" />
    <testcase classname="TestPreprocessor" name="test_error" line="61" />
    <testcase classname="TestPreprocessor" name="test_else" line="68" />
    <testcase classname="TestPreprocessor" name="test_elif" line="82" />
    <testcase classname="TestPreprocessor" name="test_nested_macro" line="96" />
    <testcase classname="TestPreprocessor" name="test_division_by_zero_error" line="106" />
    <testcase classname="TestAtlasObjectXML" name="test_parse_basic" line="39" />
    <testcase classname="TestAtlasObjectXML" name="test_parse_child" line="47" />
    <testcase classname="TestAtlasObjectXML" name="test_parse_attributes1" line="57" />
    <testcase classname="TestAtlasObjectXML" name="test_parse_attributes2" line="67" />
    <testcase classname="TestAtlasObjectXML" name="test_parse_text1" line="77" />
    <testcase classname="TestAtlasObjectXML" name="test_parse_text2" line="85" />
    <testcase classname="TestAtlasObjectXML" name="test_parse_text3" line="95" />
    <testcase classname="TestAtlasObjectXML" name="test_parse_text4" line="105" />
    <testcase classname="TestAtlasObjectXML" name="test_parse_doctype" line="113" />
    <testcase classname="TestAtlasObjectXML" name="test_parse_ignored" line="121" />
    <testcase classname="TestAtlasObjectXML" name="test_parse_unicode" line="130" />
    <testcase classname="TestAtlasObjectXML" name="test_parse_unicode_nonbmp" line="139" />
    <testcase classname="TestAtlasObjectXML" name="test_parse_iso88591" line="148" />
</testsuite>
This revision is now accepted and ready to land.Apr 19 2020, 10:29 AM
Stan added a subscriber: Stan.Apr 19 2020, 11:00 AM

@Angen people don't build Jenkins tests though :) They build the normal ones. At least ricotz does so. But if it passes there it will pass with the other :)

From http://irclogs.wildfiregames.com/2020-04/2020-04-19-QuakeNet-%230ad-dev.log

09:02 < Angen> Stan`: :D only difference with jenkins tests is how report looks like
09:03 < Stan`> Except here it would have tests were skipped :D
09:04 < Freagarach> It would be annoying to test and have that warning show up when making a total conversion, right?
09:05 < Stan`> Freagarach, Not really
09:05 < Angen> would not, tests are not skipped
09:06 < Stan`> "WARNING: Skipping component scripts tests (can't find binaries/data/mods/public/simulation/components/tests/setup.js)"
09:06 < Stan`> Is that not skipping ^
09:06 < Stan`> :D
09:07 < Angen> I meant in TS_Skip way :)
09:07 < Angen> they are just ignored

TS_SKIP would be preferable, but enabling exception handling sounds a bit overkill. If there actually is an exception it shouldn't be handled differently, at least that wasn't part of the plan/scope of this diff and may cause further errors down the line if not carefully taken care of.
Right now the tests are not skipped but pass nominally as successful plus show that warning.

Good point about mods that may not provide some of the folders.
C++ expects the globalscripts folder in various places, but the random map test folder could realistically be left out in a mod that replaces public without providing that subfolder, plus I heard that empty directories are not packed(?) - In that case it would show up as "skipping test XYZ" and would be annoying.
Skipping without showing a message would be possible too but would not warn every other packager in case they miss the folder unintentionally.

The issue was discovered when ricotz built and tested the program without the public data package
http://irclogs.wildfiregames.com/2020-02/2020-02-27-QuakeNet-%230ad-dev.log

08:45 < ricotz> this worked in the past with 0.0.23
08:45 < ricotz> Running cxxtest tests (312 tests).................................................................................................................................................................................................................................WARNING: Skipping component scripts tests (can't find binaries/data/mods/public/simulation/components/tests/setup.js)
08:45 < ricotz> .......................................................................................OK!

So the objective of satisfying ricotz would be given by the present warning at least.

08:33 < ricotz> I mean skipping them might mask real problems

That's also true so perhaps its better to print that tests were skipped than skipping entirely silently.

I have a suspicion that a mod that would not provide the public folder nor the random map tests folder nor launch with the existing public mod would also be able to either change the C++ code to remove the test or to add an empty test to mute the warning.

(19:57:07) Angen: will you commit D2645 or shall i ?

My mistake with the random tests, so I fix it (without prejudice to other participation).

Thanks for the review Angen!

elexis added inline comments.Apr 23 2020, 2:01 PM
source/simulation2/components/tests/test_scripts.h
82

This one has the binaries/data/mods/public/ prefix, the others don't.

The prefix seems wrong because other mods could provide the test, but the prefix is right currently because the test program doesn't allow passing arguments (at least ERROR: unknown option '-mod=public_'). So I'll add the prefix to the other two places for now.

This revision was landed with ongoing or failed builds.Apr 23 2020, 2:07 PM
This revision was automatically updated to reflect the committed changes.
Owners added subscribers: Restricted Owners Package, Restricted Owners Package.Apr 23 2020, 2:07 PM