Running tests locally

#1

I’m trying to get a branch ready for merge, but the pull request results are telling me that a few tests are failing, in an area I would not have expected my changes to impact at all. (I am working with missions, but failing tests are in ranged_balance.cpp)

I would like to be able to run these tests locally and figure out what is going on, but am at a loss as to how to do so. I am using Visual Studio on Windows. Can anyone tell me how to get tests working?

#2

You can ignore failing tests if they come from untouched code. Ranged tests are currently broken, but will be fixed eventually.

Open /msvc-full-features/Cataclysm.sln and build whole solution. There are will be two executables built - the game itself and tests executable. Put test executable to tests folder and run it from command line.

#3

Ah, so ranged tests are broken for unrelated reasons. That’s a relief.

Was mostly worried because my push request was listed as “Some checks were not successful” and wanted to figure out why. If it’s not my code, then that’s great. Does that mean people will merge in - or at least look at and critique it - pull requests that have the ranged tests failing, or does it mean that just about everything is not being looked at until the tests get fixed?

#4

Your first suggestion, maintainers are aware the tests are broken therefore it’s ok.
From what I’ve seen so far PRs are checked no matter the state of the tests.
PR with [WIP] in the title might be ignored but everything else seems to be looked at.

#5

Still having a bit of trouble running the test exe. If I run it in tests dir get

21:32:31.525 WARNING : opendir [data/sound] failed with "No such file or directory".

if I run it in main dir I get

 opendir [./mods/] failed with "No such file or directory"...\src\iexamine.cpp:4486 [iexamine_function_from_string] Could not find an iexamine function matching 'open_safe'!

run it in msvc-full-features/x64/Release/Tests get same error as first try in tests

I assume I’ve got something configured wrong, but cannot figure out what