New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CMake: Don't parallel-test on Windows, protect FFmpeg version checks #684
Conversation
Somehow the old UnitTest++ version of tests/KeyFrame_Tests.cpp got resurrected back into the repo. Shotgun blast to the head.
Codecov Report
@@ Coverage Diff @@
## develop #684 +/- ##
========================================
Coverage 50.41% 50.41%
========================================
Files 155 155
Lines 13315 13315
========================================
Hits 6713 6713
Misses 6602 6602 Continue to review full report at Codecov.
|
avcodec_VERSION and friends can be the empty string, on Windows
The only reason our project builder Windows builds were still working at all, I think, is that we don't start from a completely fresh build directory each time. (Or do we? I don't think so, or none of the Windows builds would have been able to get past the CMake configuration stage.) The existing build files were already set up, so the failure to detect FFmpeg component versions never came up. |
Checks out on Linux, but I'm going to let my own local Windows test builds finish before merging. |
If we don't have a version number and can't conclusively determine whether hwaccel is available, but the user hasn't disabled it explicitly, just don't report its status at all. Better than reporting it's disabled when that may not be true at all.
I was wrong. It appears that on Windows they just experience occasional hangs. I'm hoping it's just because the tests are being run in parallel. I've added logic to turn off the parallel testing on Windows platforms, we'll see if that clears it up. |
Somehow the old UnitTest++ version of tests/KeyFrame_Tests.cpp
got resurrected back into the repo. Shotgun blast to the head.
(@jonoomph : I THINK this is the cause of the Win32 builder issues, oddly enough. We'll find out as soon as I blow it away.)Update: I was wrong. It appears that on Windows the tests just experience occasional hangs. I'm hoping it's just because the tests are being run in parallel. I've added logic to turn off the parallel testing on Windows platforms, we'll see if that clears it up. It "felt" to me like the hangs were the result of multiple test runs trampling all over each other. (Possibly some race condition as they contend over the same ZeroMQ port bindings, or the like.)
Also, it seems I missed something pretty important, when I recently added new version logic to CMake: The version variables for the FFmpeg components are only set if FFmpeg is detected using PkgConfig. If it's not (i.e., on Windows) those variables will exist but contain the empty string, something I hadn't properly protected against. This should fix it.