#6362 SVN tests fail due to random diff ordering

forge-jun-28
closed
nobody
42cc (358)
General
None
2013-06-26
2013-06-12
Dave Brondsema
No

These fail on some systems, pass on other systems. Known to fail on travis-ci and Apache Jenkins service

FAIL: test_diff_create_path (forgesvn.tests.model.test_repository.TestSVNRepo)

Traceback (most recent call last):

File "/home/travis/build/brondsem/incubator-allura/ForgeSVN/forgesvn/tests/model/test_repository.py", line 255, in test_diff_create_path

'/a/b/c/hello.txt'], total=4))

AssertionError: {'copied': [], 'total': 4, 'removed': [], 'added': [u'/a/b/c', u'/a/b/c/hello.txt', u'/a', u'/a/b'], 'changed': []} != {'total': 4, 'copied': [], 'removed': [], 'added': ['/a', '/a/b', '/a/b/c', '/a/b/c/hello.txt'], 'changed': []}

FAIL: test_paged_diffs (forgesvn.tests.model.test_repository.TestSVNRepo)

Traceback (most recent call last):

File "/home/travis/build/brondsem/incubator-allura/ForgeSVN/forgesvn/tests/model/test_repository.py", line 236, in test_paged_diffs

self.assertEqual(expected, actual)

AssertionError: {'total': 4, 'copied': [], 'removed': [], 'added': ['/a/b', '/a/b/c'], 'changed': []} != {'copied': [], 'total': 4, 'removed': [], 'added': [u'/a/b/c/hello.txt', u'/a'], 'changed': []}

Related

Chat: 51cb64a20594ca44ffac9f4e
Chat: 51cb64a30594ca44ffac9f51
Pastebin: 51cc8cf181b24b4f1a286ddf
Tickets: #6362
Tickets: #6414

Discussion

  • AFAIR, we had a similar problem with these tests on our internal build system. It turned out that python2.6 were causing these failures (on 2.7 all worked fine). Seems like some changes in dict's internals were implemented between this two versions.

    We'll try to refactor those to be order-agnostic.

    Created #378: [#6362] SVN tests fail due to random diff ordering (1cp)

     

    Related

    Tickets: #6362

  • Closed #378. je/42cc_6362

    Actually, I was wrong about python2.6. On 2.6 tests doesn't run at all, because some of the Allura code uses OrderedDict, which was introduced in 2.7 only.

    Though, I've managed to reproduce those test failures on my local machine. I've run those particular tests 10 times in a row, and both of them failed at least once.

    Like this:

    $ for i in 1 2 3 4 5 6 7 8 9 10
    do
    nosetests forgesvn.tests.model.test_repository:TestSVNRepo.test_paged_diffs
    nosetests forgesvn.tests.model.test_repository:TestSVNRepo.test_diff_create_path
    done
    

    After fix tests pass 10 from 10 times, so I think it won't happen again.

     
    Last edit: Igor Bondarenko 2013-06-21
  • Dave Brondsema
    Dave Brondsema
    2013-06-26

    • status: code-review --> closed
    • Milestone: forge-backlog --> forge-jun-28
     


Anonymous


Cancel   Add attachments