maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ryan Daum (JIRA)" <j...@codehaus.org>
Subject [jira] Created: (SCM-244) In maven-scm-test, ChangeLogCommandTckTest relies on unreliable timing and fails for some SCM systems
Date Wed, 25 Oct 2006 22:10:39 GMT
In maven-scm-test, ChangeLogCommandTckTest relies on unreliable timing and fails for some SCM
systems
-----------------------------------------------------------------------------------------------------

                 Key: SCM-244
                 URL: http://jira.codehaus.org/browse/SCM-244
             Project: Maven SCM
          Issue Type: Bug
          Components: maven-scm-api
         Environment: Linux 2.6, JDK 1.5, Maven 2
            Reporter: Ryan Daum


I encountered this problem while fixing a new Mercurial SCM provider so that all its unit
tests pass.

A Mercurial repository which can reproduce the bug can be found at http://darksleep.com/~ryan/maven-scm-provider-hg.cgi
 -- use the mercurial client to clone this repository.  The problem manifests itself in HgChangeLogCommandTckTest.

ChangeLogCommandTckTestchecks in two revisions in sequence, and records the time between them.
 It then tries, using date/time filtering to retrieve only the later one. 

This may work fine for slower network based revision control systems where there is an appreciable
pause between checkins, but for Mercurial, the creation of the file and its checkin often
happens within the same second and so the log reports the same time for creation of both revisions.

Therefore during the date-time range query, nothing fits _between_ the date filter range.


In _some_ cases, if the checkin happens of the second file happens to occur after the second
value of the date increments, the test passes, but this is the exception to the rule.

The fix would be to modify ChangeLogCommandTckTest to perform a sleep of at least 1 second
between checkins.

To reproduce, checkout (as mentioned above) the Mercurial SCM provider and run the unit tests.
 You will see HgChangeLogCommandTckTest fail in the manner described above.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message