You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucenenet.apache.org by ni...@apache.org on 2020/07/21 09:48:58 UTC
[lucenenet] 24/24: Lucene.Net.Tests.Support.TestApiConsistency:
Added support for filtering public fields via regex
This is an automated email from the ASF dual-hosted git repository.
nightowl888 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/lucenenet.git
commit 47599bc3bd59bf5c0e21a0183a62c83ce7af7e50
Author: Shad Storhaug <sh...@shadstorhaug.com>
AuthorDate: Tue Jul 21 15:48:32 2020 +0700
Lucene.Net.Tests.Support.TestApiConsistency: Added support for filtering public fields via regex
---
.../Support/ApiScanTestBase.cs | 22 +++++++++++++---------
src/Lucene.Net.Tests/Support/TestApiConsistency.cs | 4 ++--
2 files changed, 15 insertions(+), 11 deletions(-)
diff --git a/src/Lucene.Net.TestFramework/Support/ApiScanTestBase.cs b/src/Lucene.Net.TestFramework/Support/ApiScanTestBase.cs
index 1a48b30..2946de2 100644
--- a/src/Lucene.Net.TestFramework/Support/ApiScanTestBase.cs
+++ b/src/Lucene.Net.TestFramework/Support/ApiScanTestBase.cs
@@ -138,10 +138,15 @@ namespace Lucene.Net.Util
"Private field names should be camelCase.");
}
- //[Test, LuceneNetSpecific]
public virtual void TestPublicFields(Type typeFromTargetAssembly)
{
- var names = GetInvalidPublicFields(typeFromTargetAssembly.Assembly);
+ TestPublicFields(typeFromTargetAssembly, null);
+ }
+
+ //[Test, LuceneNetSpecific]
+ public virtual void TestPublicFields(Type typeFromTargetAssembly, string exceptionRegex)
+ {
+ var names = GetInvalidPublicFields(typeFromTargetAssembly.Assembly, exceptionRegex);
//if (VERBOSE)
//{
@@ -433,11 +438,6 @@ namespace Lucene.Net.Util
if ((field.IsPrivate || field.IsAssembly) && !PrivateFieldName.IsMatch(field.Name) && field.DeclaringType.Equals(c.UnderlyingSystemType))
{
var name = string.Concat(c.FullName, ".", field.Name);
- //bool hasExceptions = !string.IsNullOrWhiteSpace(exceptionRegex);
- //if (!hasExceptions || (hasExceptions && !Regex.IsMatch(name, exceptionRegex)))
- //{
- // result.Add(name);
- //}
if (!IsException(name, exceptionRegex))
{
result.Add(name);
@@ -495,7 +495,7 @@ namespace Lucene.Net.Util
/// </summary>
/// <param name="assembly"></param>
/// <returns></returns>
- private static IEnumerable<string> GetInvalidPublicFields(Assembly assembly)
+ private static IEnumerable<string> GetInvalidPublicFields(Assembly assembly, string exceptionRegex)
{
var result = new List<string>();
@@ -529,7 +529,11 @@ namespace Lucene.Net.Util
if (field.IsPublic && field.DeclaringType.Equals(c.UnderlyingSystemType))
{
- result.Add(string.Concat(c.FullName, ".", field.Name));
+ var name = string.Concat(c.FullName, ".", field.Name);
+ if (!IsException(name, exceptionRegex))
+ {
+ result.Add(name);
+ }
}
}
}
diff --git a/src/Lucene.Net.Tests/Support/TestApiConsistency.cs b/src/Lucene.Net.Tests/Support/TestApiConsistency.cs
index 2a96e22..00728a9 100644
--- a/src/Lucene.Net.Tests/Support/TestApiConsistency.cs
+++ b/src/Lucene.Net.Tests/Support/TestApiConsistency.cs
@@ -38,14 +38,14 @@ namespace Lucene.Net
[TestCase(typeof(Lucene.Net.Analysis.Analyzer))]
public override void TestPrivateFieldNames(Type typeFromTargetAssembly)
{
- base.TestPrivateFieldNames(typeFromTargetAssembly, @"^Lucene\.Net\.Support\.(?:LurchTable|HashUtilities|ConcurrentHashSet|PlatformHelper)");
+ base.TestPrivateFieldNames(typeFromTargetAssembly, @"^Lucene\.Net\.Support\.(?:ConcurrentHashSet|PlatformHelper)");
}
[Test, LuceneNetSpecific]
[TestCase(typeof(Lucene.Net.Analysis.Analyzer))]
public override void TestPublicFields(Type typeFromTargetAssembly)
{
- base.TestPublicFields(typeFromTargetAssembly);
+ base.TestPublicFields(typeFromTargetAssembly, @"^Lucene\.Net\.Util\.(?:LightWeight|Disposable)ThreadLocal`1\+(?:LocalState|CurrentThreadState)");
}
[Test, LuceneNetSpecific]