[ 
https://issues.apache.org/jira/browse/SCM-244?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17964416#comment-17964416
 ] 

Olivier Lamy commented on SCM-244:
----------------------------------

This project has moved from Jira to GitHub Issues. This issue was migrated to 
[apache/maven-scm#1021|https://github.com/apache/maven-scm/issues/1021]. 

> In maven-scm-test, ChangeLogCommandTckTest relies on unreliable timing and 
> fails for some SCM systems
> -----------------------------------------------------------------------------------------------------
>
>                 Key: SCM-244
>                 URL: https://issues.apache.org/jira/browse/SCM-244
>             Project: Maven SCM (Moved to GitHub Issues)
>          Issue Type: Bug
>          Components: maven-scm-api
>         Environment: Linux 2.6, JDK 1.5, Maven 2
>            Reporter: Ryan Daum
>            Assignee: Emmanuel Venisse
>            Priority: Major
>             Fix For: 1.0-rc1
>
>         Attachments: ChangeLogCommandTckTest-SCM-244.patch, 
> maven-scm-test-TickPatch.patch
>
>
> 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 was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to