From 17f888c6e2038c90e8e2a2a822744ddbbf3d539c Mon Sep 17 00:00:00 2001 From: Dale Glass Date: Sun, 27 Nov 2022 01:11:16 +0100 Subject: [PATCH] Add use of models provided by DrFran and Madders for testing. They will be downloaded automatically when the test suite is built. --- tests/model-serializers/CMakeLists.txt | 76 +++++++++++++++++++ .../src/ModelSerializersTests.cpp | 8 +- 2 files changed, 82 insertions(+), 2 deletions(-) diff --git a/tests/model-serializers/CMakeLists.txt b/tests/model-serializers/CMakeLists.txt index c4df515279..9049aee4eb 100644 --- a/tests/model-serializers/CMakeLists.txt +++ b/tests/model-serializers/CMakeLists.txt @@ -1,9 +1,85 @@ + # Declare dependencies macro (setup_testcase_dependencies) # link in the shared libraries link_hifi_libraries(shared test-utils model-serializers networking model-networking hfm graphics gpu image) + + # The test system is a bit unusual in how it works, and generates targets on its own. + # This macro will be called for each of them, so we want to add stuff only to the + # right targets. + if("${TARGET_NAME}" STREQUAL "model-serializers-ModelSerializersTests") + + + # Abuse the ExternalProject system to download files. There exists ExternalData, but it really wants to + # use some obscure hash-based naming system for some reason. I think it's preferrable to have human readable + # filenames. + + # Provided by DrFran for testing. + ExternalProject_Add( + ukr_franny + PREFIX "models" + URL "https://testing-assets.overte.org/model-serializers/UkraineFranny.glb.gz" + URL_HASH SHA512=a0187ea19252b506621d34bb5652642e1d29832377fe2584d73fdb297ea353c3153c0bf9975c3b24f1d328b435b7081a1490c1948d20dbcd06f1516a5bb2972e + DOWNLOAD_NO_EXTRACT true CONFIGURE_COMMAND "" BUILD_COMMAND "" INSTALL_COMMAND "" + ) + + # Provided by DrFran for testing. + ExternalProject_Add( + dragon_franny + PREFIX "models" + URL "https://testing-assets.overte.org/model-serializers/DragonAvatar1.glb.gz" + URL_HASH SHA512=0c3b353ed3d7e9d6eaaaa9ec0026671ab0be1651182468828b8522f37d51d8a42f45269dd37bcdbeaa72b968872372a62ae1997cc1ceb40fdc30e6fb286aa263 + DOWNLOAD_NO_EXTRACT true CONFIGURE_COMMAND "" BUILD_COMMAND "" INSTALL_COMMAND "" + ) + + # Provided by DrFran for testing. + ExternalProject_Add( + franny + PREFIX "models" + URL "https://testing-assets.overte.org/model-serializers/Franny.glb.gz" + URL_HASH SHA512=dddcdfa629fb2f8153ffa8d04aaca47974147a038f615b78ad1a56b2e6a07b267e63a5618f735e726d8e5da0c9dcd0db901d988a6f0aa08e5f6078b7d1d62ac9 + DOWNLOAD_NO_EXTRACT true CONFIGURE_COMMAND "" BUILD_COMMAND "" INSTALL_COMMAND "" + ) + + # Provided by Madders for testing. + ExternalProject_Add( + madders1 + PREFIX "models" + URL "https://testing-assets.overte.org/model-serializers/womanInTShirt.glb.gz" + URL_HASH SHA512=fca388c04de5a9e3ed05bd28b9021873f5f95e26bf9fbb525fd1940d9d3652b2d38d548db4826927b16cb4b8a8d2017f12b303cbd4ee52688716533f438cdbd7 + DOWNLOAD_NO_EXTRACT true CONFIGURE_COMMAND "" BUILD_COMMAND "" INSTALL_COMMAND "" + ) + + # Provided by Madders for testing. + ExternalProject_Add( + madders2 + PREFIX "models" + URL "https://testing-assets.overte.org/model-serializers/female-avatar-with-swords.glb.gz" + URL_HASH SHA512=8ef5d3e8c9031dfa1de1b81fcf1efd398f4a369b23f4cda7e2c709072ddd86ac4b61928dd04a7312ca88874f6d99c264e5681b0e6e48a9d08de9f297c4330098 + DOWNLOAD_NO_EXTRACT true CONFIGURE_COMMAND "" BUILD_COMMAND "" INSTALL_COMMAND "" + ) + + # Generated by Dale Glass at Ready Player Me for testing. + ExternalProject_Add( + broken + PREFIX "models" + URL "https://testing-assets.overte.org/model-serializers/broken-2022-11-27.glb.gz" + URL_HASH SHA512=10193c35cc92ca3b760189bb9c308e4bd87f2424f02a38da91c21f4b472f6115af7248c64d827d98d0e7659b378cbf01591bec0c5b964f4d19388a10e5b83ffc + DOWNLOAD_NO_EXTRACT true CONFIGURE_COMMAND "" BUILD_COMMAND "" INSTALL_COMMAND "" + ) + + + add_dependencies(${TARGET_NAME} ukr_franny) + add_dependencies(${TARGET_NAME} dragon_franny) + add_dependencies(${TARGET_NAME} franny) + add_dependencies(${TARGET_NAME} madders1) + add_dependencies(${TARGET_NAME} madders2) + add_dependencies(${TARGET_NAME} broken) + endif() + + package_libraries_for_deployment() endmacro () diff --git a/tests/model-serializers/src/ModelSerializersTests.cpp b/tests/model-serializers/src/ModelSerializersTests.cpp index 4d51a4cc9f..2d5e5133cd 100644 --- a/tests/model-serializers/src/ModelSerializersTests.cpp +++ b/tests/model-serializers/src/ModelSerializersTests.cpp @@ -56,8 +56,12 @@ void ModelSerializersTests::loadGLTF_data() { QTest::addColumn("expectWarnings"); QTest::addColumn("expectErrors"); - QTest::newRow("crash1") << "635d84711260644e7e393e0b.glb.gz" << false << true; - QTest::newRow("crash2") << "dude.glb.gz" << false << true; + QTest::newRow("ready-player-me-good1") << "models/src/DragonAvatar1.glb.gz" << false << false; + QTest::newRow("ready-player-me-good2") << "models/src/UkraineFranny.glb.gz" << false << false; + QTest::newRow("ready-player-me-good3") << "models/src/Franny.glb.gz" << false << false; + QTest::newRow("ready-player-me-good4") << "models/src/womanInTShirt.glb.gz" << false << false; + QTest::newRow("ready-player-me-good5") << "models/src/female-avatar-with-swords.glb.gz" << false << false; + QTest::newRow("ready-player-me-broken1") << "models/src/broken-2022-11-27.glb.gz" << false << true; }