File tree Expand file tree Collapse file tree
overlay/nbl/builtin/hlsl/math/linalg Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -143,6 +143,7 @@ class NBL_API2 ISystem : public core::IReferenceCounted
143143
144144 void unmountBuiltins ();
145145 bool areBuiltinsMounted () const ;
146+ inline size_t getMountedArchiveCount () const { return m_cachedArchiveFiles.getSize (); }
146147
147148 //
148149 struct SystemInfo
Original file line number Diff line number Diff line change @@ -269,9 +269,6 @@ set(NBL_NSC_PREINSTALL_TARGET_EXE_FILENAME $<TARGET_FILE_NAME:${EXECUTABLE_NAME}
269269set (NBL_NSC_PREINSTALL_TARGET_EXE_FILEPATH "${NBL_NSC_PREINSTALL_TARGET_EXE_DIRECTORY} /${NBL_NSC_PREINSTALL_TARGET_EXE_FILENAME} " )
270270set (NBL_NSC_BUILD_INFO_FILENAME build-info.json)
271271set (NBL_NSC_PREINSTALL_TARGET_BUILD_INFO "${NBL_NSC_PREINSTALL_TARGET_EXE_DIRECTORY} /${NBL_NSC_BUILD_INFO_FILENAME} " )
272- set (NBL_NSC_UNMOUNT_TEST_INPUT "${CMAKE_CURRENT_SOURCE_DIR} /test/hlsl/unmount/input.hlsl" )
273- set (NBL_NSC_UNMOUNT_TEST_INCLUDE_ROOT "${CMAKE_CURRENT_SOURCE_DIR} /test/hlsl/unmount/overlay" )
274- set (NBL_NSC_UNMOUNT_TEST_OUTPUT "${NBL_NSC_COMPILE_DIRECTORY} /unmount.preprocessed.hlsl" )
275272
276273add_test (NAME NBL_NSC_COMPILE_AT_EXE_CWD_TEST
277274 COMMAND "${NBL_NSC_PREINSTALL_TARGET_EXE_FILENAME} " ${NBL_NSC_COMPILE_COMMAND}
@@ -290,13 +287,9 @@ add_test(NAME NBL_NSC_DUMP_BUILD_INFO_TEST
290287 COMMAND_EXPAND_LISTS
291288)
292289
293- add_test (NAME NBL_NSC_NO_NBL_BUILTINS_UNMOUNT_TEST
290+ add_test (NAME NBL_NSC_SELF_TEST_UNMOUNT_BUILTINS
294291 COMMAND "${NBL_NSC_PREINSTALL_TARGET_EXE_FILEPATH} "
295- -P
296- -no-nbl-builtins
297- -Fc "${NBL_NSC_UNMOUNT_TEST_OUTPUT} "
298- -I "${NBL_NSC_UNMOUNT_TEST_INCLUDE_ROOT} "
299- "${NBL_NSC_UNMOUNT_TEST_INPUT} "
292+ --self-test-unmount-builtins
300293 WORKING_DIRECTORY "${NBL_NSC_PREINSTALL_TARGET_EXE_DIRECTORY} "
301294 COMMAND_EXPAND_LISTS
302295)
Original file line number Diff line number Diff line change @@ -166,6 +166,7 @@ class ShaderCompiler final : public IApplicationFramework
166166
167167 argparse::ArgumentParser program (" nsc" );
168168 program.add_argument (" --dump-build-info" ).default_value (false ).implicit_value (true );
169+ program.add_argument (" --self-test-unmount-builtins" ).default_value (false ).implicit_value (true );
169170 program.add_argument (" --file" ).default_value (std::string{});
170171 program.add_argument (" -P" ).default_value (false ).implicit_value (true );
171172 program.add_argument (" -no-nbl-builtins" ).default_value (false ).implicit_value (true );
@@ -206,6 +207,26 @@ class ShaderCompiler final : public IApplicationFramework
206207 if (!m_system)
207208 return false ;
208209
210+ if (program.get <bool >(" --self-test-unmount-builtins" ))
211+ {
212+ const auto mountedArchiveCount = m_system->getMountedArchiveCount ();
213+ if (!mountedArchiveCount)
214+ {
215+ std::cerr << " Builtins were not mounted at startup.\n " ;
216+ return false ;
217+ }
218+
219+ m_system->unmountBuiltins ();
220+
221+ if (const auto remainingArchiveCount = m_system->getMountedArchiveCount (); remainingArchiveCount != 0ull )
222+ {
223+ std::cerr << " Builtins unmount self-test failed. Remaining mounted archives: " << remainingArchiveCount << " \n " ;
224+ return false ;
225+ }
226+
227+ return true ;
228+ }
229+
209230 if (rawArgs.size () < 2 )
210231 {
211232 std::cerr << " Insufficient arguments.\n " ;
Load Diff This file was deleted.
Load Diff This file was deleted.
You can’t perform that action at this time.
0 commit comments