Closed fvasquez closed 7 years ago
Unit tests have been split into three folders. FrameRate/UnitTests must be run in an x64 process.
Why must these be run as 64-bit processes? Do they not build as 32-bit?
I'm sorry. I meant Reordering/UnitTests need to be run in an x64 process. The reason is that the relative paths to the input and expected data files are one level higher for x64.
aris-integration-sdk\common\code\Reordering\UnitTests\data
aris-integration-sdk\common\code\Reordering\UnitTests\Debug
aris-integration-sdk\common\code\Reordering\UnitTests\x64\Debug
So the paths to .dat files in the unit tests are prefixed with ../../ instead of ../. The tests build in 32-bit but fail at execution time because the .dat files are not found. I chose to enable x64 over 32-bit because I figured more people would be consuming the code that way. There's probably some way to solve this problem (resource files maybe?) but I haven't delved into it much yet. I didn't want to switch to absolute paths or introduce conditional (x86 vs. x64) preprocessor logic.
The only people known to use this code run 32-bit processes. More than that, we should run both 32- and 64-bit tests in CI. Feel free to check pointer size to adjust the path to the data files.
Ugh, 10 commits due to the merge. Please start squashing your merge.
Also moved reordering and depth unit tests from diverheld build to ARIS Integration SDK. Addresses SoundMetrics/aris-onboard#40. Note that unit tests need to be run in Visual Studio with x64 selected as Default Processor Architecture under Test Settings menu.