| Alex Karasulu (JIRA) 2006-02-21, 2:45 am |
| [ http://issues.apache.org/jira/brows...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 f
ail:
> $ 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(DirectoryPartitionConfiguratio
n.java:203)
> ========================================
========================================
========================
> The suspect code is at o.a.d.server.core.configuration.DirectoryPartitionConfiguration. setSuffix(DirectoryPartitionConfiguratio
n.java:203:
> /**
> * Sets the suffix of the {@link 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/secur...nistrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
|