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


The following commit(s) were added to refs/heads/master by this push:
     new c3b689680 Finish [SuppressTempFileChecks] attribute functionality, 
#898 (#1084)
c3b689680 is described below

commit c3b689680b58f5c29b79143061d2d043a593ecb0
Author: Paul Irwin <[email protected]>
AuthorDate: Wed Jan 8 13:56:50 2025 -0700

    Finish [SuppressTempFileChecks] attribute functionality, #898 (#1084)
    
    * Finish [SuppressTempFileChecks] attribute functionality, #898
    
    * PR feedback
    
    * Lucene.Net.Util.LuceneTestCase: Removed setting SuiteFailureMarker to 
false, which will cause all additional tests keep temporary files on disk
    
    ---------
    
    Co-authored-by: Shad Storhaug <[email protected]>
---
 .../Util/LuceneTestCase.cs                         | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/src/Lucene.Net.TestFramework/Util/LuceneTestCase.cs 
b/src/Lucene.Net.TestFramework/Util/LuceneTestCase.cs
index 3d8b53dc0..95af61982 100644
--- a/src/Lucene.Net.TestFramework/Util/LuceneTestCase.cs
+++ b/src/Lucene.Net.TestFramework/Util/LuceneTestCase.cs
@@ -440,7 +440,6 @@ namespace Lucene.Net.Util
             public string[] Value { get; private set; }
         }
 
-        // LUCENENET TODO: Finish implementation
         /// <summary>
         /// Marks any suites which are known not to close all the temporary
         /// files. This may prevent temp files and folders from being cleaned
@@ -743,11 +742,11 @@ namespace Lucene.Net.Util
         /// </summary>
         internal static TestRuleSetupAndRestoreClassEnv ClassEnvRule { get; } 
= new TestRuleSetupAndRestoreClassEnv();
 
-        // LUCENENET TODO
+        // LUCENENET TODO: Implement these rules
         /// <summary>
         /// Suite failure marker (any error in the test or suite scope).
         /// </summary>
-        public static readonly /*TestRuleMarkFailure*/ bool SuiteFailureMarker 
= true; // Means: was successful
+        public static /*TestRuleMarkFailure*/ bool SuiteFailureMarker = true; 
// Means: was successful
 
         ///// <summary>
         ///// Ignore tests after hitting a designated number of initial 
failures. This
@@ -3091,9 +3090,10 @@ namespace Lucene.Net.Util
         [MethodImpl(MethodImplOptions.NoInlining)]
         protected string GetFullMethodName([CallerMemberName] string 
memberName = "")
         {
-            return string.Format("{0}+{1}", this.GetType().Name, memberName);
+            return $"{this.GetType().Name}+{memberName}";
         }
 
+        // LUCENENET specific - this is equivalent to 
TemporaryFilesCleanupRule in Lucene
         private static void CleanupTemporaryFiles()
         {
             // Drain cleanup queue and clear it.
@@ -3131,19 +3131,19 @@ namespace Lucene.Net.Util
                 }
                 catch (Exception e) when (e.IsIOException())
                 {
-                    //                    Type suiteClass = 
RandomizedContext.Current.GetTargetType;
-                    //                    if 
(suiteClass.IsAnnotationPresent(typeof(SuppressTempFileChecks)))
-                    //                    {
-                    Console.Error.WriteLine("WARNING: Leftover undeleted 
temporary files " + e.Message);
-                    return;
-                    //                    }
+                    if 
(RandomizedContext.CurrentContext.CurrentTest.TypeInfo?.Type.GetCustomAttribute<SuppressTempFileChecksAttribute>(inherit:
 true) is { } suppressAttr)
+                    {
+                        Console.Error.WriteLine($"WARNING: Leftover undeleted 
temporary files (bugUrl: {suppressAttr.BugUrl}): {e.Message}");
+                        return;
+                    }
+                    throw;
                 }
             }
             else
             {
                 if (tempDirBasePath != null)
                 {
-                    Console.Error.WriteLine("NOTE: leaving temporary files on 
disk at: " + tempDirBasePath);
+                    Console.Error.WriteLine($"NOTE: leaving temporary files on 
disk at: {tempDirBasePath}");
                 }
             }
         }

Reply via email to