maven-scm-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Emmanuel Venisse (JIRA)" <j...@codehaus.org>
Subject [jira] Closed: (SCM-124) StarteamChangeLogConsumerTest does not work if locale is not en or fr
Date Thu, 02 Feb 2006 22:36:12 GMT
     [ http://jira.codehaus.org/browse/SCM-124?page=all ]
     
Emmanuel Venisse closed SCM-124:
--------------------------------

    Resolution: Fixed

Applied. Thanks.

> StarteamChangeLogConsumerTest does not work if locale is not en or fr
> ---------------------------------------------------------------------
>
>          Key: SCM-124
>          URL: http://jira.codehaus.org/browse/SCM-124
>      Project: Maven SCM
>         Type: Bug

>   Components: maven-scm-provider-starteam
>  Environment: Maven 2.0.1, JDK 1.4.2_09, Win XP Pro, Swedish locale
>     Reporter: Dennis Lundberg
>     Assignee: Emmanuel Venisse
>      Fix For: 1.0-beta-3
>  Attachments: SCM-124.patch
>
>
> The testcase StarteamChangeLogConsumerTest makes assumptions about the user's locale
that are not always true.
> Lines 45-52 uses the default locale and if a suitable changelog for that locale is not
found, it defaults to using the English changelog file. This works well for English and French
which have changelog files. But it does not work for other locales that use a different dateformat
than English, i.e most of Europe.
> The problem is that the class StarteamChangeLogConsumer has a private instance variable
of SimpleDateFormat called localFormat. This variable can not be set from outside the class.
On line 390 localFormat is used to parse dates. This will fail if the user has a different
locale than the one being used in the logfile being parsed. I imagine that it is common (at
least not uncommon) to have different locales on the server and the client.
> So the locale used in the StarteamChangeLogConsumer needs to be set to the locale used
by the *server* and not the *client*. A simple getter/setter would do the trick. The locale
would need to be configurable in some way so that the user can set the locale that is used
by his/her server.
> The reason I stumbled upon this was when I tried to do "mvn test" for maven-scm. It produced
this stacktrace:
> ...
> [INFO] ----------------------------------------------------------------------------
> [INFO] Building Maven SCM Starteam Provider
> [INFO]    task-segment: [test]
> [INFO] ----------------------------------------------------------------------------
> [INFO] [resources:resources]
> [INFO] Using default encoding to copy filtered resources.
> [INFO] [compiler:compile]
> Compiling 25 source files to G:\svn\maven-scm\maven-scm-providers\maven-scm-provider-starteam\target\classes
> [INFO] [resources:testResources]
> [INFO] Using default encoding to copy filtered resources.
> [INFO] [compiler:testCompile]
> Compiling 22 source files to G:\svn\maven-scm\maven-scm-providers\maven-scm-provider-starteam\target\test-classes
> [INFO] [surefire:test]
> [INFO] Setting reports dir: G:\svn\maven-scm\maven-scm-providers\maven-scm-provider-starteam\target/surefire-reports
> -------------------------------------------------------
>  T E S T S
> -------------------------------------------------------
> [WARNING] Your scm URL use a deprecated format. The new format is :[username[:password]@]hostname:port:/projectName/[viewName/][folderHiearchy/]
> [WARNING] Your scm URL use a deprecated format. The new format is :[username[:password]@]hostname:port:/projectName/[viewName/][folderHiearchy/]
> [WARNING] Your scm URL use a deprecated format. The new format is :[username[:password]@]hostname:port:/projectName/[viewName/][folderHiearchy/]
> [surefire] Running org.apache.maven.scm.provider.starteam.command.add.StarteamAddCommandTest
> [surefire] Tests run: 3, Failures: 0, Errors: 0, Time elapsed: 0,02 sec
> Added: ./maven.xml
> Added: ./target/checkout/maven.xml
> Added: ./target/checkout/project.properties
> Added: ./target/checkout/project.xml
> Added: ./target/checkout/bootstrap/maven.xml
> Added: ./target/checkout/bootstrap/project.properties
> Added: ./target/checkout/bootstrap/project.xml
> [surefire] Running org.apache.maven.scm.provider.starteam.command.add.StarteamAddConsumerTest
> [surefire] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 0,03 sec
> [WARNING] Your scm URL use a deprecated format. The new format is :[username[:password]@]hostname:port:/projectName/[viewName/][folderHiearchy/]
> [WARNING] Your scm URL use a deprecated format. The new format is :[username[:password]@]hostname:port:/projectName/[viewName/][folderHiearchy/]
> [surefire] Running org.apache.maven.scm.provider.starteam.command.changelog.StarteamChangeLogCommandTest
> [surefire] Tests run: 2, Failures: 0, Errors: 0, Time elapsed: 0,02 sec
> [ERROR] ParseException Caught
> java.text.ParseException: Unparseable date: "4/21/04 1:05:00 PM PDT"
>         at java.text.DateFormat.parse(DateFormat.java:335)
>         at org.apache.maven.scm.provider.starteam.command.changelog.StarteamChangeLogConsumer.parseDate(StarteamChangeLogConsumer.java:390)
>         at org.apache.maven.scm.provider.starteam.command.changelog.StarteamChangeLogConsumer.processGetAuthor(StarteamChangeLogConsumer.java:281
>         at org.apache.maven.scm.provider.starteam.command.changelog.StarteamChangeLogConsumer.consumeLine(StarteamChangeLogConsumer.java:174)
>         at org.apache.maven.scm.provider.starteam.command.changelog.StarteamChangeLogConsumerTest.testParse(StarteamChangeLogConsumerTest.java:68
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:324)
>         at junit.framework.TestCase.runTest(TestCase.java:154)
>         at junit.framework.TestCase.runBare(TestCase.java:127)
>         at junit.framework.TestResult$1.protect(TestResult.java:106)
>         at junit.framework.TestResult.runProtected(TestResult.java:124)
>         at junit.framework.TestResult.run(TestResult.java:109)
>         at junit.framework.TestCase.run(TestCase.java:118)
>         at junit.framework.TestSuite.runTest(TestSuite.java:208)
>         at junit.framework.TestSuite.run(TestSuite.java:203)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:324)
>         at org.codehaus.surefire.battery.JUnitBattery.executeJUnit(JUnitBattery.java:246)
>         at org.codehaus.surefire.battery.JUnitBattery.execute(JUnitBattery.java:220)
>         at org.codehaus.surefire.Surefire.executeBattery(Surefire.java:204)
>         at org.codehaus.surefire.Surefire.run(Surefire.java:153)
>         at org.codehaus.surefire.Surefire.run(Surefire.java:77)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:324)
>         at org.codehaus.surefire.SurefireBooter.run(SurefireBooter.java:104)
>         at org.apache.maven.test.SurefirePlugin.execute(SurefirePlugin.java:303)
>         at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:432)
>         at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:530)
>         at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:472)
>         at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:451)
>         at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:303)
>         at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:270)
>         at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:139)
>         at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:322)
>         at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:115)
>         at org.apache.maven.cli.MavenCli.main(MavenCli.java:249)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:324)
>         at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
>         at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
>         at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
>         at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
> [surefire] Running org.apache.maven.scm.provider.starteam.command.changelog.StarteamChangeLogConsumerTest
> [surefire] Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 0,03 sec <<<<<<<<
FAILURE !!

-- 
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