Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upGitHub is where the world builds software
Millions of developers and companies build, ship, and maintain their software on GitHub — the largest and most advanced development platform in the world.
Travis CI fails tests that require ffmpeg/libavconv #12366
Comments
|
Current practice is marking those tests as skipped.
The reason is simple: we are lacking developers. I've once spent some time on fixing those issues and soon found that fixing them took too much time and real issues were kept untouched. (When I fixed them all and wait some days, there would be such errors in other tests. I don't know why...) Now, as the native HLS downloader works fine, I think it's time to enable HLS tests. |
|
I'm not quite sure I follow…I understand there aren't the development resources to go and fix all the broken tests. But the test system should be set up so that new pull requests that add tests from contributors who follow the instructions don't generate false CI negatives. It doesn't seem like fixing the test harness to report SKIPPED here takes much development resource. (Although I think it would take more effort for you to critique a pull request if I did it than to just do it yourself.)
OK, maybe the above is irrelevant if it's about to change. |
I guess #8496 is related to what you're referring to |
Not really. I mean if I add a test (following the instructions in As far as I can tell, I didn't do anything wrong — I followed the instructions for adding the test, but it turns out some kinds of tests always fail when Travis runs them (m3u8 downloads). So either the instructions are wrong (e.g. I should not have added an m3u8 test. Or I should have marked it with #8496 is really about detecting commits which cause regressions -- which cause existing tests to fail. |
|
Oh I guess I got you. #12362 is the key change. Before that patch, ffmpeg downloads won't stop until finished, so they often go beyond the control and block other tests. After that testing with ffmpeg is possible. A problem is that it's difficult to install ffmpeg on Travis CI. Both Precise (Ubuntu 12.04) and Trusty (Ubuntu 14.04) provide libav but not ffmpeg, while the former has lots of bugs. (#8622 (comment))
I forgot to say some new tests already uses the native downloader (by specifying
IMO updating docs is enough. For me it's not a good idea to silently skip tests that should be handled correctly. |
|
Thanks.
This still leaves me a bit confused. Let's take the case of And I definitely shouldn't mark the test It seems to me there should be a parameter to the test harness to tell is to skip tests that it is not capable of running, and that should be enabled for m3u8 tests in today's world when run from Travis. Now, if in the near future this isn't going to be an issue because either Travis will have Sounds like the native downloaded is coming soon enough. But if we're still here in 3 months, maybe we should revisit this. |
|
I may be inaccurate. I mean specifying the native downloader in the extractor, not in tests.
Another good point. We need it. Ignoring 'skip' is also necessary. By the way, I guess there won't be ffmpeg in Travis CI containers soon. Ubuntu switches back to ffmpeg since Xenial (16.04), and Travis CI doesn't have Xenial yet. |
|
I had a similar problem when installing However, building
It takes quite a time to build though (around 10 mins) but I can confirm it is invoked correctly from the command-line and This might be helpful. |
|
UPDATE: I was just messing around and I managed to upload the compiled Now one can just download this same binary on Travis CI Precise without having to build it on every run. So basically,
It only takes a few seconds to download the binary and one does not need to wait for it to compile. I tried it and can confirm it works for me. You can build and upload your own
and checking the log for the resultant URL and replacing it with the one in the sample |
Travis CI's run of
./devscripts/run_tests.shfails for tests that requireffmpegoravconv.This is a problem, since we don't need more false negatives in CI tests.
For instance, #12364 added
test_NBC_4which just appeared to outright fail in https://travis-ci.org/rg3/youtube-dl/jobs/207841764:test_NBC_4 (test.test_download.TestDownload) ... ERRORand it's a little annoying to actually see why, because the error results are after the the 10,000 line limit, so downloading the log is required, but:
I don't know what all the reasons are or why
ffmpegisn't or can't be in the Travis container. But if it can't be, at least those tests should be marked SKIPPED or something instead of ERROR.Thanks.