After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 521749 - [souphttpsrc] unit test fails on mandriva cooker
[souphttpsrc] unit test fails on mandriva cooker
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
0.10.6
Other Linux
: Normal normal
: 0.10.7
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks: 523124
 
 
Reported: 2008-03-11 11:13 UTC by Götz Waschk
Modified: 2008-04-10 07:11 UTC
See Also:
GNOME target: ---
GNOME version: 2.21/2.22


Attachments
Add 2 minute timeout on test requiring Internet connectivity. (1.19 KB, patch)
2008-04-09 19:42 UTC, Wouter Cloetens
committed Details | Review

Description Götz Waschk 2008-03-11 11:13:33 UTC
This is on Mandriva Cooker x86_64 with gst-plugins-bad 0.10.6, libsoup 2.4.0, gstreamer 0.10.17 and gst-plugins-base 0.10.17:

Running suite(s): souphttpsrc
85%: Checks: 7, Failures: 0, Errors: 1
elements/souphttpsrc.c:203:E:general:test_icy_stream:0: (after this point) Test timeout expired
FAIL: elements/souphttpsrc
Comment 1 Tim-Philipp Müller 2008-03-11 11:36:55 UTC
Could you attach a GST_DEBUG=*:5 log? (possibly in combination with GST_CHECKS=test_icy_stream to narrow it down to just this one test)
Comment 2 Tim-Philipp Müller 2008-03-11 11:41:47 UTC
I don't know if it applies to your case, but according to the ChangeLog:

 "Prefix proxy URIs with "http://" if they don't start with it
  already and catch errors earlier, fixes hanging in some situations."

the last chunk of

http://webcvs.freedesktop.org/gstreamer/gst-plugins-bad/ext/soup/gstsouphttpsrc.c?r1=1.13&r2=1.14

could be relevant.
Comment 3 Götz Waschk 2008-03-11 14:08:48 UTC
The output of GST_DEBUG=*:5 GST_CHECKS=test_icy_stream make check 2> log is here:
http://www-zeuthen.desy.de/~waschk/log.bz2

I'll try the patch from comment #2 next.
Comment 4 Götz Waschk 2008-03-11 14:14:00 UTC
The patch has no effect, I guess I'm not using a proxy anyway.
Comment 5 Wouter Cloetens 2008-04-09 14:35:35 UTC
None of the tests configure a proxy, so that's not the issue.
The "test_icy_stream" test, which I copied from neonhttpsrc, tries to connect to http://ogg2.smgradio.com/vr32.ogg. If that is not reachable, the test will fail.

Depending on an external site is of course annoying in a test, but I don't see myself writing a {Shout|Ice}cast server for the sake of this test alone.
Comment 6 Tim-Philipp Müller 2008-04-09 15:13:43 UTC
I think it would be ok to just skip the rest of the test silently in case of a connection error. That's what the neon test does too IIRC.
Comment 7 Wouter Cloetens 2008-04-09 15:34:31 UTC
The problem is that there is a timeout on the duration of the test which is probably shorter than the TCP connection timeout. The test framework would always kill the test and mark it as failed.

Silently ignoring a failure on a test also seems like cheating to me. ;-) There's no real point in having the test in the first place then.
Comment 8 Sebastian Dröge (slomo) 2008-04-09 17:08:31 UTC
We could simply increase the timeout, no?
Comment 9 Wouter Cloetens 2008-04-09 19:42:15 UTC
Created attachment 108951 [details] [review]
Add 2 minute timeout on test requiring Internet connectivity.
Comment 10 Wouter Cloetens 2008-04-09 19:44:11 UTC
The test suite segfaults in got_buffer() because GST_BUFFER_CAPS(buf) is NULL.
Comment 11 Wouter Cloetens 2008-04-09 21:26:34 UTC
The timeout took 3 minutes and 9 seconds on my system. I suggest making it a 210s timeout instead of 120s.

posted error message: Cannot connect to destination

check elements/souphttpsrc.c:254:test_icy_stream: looks like there's no net connectivity or sgmradio.com is down. In any case, let's just skip this test

Comment 12 Sebastian Dröge (slomo) 2008-04-10 07:11:24 UTC
2008-04-10  Sebastian Dröge  <slomo@circular-chaos.org>

        * tests/check/elements/souphttpsrc.c: (got_buffer),
        (souphttpsrc_suite):
        Increase the timeout for the internet tests to 250 seconds
        and check for NULL caps instead of just crashing.
        The real fix would be to implement an shoutcast server for the unit test
        instead of relying on a working internet connection.
        Fixes bug #521749.