SoundMetrics / aris-integration-sdk

SDK for building custom controllers for the ARIS sonar.
MIT License
5 stars 2 forks source link

Add max frame rate calculation to ARIS Integration SDK. #55

Closed fvasquez closed 7 years ago

fvasquez commented 7 years ago

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.

fvasquez commented 7 years ago

Unit tests have been split into three folders. FrameRate/UnitTests must be run in an x64 process.

fvasquez commented 7 years ago

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.

curtnichols commented 7 years ago

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.

curtnichols commented 7 years ago

Ugh, 10 commits due to the merge. Please start squashing your merge.