dweiss commented on a change in pull request #2267: URL: https://github.com/apache/lucene-solr/pull/2267#discussion_r568175124
########## File path: lucene/analysis/common/src/test/org/apache/lucene/analysis/hunspell/TestsFromOriginalHunspellRepository.java ########## @@ -0,0 +1,71 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.lucene.analysis.hunspell; + +import java.io.IOException; +import java.nio.file.DirectoryStream; +import java.nio.file.Files; +import java.nio.file.Path; +import java.text.ParseException; +import java.util.Collection; +import java.util.Collections; +import java.util.Set; +import java.util.TreeSet; +import java.util.stream.Collectors; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; + +/** + * Same as {@link SpellCheckerTest}, but checks all Hunspell's test data. The path to the checked + * out Hunspell repository should be in {@code -Dhunspell.repo.path=...} system property. + */ +@RunWith(Parameterized.class) Review comment: I checked intellij and parameterized tests tonight. It's what I was afraid of - test descriptions are emitted correctly (in my opinion) but they're *interepreted* differently depending on the tool (and time when you check...). The reason why you see the class name and test method before each actual test is because these supposedly "hidden" elements allowed tools to go back to the source code of a test with an arbitrary name (if you double-click on a test in IntelliJ it will take you back to the test method). Relaunching of a single test must have changed at some point because it used to be an exact name filter... but now I it just reruns all tests under a test method (all parameter variations). It's worth mentioning that this isn't consistent even in IntelliJ itself - if I run a simple(r) parameterized test via IntelliJ launcher, I get this test suite tree:  But when I run the same test via gradle launcher (from within the IDE), I get this tree:  I don't know if there is a way to make all the tools happy; test descriptions and nesting is broken in JUnit 4.x itself. Given the above, please feel free to revert back to what works for you. I'd name the test class TestHunspellRepositoryTestCases for clarity. Also, this test will not run under Lucene test framework because the security manager won't let you access arbitrary paths outside the build location. You'd need to add this to tests.policy: ``` permission java.io.FilePermission "${hunspell.repo.path}${/}-", "read"; ``` Don't know whether it's worth it at the moment though. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org