It appears that each test case is being run twice.  I think once to
generate the xml output, and once to generate output for stdout and
tell you whether it failed.  The random number generator isn't being
reseeded at the start of each test so they can produce different
results, so you can sometimes see debug statements that indicate it
should fail, but the output to stdout claims that is passes.  I've
attached a patch that make each test use it's own random number
generating object which seems a tidier way to do this, and makes the
tests repeatable.

Since there seem to be a fair number of choices of seed that produce
an error fraction of over 0.2, I've also increased the acceptable
error rate in the test to 0.3, as Alick initially suggested.

On Sat, Apr 14, 2012 at 9:39 AM, Alick Zhao <alick9...@gmail.com> wrote:
> On Sat, 14 Apr 2012 13:40:35 +0200, Martin Braun wrote:
>> On Sat, Apr 14, 2012 at 05:20:13PM +0800, Alick Zhao wrote:
>>> Yes the bug still occurs.
>>>
>>> I just wrote a simple script to ran the test for 50 times on T60 with
>>> Ubuntu, GNU Radio 3.5.3 equipped, before and after FREQUENCY_OFFSET set
>>> to 0. All failed the test. (n_pass is 0/50 in both sets) Every test's
>>> output is almost identical in each set except particular test time
>>> length. The ones before FREQUENCY_OFFSET change is basically the same as
>>> test.t60.log already attached. One of the ones with FREQUENCY_OFFSET set
>>> to 0 is attached below. I guess the almost same contents of output is
>>> due to fixed random seed.
>>>
>>> I also ran the script on a Dell desktop with Fedora, and the result is
>>> 50/50 pass the test. Then I notice one line in the qa python file says
>>> that seed 1234 fails. However, 50/50 are OK with seed 1234 on the Dell
>>> desktop.
>>
>> So,
>>
>> I tried this on a native 32-Bit Ubuntu 11.10, and it fails (tells me
>> it's using "Volk machine: sse3_32".
>>
>> I also noticed the line that says seed=1234 fails. Also, the seed is set
>> multiple times in the script. If this is the source of the bug or not,
>> it should be fixed, because the seed is reset somewhere in the guts of
>> the test. I'll post a patch on patch-gnuradio--this eliminates the
>> problem on my machine, for some reason. If it does the same for you,
>> this might actually be the solution.
>>
>> MB
>>
>>
>
> I applied the patch and tested it. No failure, yeah!
>
> However, with my debugging line, I can see this:
>
> [...]
> constellation: <constellation psk (m=32)>  differential: True  correct:
> 0.942307692308
> constellation: <constellation psk (m=64)>  differential: True  correct:
> 0.772435897436
> constellation: <constellation psk (m=2)>  differential: True  correct: 1.0
> [...]
>
> So why 0.77XXX on the second line does not cause the assert to fail?
>
> alick
>
> _______________________________________________
> Discuss-gnuradio mailing list
> Discuss-gnuradio@gnu.org
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Attachment: 0001-Improving-qa_constellation_receiver.patch
Description: Binary data

_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to