[
http://issues.apache.org/jira/browse/DIRSERVER-584?page=comments#action_12367135
]
Alex Karasulu commented on DIRSERVER-584:
-----------------------------------------
Commenting out this test in
org.apache.directory.server.jndi.ServerContextFactoryTest fixes the other test
cases it seems. All the test failures go away. Now look at the string used
for setting the suffix:
// public void testBadPartition() throws Exception
// {
// MutableDirectoryPartitionConfiguration pcfg;
//
// // Add partition 'test=testing'
// pcfg = new MutableDirectoryPartitionConfiguration();
// pcfg.setName( "testing" );
//
// try
// {
// pcfg.setSuffix( "ou=test=testing" );
// }
// catch ( LdapConfigurationException ce )
// {
// assertTrue( true );
// return;
// }
//
// fail();
// }
Here it is:
===========
pcfg.setSuffix( "ou=test=testing" );
I think this new bug is due to the recent corrections made with
https://issues.apache.org/jira/browse/DIRSERVER-578. I think it shows us that
the parser cannot correctly recover it's state under certain situations. I
think DIRSERVER-579 did the correct tthing to fix the problem so don't get me
wrong. It just uncovered another problem :( by fixing the first one.
> LdapName breaks static parser after repeated use.
> -------------------------------------------------
>
> Key: DIRSERVER-584
> URL: http://issues.apache.org/jira/browse/DIRSERVER-584
> Project: Directory ApacheDS
> Type: Bug
> Components: ldap
> Versions: 1.0-RC1
> Reporter: Alex Karasulu
> Priority: Blocker
> Fix For: 1.0-RC1
>
> I'm thinking some of the recent changes on the name parser may have
> introduced new problems.
> These are really weird problems. They happen only when running regression
> tests in maven within the server-unit module. Yeah crazy. Basically to
> reproduce run "mvn -Dregression test" inside the apacheds/server-main module.
> These are the tests that fail:
> $ mvn -Dregressions test
> [INFO]
> ----------------------------------------------------------------------------
> [INFO] Building ApacheDS Server Unit
> ....
> T E S T S
> -------------------------------------------------------
> ....
> [surefire] Running org.apache.directory.server.AddObjectClassesToEntryTest
> [surefire] Tests run: 3, Failures: 0, Errors: 3, Time elapsed: 0.113 sec
> <<<<<<<< FAILURE !!
> [surefire] Running org.apache.directory.server.MiscTest
> [surefire] Tests run: 7, Failures: 0, Errors: 7, Time elapsed: 0.177 sec
> <<<<<<<< FAILURE !!
> [surefire] Running org.apache.directory.server.MatchingRuleCompareTest
> [surefire] Tests run: 3, Failures: 0, Errors: 3, Time elapsed: 0.08 sec
> <<<<<<<< FAILURE !!
> Now when these tests run inside eclipse there is no problem. Here's what teh
> surefire report
> looks like for these failures. They are all pretty much the same trace:
> ========================================================================================================
> o.a.d.shared.ldap.exception.LdapConfigurationException: Failed to normalize
> the suffix: ou=system
> [Root exception is o.a.d.shared.ldap.exception.LdapInvalidNameException:
> Parser failure on name:
> ou=system
> Antlr exception trace:
> line 1:1: unexpected token: ou
> at
> o.a.d.shared.ldap.name.antlrNameParser.attributeTypeAndValue(antlrNameParser.java:192)
> at
> o.a.d.shared.ldap.name.antlrNameParser.nameComponent(antlrNameParser.java:120)
> at o.a.d.shared.ldap.name.antlrNameParser.name(antlrNameParser.java:69)
> at o.a.d.shared.ldap.name.DnParser.parse(DnParser.java:208)
> at o.a.d.shared.ldap.name.LdapName.<init>(LdapName.java:115)
> at
> o.a.d.server.core.configuration.DirectoryPartitionConfiguration.setSuffix(DirectoryPartitionConfiguration.java:203)
> ========================================================================================================
> The suspect code is at
> o.a.d.server.core.configuration.DirectoryPartitionConfiguration.setSuffix(DirectoryPartitionConfiguration.java:203:
> /**
> * Sets the suffix of the [EMAIL PROTECTED] DirectoryPartition}.
> */
> protected void setSuffix( String suffix ) throws NamingException
> {
> suffix = suffix.trim();
> try
> 202: {
> 203: new LdapName( suffix ); <<<<<<<<================== HERE!!!
> 204: }
> catch ( NamingException e )
> {
> throw new LdapConfigurationException( "Failed to normalize the
> suffix: " + suffix, e );
> }
> this.suffix = suffix;
> }
> This is crazy though because how the heck is the parser failing on
> "ou=system" and succeeding on all test cases I cannot understand. I think
> I'm loosing my mind on this one this is why I need a second opinion. Please
> advise.
> Thanks,
> Alex
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira