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/15 02:30:02 UTC

[lucenenet] 06/14: Applied the Slow and Nightly attributes to all tests that they apply to

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 f8256b51763591dbfd8b0d18c0ec6a1e9535b32d
Author: Shad Storhaug <sh...@shadstorhaug.com>
AuthorDate: Mon Jul 13 11:43:44 2020 +0700

    Applied the Slow and Nightly attributes to all tests that they apply to
---
 .../Index/BaseStoredFieldsFormatTestCase.cs        |  1 +
 .../Support/Attributes/LongRunningTestAttribute.cs | 40 ----------------------
 .../Analysis/Core/TestAnalyzers.cs                 |  4 +--
 .../Analysis/Core/TestBugInSomething.cs            |  4 +--
 .../Analysis/Core/TestFactories.cs                 |  4 +--
 .../Analysis/Core/TestRandomChains.cs              | 11 +++---
 .../TestRemoveDuplicatesTokenFilter.cs             |  4 +--
 .../Miscellaneous/TestWordDelimiterFilter.cs       |  4 +--
 .../Analysis/NGram/EdgeNGramTokenFilterTest.cs     |  3 +-
 .../Analysis/NGram/EdgeNGramTokenizerTest.cs       |  6 ++--
 .../Analysis/NGram/NGramTokenFilterTest.cs         |  3 +-
 .../Analysis/NGram/NGramTokenizerTest.cs           |  7 ++--
 .../Pattern/TestPatternReplaceCharFilter.cs        |  6 ++--
 .../Analysis/Shingle/ShingleFilterTest.cs          |  3 +-
 .../Analysis/Snowball/TestSnowball.cs              |  3 +-
 .../Analysis/Snowball/TestSnowballVocab.cs         |  4 +--
 .../Analysis/Util/TestRollingCharBuffer.cs         |  8 ++---
 .../Analysis/Icu/TestICUNormalizer2CharFilter.cs   |  1 +
 .../TestExtendedMode.cs                            |  1 +
 .../TestJapaneseAnalyzer.cs                        |  1 +
 .../TestJapaneseTokenizer.cs                       |  9 ++---
 .../Language/Bm/CacheSubSequencePerformanceTest.cs |  8 ++---
 .../Language/Bm/PhoneticEnginePerformanceTest.cs   |  9 +++--
 .../TestPhoneticFilter.cs                          |  4 +--
 .../TestSmartChineseAnalyzer.cs                    |  4 +--
 .../ByTask/TestPerfTasksLogic.cs                   |  3 +-
 .../Pulsing/Test10KPulsings.cs                     |  4 +--
 .../SimpleText/TestSimpleTextPostingsFormat.cs     |  1 +
 .../Taxonomy/Directory/TestAddTaxonomy.cs          |  1 +
 .../Directory/TestDirectoryTaxonomyWriter.cs       |  1 +
 .../Taxonomy/TestSearcherTaxonomyManager.cs        |  7 ++--
 .../Taxonomy/TestTaxonomyCombined.cs               |  4 +--
 .../Taxonomy/WriterCache/TestCharBlockArray.cs     |  6 ++--
 .../TestPostingsHighlighterRanking.cs              |  1 +
 src/Lucene.Net.Tests.Join/TestJoinUtil.cs          | 10 +++---
 .../Index/Memory/MemoryIndexTest.cs                |  3 +-
 .../IndexAndTaxonomyReplicationClientTest.cs       |  1 +
 .../Analyzing/AnalyzingInfixSuggesterTest.cs       |  4 +--
 .../Suggest/Analyzing/FuzzySuggesterTest.cs        |  4 +--
 .../Lucene.Net.Tests._E-I.csproj                   |  1 +
 .../Analysis/TestGraphTokenizers.cs                |  9 +++--
 .../Analysis/TestLookaheadTokenFilter.cs           |  7 ++--
 src/Lucene.Net.Tests/Analysis/TestMockAnalyzer.cs  |  4 +--
 .../Codecs/Lucene41/TestBlockPostingsFormat3.cs    |  4 +--
 src/Lucene.Net.Tests/Index/Test2BPostings.cs       |  2 +-
 src/Lucene.Net.Tests/Index/Test4GBStoredFields.cs  |  4 +--
 src/Lucene.Net.Tests/Index/TestAddIndexes.cs       |  1 +
 src/Lucene.Net.Tests/Index/TestAtomicUpdate.cs     |  1 +
 .../Index/TestBackwardsCompatibility.cs            |  4 +--
 src/Lucene.Net.Tests/Index/TestBagOfPositions.cs   |  1 +
 .../Index/TestBinaryDocValuesUpdates.cs            |  3 +-
 .../Index/TestDocumentsWriterDeleteQueue.cs        |  1 +
 .../Index/TestFlushByRamOrCountsPolicy.cs          |  1 +
 src/Lucene.Net.Tests/Index/TestIndexWriter.cs      |  7 ++--
 .../Index/TestIndexWriterDelete.cs                 |  4 +--
 .../Index/TestIndexWriterExceptions.cs             |  6 ++--
 .../Index/TestIndexWriterMerging.cs                |  7 ++--
 .../Index/TestIndexWriterReader.cs                 |  7 ++--
 .../Index/TestIndexWriterUnicode.cs                |  5 ++-
 .../Index/TestIndexWriterWithThreads.cs            |  1 +
 src/Lucene.Net.Tests/Index/TestIntBlockPool.cs     |  3 +-
 .../Index/TestMixedDocValuesUpdates.cs             |  4 +--
 .../Index/TestNRTReaderWithThreads.cs              |  6 ++--
 src/Lucene.Net.Tests/Index/TestNRTThreads.cs       |  1 +
 src/Lucene.Net.Tests/Index/TestNorms.cs            |  1 +
 .../Index/TestNumericDocValuesUpdates.cs           |  4 +--
 src/Lucene.Net.Tests/Index/TestStressIndexing.cs   |  1 +
 src/Lucene.Net.Tests/Index/TestStressNRT.cs        |  3 +-
 src/Lucene.Net.Tests/Index/TestTermdocPerf.cs      |  5 ++-
 .../Search/TestControlledRealTimeReopenThread.cs   |  1 +
 src/Lucene.Net.Tests/Search/TestSearchAfter.cs     |  4 +--
 src/Lucene.Net.Tests/Search/TestSearcherManager.cs |  1 +
 src/Lucene.Net.Tests/Store/TestCopyBytes.cs        |  3 +-
 src/Lucene.Net.Tests/Store/TestDirectory.cs        |  7 ++--
 src/Lucene.Net.Tests/Store/TestHugeRamFile.cs      |  4 +--
 src/Lucene.Net.Tests/Store/TestLockFactory.cs      |  9 ++---
 src/Lucene.Net.Tests/Support/TestWeakDictionary.cs |  6 ++--
 .../Support/TestWeakDictionaryBehavior.cs          |  3 +-
 src/Lucene.Net.Tests/Util/Fst/TestBytesStore.cs    |  4 +--
 src/Lucene.Net.Tests/Util/Fst/TestFSTs.cs          |  7 ++--
 .../Util/Packed/TestEliasFanoSequence.cs           |  6 ++--
 src/Lucene.Net.Tests/Util/Packed/TestPackedInts.cs |  7 ++--
 .../Util/StressRamUsageEstimator.cs                |  4 +--
 src/Lucene.Net.Tests/Util/TestBroadWord.cs         |  3 +-
 src/Lucene.Net.Tests/Util/TestFixedBitSet.cs       |  2 +-
 src/Lucene.Net.Tests/Util/TestLongBitSet.cs        |  2 +-
 src/Lucene.Net.Tests/Util/TestNumericUtils.cs      |  5 +--
 src/Lucene.Net.Tests/Util/TestOfflineSorter.cs     |  8 ++---
 src/Lucene.Net.Tests/Util/TestOpenBitSet.cs        |  2 +-
 src/Lucene.Net.Tests/Util/TestPagedBytes.cs        |  9 ++---
 src/Lucene.Net.Tests/Util/TestWeakIdentityMap.cs   |  4 +--
 91 files changed, 199 insertions(+), 212 deletions(-)

diff --git a/src/Lucene.Net.TestFramework/Index/BaseStoredFieldsFormatTestCase.cs b/src/Lucene.Net.TestFramework/Index/BaseStoredFieldsFormatTestCase.cs
index 5300826..a33229d 100644
--- a/src/Lucene.Net.TestFramework/Index/BaseStoredFieldsFormatTestCase.cs
+++ b/src/Lucene.Net.TestFramework/Index/BaseStoredFieldsFormatTestCase.cs
@@ -736,6 +736,7 @@ namespace Lucene.Net.Index
         }
 
         [Test]
+        [Nightly]
         public virtual void TestBigDocuments()
         {
             // "big" as "much bigger than the chunk size"
diff --git a/src/Lucene.Net.TestFramework/Support/Attributes/LongRunningTestAttribute.cs b/src/Lucene.Net.TestFramework/Support/Attributes/LongRunningTestAttribute.cs
deleted file mode 100644
index 1d84963..0000000
--- a/src/Lucene.Net.TestFramework/Support/Attributes/LongRunningTestAttribute.cs
+++ /dev/null
@@ -1,40 +0,0 @@
-#if TESTFRAMEWORK_NUNIT
-/*
- *
- * 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.
- *
-*/
-
-using Lucene.Net.Support;
-using NUnit.Framework;
-
-namespace Lucene.Net.Attributes
-{
-    /// <summary>
-    /// This test runs long and should be skipped in the 1st run.
-    /// </summary>
-    [ExceptionToNetNumericConvention]
-    internal class LongRunningTestAttribute : CategoryAttribute
-    {
-        public LongRunningTestAttribute() : base("LongRunningTest")
-        {
-            // nothing to do here but invoke the base contsructor.
-        }
-    }
-}
-#endif
\ No newline at end of file
diff --git a/src/Lucene.Net.Tests.Analysis.Common/Analysis/Core/TestAnalyzers.cs b/src/Lucene.Net.Tests.Analysis.Common/Analysis/Core/TestAnalyzers.cs
index 4e1448c..a1bfcf1 100644
--- a/src/Lucene.Net.Tests.Analysis.Common/Analysis/Core/TestAnalyzers.cs
+++ b/src/Lucene.Net.Tests.Analysis.Common/Analysis/Core/TestAnalyzers.cs
@@ -1,6 +1,5 @@
 using Lucene.Net.Analysis.Standard;
 using Lucene.Net.Analysis.TokenAttributes;
-using Lucene.Net.Attributes;
 using Lucene.Net.Util;
 using NUnit.Framework;
 using System;
@@ -242,7 +241,8 @@ namespace Lucene.Net.Analysis.Core
 
         /// <summary>
         /// blast some random large strings through the analyzer </summary>
-        [Test, LongRunningTest]
+        [Test]
+        [Slow]
         public virtual void TestRandomHugeStrings()
         {
             Random random = Random;
diff --git a/src/Lucene.Net.Tests.Analysis.Common/Analysis/Core/TestBugInSomething.cs b/src/Lucene.Net.Tests.Analysis.Common/Analysis/Core/TestBugInSomething.cs
index 502d272..95ba117 100644
--- a/src/Lucene.Net.Tests.Analysis.Common/Analysis/Core/TestBugInSomething.cs
+++ b/src/Lucene.Net.Tests.Analysis.Common/Analysis/Core/TestBugInSomething.cs
@@ -5,7 +5,6 @@ using Lucene.Net.Analysis.NGram;
 using Lucene.Net.Analysis.Shingle;
 using Lucene.Net.Analysis.Util;
 using Lucene.Net.Analysis.Wikipedia;
-using Lucene.Net.Attributes;
 using NUnit.Framework;
 using System;
 using System.IO;
@@ -297,7 +296,8 @@ namespace Lucene.Net.Analysis.Core
         }
 
         // LUCENE-5269
-        [Test, LongRunningTest]
+        [Test]
+        [Slow]
         public virtual void TestUnicodeShinglesAndNgrams()
         {
             Analyzer analyzer = new AnalyzerAnonymousInnerClassHelper100(this);
diff --git a/src/Lucene.Net.Tests.Analysis.Common/Analysis/Core/TestFactories.cs b/src/Lucene.Net.Tests.Analysis.Common/Analysis/Core/TestFactories.cs
index 48e04b1..596b45b 100644
--- a/src/Lucene.Net.Tests.Analysis.Common/Analysis/Core/TestFactories.cs
+++ b/src/Lucene.Net.Tests.Analysis.Common/Analysis/Core/TestFactories.cs
@@ -1,5 +1,4 @@
 using Lucene.Net.Analysis.Util;
-using Lucene.Net.Attributes;
 using Lucene.Net.Util;
 using NUnit.Framework;
 using System;
@@ -38,7 +37,8 @@ namespace Lucene.Net.Analysis.Core
     [TestFixture]
     public class TestFactories : BaseTokenStreamTestCase
     {
-        [Test, LongRunningTest]
+        [Test]
+        [Slow]
         public virtual void Test()
         {
             foreach (string tokenizer in TokenizerFactory.AvailableTokenizers)
diff --git a/src/Lucene.Net.Tests.Analysis.Common/Analysis/Core/TestRandomChains.cs b/src/Lucene.Net.Tests.Analysis.Common/Analysis/Core/TestRandomChains.cs
index ade6ea1..e099151 100644
--- a/src/Lucene.Net.Tests.Analysis.Common/Analysis/Core/TestRandomChains.cs
+++ b/src/Lucene.Net.Tests.Analysis.Common/Analysis/Core/TestRandomChains.cs
@@ -1,4 +1,5 @@
 
+using J2N.Runtime.CompilerServices;
 using J2N.Text;
 using Lucene.Net.Analysis.CharFilters;
 using Lucene.Net.Analysis.Cjk;
@@ -16,7 +17,6 @@ using Lucene.Net.Analysis.Standard;
 using Lucene.Net.Analysis.Synonym;
 using Lucene.Net.Analysis.Util;
 using Lucene.Net.Analysis.Wikipedia;
-using Lucene.Net.Attributes;
 using Lucene.Net.Support;
 using Lucene.Net.Tartarus.Snowball;
 using Lucene.Net.TestFramework.Analysis;
@@ -32,9 +32,8 @@ using System.Linq;
 using System.Reflection;
 using System.Text;
 using System.Text.RegularExpressions;
-using JCG = J2N.Collections.Generic;
 using Console = Lucene.Net.Util.SystemConsole;
-using J2N.Runtime.CompilerServices;
+using JCG = J2N.Collections.Generic;
 
 namespace Lucene.Net.Analysis.Core
 {
@@ -1122,7 +1121,8 @@ namespace Lucene.Net.Analysis.Core
             internal string toString;
         }
 
-        [Test, LongRunningTest]
+        [Test]
+        [Slow]
         public void TestRandomChains_()
         {
             int numIterations = AtLeast(20);
@@ -1148,7 +1148,8 @@ namespace Lucene.Net.Analysis.Core
         }
 
         // we might regret this decision...
-        [Test, LongRunningTest]
+        [Test]
+        [Slow]
         public void TestRandomChainsWithLargeStrings()
         {
             int numIterations = AtLeast(20);
diff --git a/src/Lucene.Net.Tests.Analysis.Common/Analysis/Miscellaneous/TestRemoveDuplicatesTokenFilter.cs b/src/Lucene.Net.Tests.Analysis.Common/Analysis/Miscellaneous/TestRemoveDuplicatesTokenFilter.cs
index f0b4f67..c09c857 100644
--- a/src/Lucene.Net.Tests.Analysis.Common/Analysis/Miscellaneous/TestRemoveDuplicatesTokenFilter.cs
+++ b/src/Lucene.Net.Tests.Analysis.Common/Analysis/Miscellaneous/TestRemoveDuplicatesTokenFilter.cs
@@ -2,7 +2,6 @@
 using Lucene.Net.Analysis.Core;
 using Lucene.Net.Analysis.Synonym;
 using Lucene.Net.Analysis.TokenAttributes;
-using Lucene.Net.Attributes;
 using Lucene.Net.Util;
 using NUnit.Framework;
 using System;
@@ -135,7 +134,8 @@ namespace Lucene.Net.Analysis.Miscellaneous
 
         /// <summary>
         /// blast some random strings through the analyzer </summary>
-        [Test, LongRunningTest]
+        [Test]
+        [Slow]
         public virtual void TestRandomStrings()
         {
             int numIters = AtLeast(10);
diff --git a/src/Lucene.Net.Tests.Analysis.Common/Analysis/Miscellaneous/TestWordDelimiterFilter.cs b/src/Lucene.Net.Tests.Analysis.Common/Analysis/Miscellaneous/TestWordDelimiterFilter.cs
index dd4942c..cdec7d3 100644
--- a/src/Lucene.Net.Tests.Analysis.Common/Analysis/Miscellaneous/TestWordDelimiterFilter.cs
+++ b/src/Lucene.Net.Tests.Analysis.Common/Analysis/Miscellaneous/TestWordDelimiterFilter.cs
@@ -2,7 +2,6 @@
 using Lucene.Net.Analysis.Standard;
 using Lucene.Net.Analysis.TokenAttributes;
 using Lucene.Net.Analysis.Util;
-using Lucene.Net.Attributes;
 using NUnit.Framework;
 using System;
 using System.IO;
@@ -463,7 +462,8 @@ namespace Lucene.Net.Analysis.Miscellaneous
 
         /// <summary>
         /// blast some enormous random strings through the analyzer </summary>
-        [Test, LongRunningTest]
+        [Test]
+        [Slow]
         public virtual void TestRandomHugeStrings()
         {
             int numIterations = AtLeast(5);
diff --git a/src/Lucene.Net.Tests.Analysis.Common/Analysis/NGram/EdgeNGramTokenFilterTest.cs b/src/Lucene.Net.Tests.Analysis.Common/Analysis/NGram/EdgeNGramTokenFilterTest.cs
index 9dfd7e5..bed26aa 100644
--- a/src/Lucene.Net.Tests.Analysis.Common/Analysis/NGram/EdgeNGramTokenFilterTest.cs
+++ b/src/Lucene.Net.Tests.Analysis.Common/Analysis/NGram/EdgeNGramTokenFilterTest.cs
@@ -3,7 +3,6 @@ using Lucene.Net.Analysis.Core;
 using Lucene.Net.Analysis.Miscellaneous;
 using Lucene.Net.Analysis.Shingle;
 using Lucene.Net.Analysis.TokenAttributes;
-using Lucene.Net.Attributes;
 using Lucene.Net.Util;
 using NUnit.Framework;
 using System;
@@ -254,7 +253,7 @@ namespace Lucene.Net.Analysis.NGram
 
         /// <summary>
         /// blast some random strings through the analyzer </summary>
-        [Test, LongRunningTest]
+        [Test]
         public virtual void TestRandomStrings()
         {
             for (int i = 0; i < 10; i++)
diff --git a/src/Lucene.Net.Tests.Analysis.Common/Analysis/NGram/EdgeNGramTokenizerTest.cs b/src/Lucene.Net.Tests.Analysis.Common/Analysis/NGram/EdgeNGramTokenizerTest.cs
index da9a717..921091e 100644
--- a/src/Lucene.Net.Tests.Analysis.Common/Analysis/NGram/EdgeNGramTokenizerTest.cs
+++ b/src/Lucene.Net.Tests.Analysis.Common/Analysis/NGram/EdgeNGramTokenizerTest.cs
@@ -1,5 +1,4 @@
-using Lucene.Net.Attributes;
-using Lucene.Net.Support;
+using Lucene.Net.Support;
 using Lucene.Net.Util;
 using NUnit.Framework;
 using System;
@@ -134,7 +133,8 @@ namespace Lucene.Net.Analysis.NGram
 
         /// <summary>
         /// blast some random strings through the analyzer </summary>
-        [Test, LongRunningTest]
+        [Test]
+        [Slow]
         public virtual void TestRandomStrings()
         {
             for (int i = 0; i < 10; i++)
diff --git a/src/Lucene.Net.Tests.Analysis.Common/Analysis/NGram/NGramTokenFilterTest.cs b/src/Lucene.Net.Tests.Analysis.Common/Analysis/NGram/NGramTokenFilterTest.cs
index 62bbd35..06d159e 100644
--- a/src/Lucene.Net.Tests.Analysis.Common/Analysis/NGram/NGramTokenFilterTest.cs
+++ b/src/Lucene.Net.Tests.Analysis.Common/Analysis/NGram/NGramTokenFilterTest.cs
@@ -2,7 +2,6 @@
 using Lucene.Net.Analysis.Core;
 using Lucene.Net.Analysis.Miscellaneous;
 using Lucene.Net.Analysis.TokenAttributes;
-using Lucene.Net.Attributes;
 using Lucene.Net.Util;
 using NUnit.Framework;
 using System;
@@ -154,7 +153,7 @@ namespace Lucene.Net.Analysis.NGram
 
         /// <summary>
         /// blast some random strings through the analyzer </summary>
-        [Test, LongRunningTest]
+        [Test]
         public virtual void TestRandomStrings()
         {
             for (int i = 0; i < 10; i++)
diff --git a/src/Lucene.Net.Tests.Analysis.Common/Analysis/NGram/NGramTokenizerTest.cs b/src/Lucene.Net.Tests.Analysis.Common/Analysis/NGram/NGramTokenizerTest.cs
index 7d03b83..0277a44 100644
--- a/src/Lucene.Net.Tests.Analysis.Common/Analysis/NGram/NGramTokenizerTest.cs
+++ b/src/Lucene.Net.Tests.Analysis.Common/Analysis/NGram/NGramTokenizerTest.cs
@@ -1,6 +1,5 @@
 using J2N;
 using Lucene.Net.Analysis.TokenAttributes;
-using Lucene.Net.Attributes;
 using Lucene.Net.Support;
 using Lucene.Net.Util;
 using NUnit.Framework;
@@ -108,7 +107,8 @@ namespace Lucene.Net.Analysis.NGram
 
         /// <summary>
         /// blast some random strings through the analyzer </summary>
-        [Test, LongRunningTest]
+        [Test]
+        [Slow]
         public virtual void TestRandomStrings()
         {
             for (int i = 0; i < 10; i++)
@@ -211,6 +211,7 @@ namespace Lucene.Net.Analysis.NGram
                         }
                     }
                     assertTrue(grams.IncrementToken());
+
                     assertArrayEquals(Arrays.CopyOfRange(codePoints, start, end), toCodePoints(termAtt.ToString()));
                     assertEquals(1, posIncAtt.PositionIncrement);
                     assertEquals(1, posLenAtt.PositionLength);
@@ -293,7 +294,7 @@ namespace Lucene.Net.Analysis.NGram
             TestNGrams(minGram, maxGram, new string(chrs), " ");
         }
 
-        [Test, LongRunningTest]
+        [Test]
         public virtual void TestFullUTF8Range()
         {
             int minGram = TestUtil.NextInt32(Random, 1, 100);
diff --git a/src/Lucene.Net.Tests.Analysis.Common/Analysis/Pattern/TestPatternReplaceCharFilter.cs b/src/Lucene.Net.Tests.Analysis.Common/Analysis/Pattern/TestPatternReplaceCharFilter.cs
index 860ebf2..316762f 100644
--- a/src/Lucene.Net.Tests.Analysis.Common/Analysis/Pattern/TestPatternReplaceCharFilter.cs
+++ b/src/Lucene.Net.Tests.Analysis.Common/Analysis/Pattern/TestPatternReplaceCharFilter.cs
@@ -1,5 +1,4 @@
-using Lucene.Net.Attributes;
-using Lucene.Net.Util;
+using Lucene.Net.Util;
 using NUnit.Framework;
 using System;
 using System.IO;
@@ -247,7 +246,8 @@ namespace Lucene.Net.Analysis.Pattern
 
         /// <summary>
         /// blast some random strings through the analyzer </summary>
-        [Test, LongRunningTest]
+        [Test]
+        [Slow]
         public virtual void TestRandomStrings()
         {
             int numPatterns = 10 + LuceneTestCase.Random.Next(20);
diff --git a/src/Lucene.Net.Tests.Analysis.Common/Analysis/Shingle/ShingleFilterTest.cs b/src/Lucene.Net.Tests.Analysis.Common/Analysis/Shingle/ShingleFilterTest.cs
index 79cc719..43d6ecb 100644
--- a/src/Lucene.Net.Tests.Analysis.Common/Analysis/Shingle/ShingleFilterTest.cs
+++ b/src/Lucene.Net.Tests.Analysis.Common/Analysis/Shingle/ShingleFilterTest.cs
@@ -1,6 +1,5 @@
 using Lucene.Net.Analysis.Core;
 using Lucene.Net.Analysis.TokenAttributes;
-using Lucene.Net.Attributes;
 using NUnit.Framework;
 using System;
 using System.IO;
@@ -533,7 +532,7 @@ namespace Lucene.Net.Analysis.Shingle
 
         /// <summary>
         /// blast some random large strings through the analyzer </summary>
-        [Test, LongRunningTest]
+        [Test]
         public virtual void TestRandomHugeStrings()
         {
             Random random = Random;
diff --git a/src/Lucene.Net.Tests.Analysis.Common/Analysis/Snowball/TestSnowball.cs b/src/Lucene.Net.Tests.Analysis.Common/Analysis/Snowball/TestSnowball.cs
index 854a576..cdee01e 100644
--- a/src/Lucene.Net.Tests.Analysis.Common/Analysis/Snowball/TestSnowball.cs
+++ b/src/Lucene.Net.Tests.Analysis.Common/Analysis/Snowball/TestSnowball.cs
@@ -193,7 +193,8 @@ namespace Lucene.Net.Analysis.Snowball
             }
         }
 
-        [Test, LongRunningTest]
+        [Test]
+        [Slow]
         public virtual void TestRandomStrings()
         {
             foreach (string lang in SNOWBALL_LANGS)
diff --git a/src/Lucene.Net.Tests.Analysis.Common/Analysis/Snowball/TestSnowballVocab.cs b/src/Lucene.Net.Tests.Analysis.Common/Analysis/Snowball/TestSnowballVocab.cs
index fb9bfa3..94c8166 100644
--- a/src/Lucene.Net.Tests.Analysis.Common/Analysis/Snowball/TestSnowballVocab.cs
+++ b/src/Lucene.Net.Tests.Analysis.Common/Analysis/Snowball/TestSnowballVocab.cs
@@ -1,5 +1,4 @@
 using Lucene.Net.Analysis.Core;
-using Lucene.Net.Attributes;
 using Lucene.Net.Util;
 using NUnit.Framework;
 using System.IO;
@@ -32,7 +31,8 @@ namespace Lucene.Net.Analysis.Snowball
         /// <summary>
         /// Run all languages against their snowball vocabulary tests.
         /// </summary>
-        [Test, LongRunningTest]
+        [Test]
+        [Slow]
         public virtual void TestStemmers()
         {
             AssertCorrectOutput("Danish", "danish");
diff --git a/src/Lucene.Net.Tests.Analysis.Common/Analysis/Util/TestRollingCharBuffer.cs b/src/Lucene.Net.Tests.Analysis.Common/Analysis/Util/TestRollingCharBuffer.cs
index bdcb48a..940d858 100644
--- a/src/Lucene.Net.Tests.Analysis.Common/Analysis/Util/TestRollingCharBuffer.cs
+++ b/src/Lucene.Net.Tests.Analysis.Common/Analysis/Util/TestRollingCharBuffer.cs
@@ -1,9 +1,5 @@
-using Lucene.Net.Analysis.Util;
-using Lucene.Net.Attributes;
-using Lucene.Net.Randomized.Generators;
-using Lucene.Net.Util;
+using Lucene.Net.Util;
 using NUnit.Framework;
-using System;
 using System.IO;
 using Console = Lucene.Net.Util.SystemConsole;
 
@@ -29,7 +25,7 @@ namespace Lucene.Net.Analysis.Util
     [TestFixture]
     public class TestRollingCharBuffer : LuceneTestCase
     {
-        [Test, LongRunningTest]
+        [Test]
         public virtual void Test()
         {
             var ITERS = AtLeast(1000);
diff --git a/src/Lucene.Net.Tests.Analysis.ICU/Analysis/Icu/TestICUNormalizer2CharFilter.cs b/src/Lucene.Net.Tests.Analysis.ICU/Analysis/Icu/TestICUNormalizer2CharFilter.cs
index f095483..b72d7ee 100644
--- a/src/Lucene.Net.Tests.Analysis.ICU/Analysis/Icu/TestICUNormalizer2CharFilter.cs
+++ b/src/Lucene.Net.Tests.Analysis.ICU/Analysis/Icu/TestICUNormalizer2CharFilter.cs
@@ -199,6 +199,7 @@ namespace Lucene.Net.Analysis.Icu
 
         //@AwaitsFix(bugUrl = "https://issues.apache.org/jira/browse/LUCENE-5595")
         [Test]
+        [Slow]
         public void TestRandomStrings()
         {
             // nfkc_cf
diff --git a/src/Lucene.Net.Tests.Analysis.Kuromoji/TestExtendedMode.cs b/src/Lucene.Net.Tests.Analysis.Kuromoji/TestExtendedMode.cs
index f534542..cb94ba3 100644
--- a/src/Lucene.Net.Tests.Analysis.Kuromoji/TestExtendedMode.cs
+++ b/src/Lucene.Net.Tests.Analysis.Kuromoji/TestExtendedMode.cs
@@ -22,6 +22,7 @@ namespace Lucene.Net.Analysis.Ja
      * limitations under the License.
      */
 
+    //[Slow] // LUCENENET specific - not slow in .NET
     public class TestExtendedMode : BaseTokenStreamTestCase
     {
         private readonly Analyzer analyzer = Analyzer.NewAnonymous(createComponents: (fieldName, reader) =>
diff --git a/src/Lucene.Net.Tests.Analysis.Kuromoji/TestJapaneseAnalyzer.cs b/src/Lucene.Net.Tests.Analysis.Kuromoji/TestJapaneseAnalyzer.cs
index 0771623..9ddda95 100644
--- a/src/Lucene.Net.Tests.Analysis.Kuromoji/TestJapaneseAnalyzer.cs
+++ b/src/Lucene.Net.Tests.Analysis.Kuromoji/TestJapaneseAnalyzer.cs
@@ -23,6 +23,7 @@ namespace Lucene.Net.Analysis.Ja
     /// <summary>
     /// Test Kuromoji Japanese morphological analyzer
     /// </summary>
+    //[Slow] // LUCENENET specific - not very slow in .NET
     public class TestJapaneseAnalyzer : BaseTokenStreamTestCase
     {
         /** This test fails with NPE when the 
diff --git a/src/Lucene.Net.Tests.Analysis.Kuromoji/TestJapaneseTokenizer.cs b/src/Lucene.Net.Tests.Analysis.Kuromoji/TestJapaneseTokenizer.cs
index cf2351e..28bfb32 100644
--- a/src/Lucene.Net.Tests.Analysis.Kuromoji/TestJapaneseTokenizer.cs
+++ b/src/Lucene.Net.Tests.Analysis.Kuromoji/TestJapaneseTokenizer.cs
@@ -2,7 +2,6 @@
 using Lucene.Net.Analysis.Ja.Dict;
 using Lucene.Net.Analysis.Ja.TokenAttributes;
 using Lucene.Net.Analysis.TokenAttributes;
-using Lucene.Net.Attributes;
 using Lucene.Net.Util;
 using NUnit.Framework;
 using System;
@@ -30,6 +29,7 @@ namespace Lucene.Net.Analysis.Ja
      * limitations under the License.
      */
 
+    [Slow]
     public class TestJapaneseTokenizer : BaseTokenStreamTestCase
     {
         public static UserDictionary ReadDict()
@@ -205,7 +205,8 @@ namespace Lucene.Net.Analysis.Ja
         }
 
         /** blast some random large strings through the analyzer */
-        [Test, LongRunningTest]
+        [Test]
+        [Slow]
         public void TestRandomHugeStrings()
         {
             Random random = Random;
@@ -705,8 +706,8 @@ namespace Lucene.Net.Analysis.Ja
             doTestBocchan(1);
         }
 
-        [Test]//@Nightly
-        [Ignore("This test takes a long time to run - do it manually")]
+        [Test]
+        [Nightly]
         public void TestBocchanBig()
         {
             doTestBocchan(100);
diff --git a/src/Lucene.Net.Tests.Analysis.Phonetic/Language/Bm/CacheSubSequencePerformanceTest.cs b/src/Lucene.Net.Tests.Analysis.Phonetic/Language/Bm/CacheSubSequencePerformanceTest.cs
index f4f132f..c8b76c6 100644
--- a/src/Lucene.Net.Tests.Analysis.Phonetic/Language/Bm/CacheSubSequencePerformanceTest.cs
+++ b/src/Lucene.Net.Tests.Analysis.Phonetic/Language/Bm/CacheSubSequencePerformanceTest.cs
@@ -1,7 +1,6 @@
 using J2N.Text;
-using Lucene.Net.Attributes;
+using Lucene.Net.Util;
 using NUnit.Framework;
-using System;
 using System.Diagnostics;
 using System.Text;
 using Console = Lucene.Net.Util.SystemConsole;
@@ -25,9 +24,10 @@ namespace Lucene.Net.Analysis.Phonetic.Language.Bm
      * limitations under the License.
      */
 
-    public class CacheSubSequencePerformanceTest
+    public class CacheSubSequencePerformanceTest : LuceneTestCase
     {
-        [Test, LongRunningTest]
+        [Test]
+        [Slow]
         public void Test()
         {
             int times = 10000000;
diff --git a/src/Lucene.Net.Tests.Analysis.Phonetic/Language/Bm/PhoneticEnginePerformanceTest.cs b/src/Lucene.Net.Tests.Analysis.Phonetic/Language/Bm/PhoneticEnginePerformanceTest.cs
index 95dee54..728d105 100644
--- a/src/Lucene.Net.Tests.Analysis.Phonetic/Language/Bm/PhoneticEnginePerformanceTest.cs
+++ b/src/Lucene.Net.Tests.Analysis.Phonetic/Language/Bm/PhoneticEnginePerformanceTest.cs
@@ -1,7 +1,5 @@
-using J2N;
-using Lucene.Net.Attributes;
+using Lucene.Net.Util;
 using NUnit.Framework;
-using System;
 using System.Diagnostics;
 using Console = Lucene.Net.Util.SystemConsole;
 
@@ -124,11 +122,12 @@ namespace Lucene.Net.Analysis.Phonetic.Language.Bm
      * Patch applied, committed revision 1541234.
      * </p>
      */
-    public class PhoneticEnginePerformanceTest
+    public class PhoneticEnginePerformanceTest : LuceneTestCase
     {
         private const int LOOP = 80000;
 
-        [Test, LongRunningTest]
+        [Test]
+        [Slow]
         public void Test()
         {
             PhoneticEngine engine = new PhoneticEngine(NameType.GENERIC, RuleType.APPROX, true);
diff --git a/src/Lucene.Net.Tests.Analysis.Phonetic/TestPhoneticFilter.cs b/src/Lucene.Net.Tests.Analysis.Phonetic/TestPhoneticFilter.cs
index a386d0b..6788f2c 100644
--- a/src/Lucene.Net.Tests.Analysis.Phonetic/TestPhoneticFilter.cs
+++ b/src/Lucene.Net.Tests.Analysis.Phonetic/TestPhoneticFilter.cs
@@ -1,6 +1,5 @@
 using Lucene.Net.Analysis.Core;
 using Lucene.Net.Analysis.Phonetic.Language;
-using Lucene.Net.Attributes;
 using NUnit.Framework;
 using System;
 using System.IO;
@@ -74,7 +73,8 @@ namespace Lucene.Net.Analysis.Phonetic
         }
 
         /** blast some random strings through the analyzer */
-        [Test, LongRunningTest]
+        [Test]
+        [Slow]
         public void TestRandomStrings()
         {
             IStringEncoder[] encoders = new IStringEncoder[] {
diff --git a/src/Lucene.Net.Tests.Analysis.SmartCn/TestSmartChineseAnalyzer.cs b/src/Lucene.Net.Tests.Analysis.SmartCn/TestSmartChineseAnalyzer.cs
index 916cf47..32ea4ea 100644
--- a/src/Lucene.Net.Tests.Analysis.SmartCn/TestSmartChineseAnalyzer.cs
+++ b/src/Lucene.Net.Tests.Analysis.SmartCn/TestSmartChineseAnalyzer.cs
@@ -1,6 +1,5 @@
 using Lucene.Net.Analysis.Core;
 using Lucene.Net.Analysis.Miscellaneous;
-using Lucene.Net.Attributes;
 using Lucene.Net.Util;
 using NUnit.Framework;
 using System;
@@ -331,7 +330,8 @@ namespace Lucene.Net.Analysis.Cn.Smart
         }
 
         /** blast some random large strings through the analyzer */
-        [Test, LongRunningTest]
+        [Test]
+        [Slow]
         public void TestRandomHugeStrings()
         {
             Random random = Random;
diff --git a/src/Lucene.Net.Tests.Benchmark/ByTask/TestPerfTasksLogic.cs b/src/Lucene.Net.Tests.Benchmark/ByTask/TestPerfTasksLogic.cs
index 1dfbae6..e3dc9d7 100644
--- a/src/Lucene.Net.Tests.Benchmark/ByTask/TestPerfTasksLogic.cs
+++ b/src/Lucene.Net.Tests.Benchmark/ByTask/TestPerfTasksLogic.cs
@@ -1,7 +1,6 @@
 using ICU4N.Text;
 using Lucene.Net.Analysis;
 using Lucene.Net.Analysis.TokenAttributes;
-using Lucene.Net.Attributes;
 using Lucene.Net.Benchmarks.ByTask.Feeds;
 using Lucene.Net.Benchmarks.ByTask.Stats;
 using Lucene.Net.Benchmarks.ByTask.Tasks;
@@ -123,7 +122,7 @@ namespace Lucene.Net.Benchmarks.ByTask
 
         // disabled until we fix BG thread prio -- this test
         // causes build to hang
-        [Test, LongRunningTest]
+        [Test]
         public void TestBGSearchTaskThreads()
         {
             String[] algLines = {
diff --git a/src/Lucene.Net.Tests.Codecs/Pulsing/Test10KPulsings.cs b/src/Lucene.Net.Tests.Codecs/Pulsing/Test10KPulsings.cs
index 0d980e2..e64a19a 100644
--- a/src/Lucene.Net.Tests.Codecs/Pulsing/Test10KPulsings.cs
+++ b/src/Lucene.Net.Tests.Codecs/Pulsing/Test10KPulsings.cs
@@ -32,10 +32,10 @@ namespace Lucene.Net.Codecs.Pulsing
     /// <summary>
     /// Pulses 10k terms/docs, 
     /// originally designed to find JRE bugs (https://issues.apache.org/jira/browse/LUCENE-3335)
-    /// 
+    /// <para/>
     /// @lucene.experimental
     /// </summary>
-    // LUCENENET TODO: This was marked with the Nightly attribute in Java Lucene
+    [Nightly]
     public class Test10KPulsings : LuceneTestCase
     {
         [Test]
diff --git a/src/Lucene.Net.Tests.Codecs/SimpleText/TestSimpleTextPostingsFormat.cs b/src/Lucene.Net.Tests.Codecs/SimpleText/TestSimpleTextPostingsFormat.cs
index 03cc91d..f6c20dd 100644
--- a/src/Lucene.Net.Tests.Codecs/SimpleText/TestSimpleTextPostingsFormat.cs
+++ b/src/Lucene.Net.Tests.Codecs/SimpleText/TestSimpleTextPostingsFormat.cs
@@ -22,6 +22,7 @@ namespace Lucene.Net.Codecs.SimpleText
     /// <summary>
     /// Tests SimpleText's postings
     /// </summary>
+    [Nightly] // please figure out why I am so horrendously slow!
     public class TestSimpleTextPostingsFormat : BasePostingsFormatTestCase // please figure out why I am so horrendously slow!
     {
         private readonly Codec codec = new SimpleTextCodec();
diff --git a/src/Lucene.Net.Tests.Facet/Taxonomy/Directory/TestAddTaxonomy.cs b/src/Lucene.Net.Tests.Facet/Taxonomy/Directory/TestAddTaxonomy.cs
index a7b0ebe..16255a9 100644
--- a/src/Lucene.Net.Tests.Facet/Taxonomy/Directory/TestAddTaxonomy.cs
+++ b/src/Lucene.Net.Tests.Facet/Taxonomy/Directory/TestAddTaxonomy.cs
@@ -187,6 +187,7 @@ namespace Lucene.Net.Facet.Taxonomy.Directory
 
         // A more comprehensive and big random test.
         [Test]
+        [Slow]
         public virtual void TestBig()
         {
             Dotest(200, 10000);
diff --git a/src/Lucene.Net.Tests.Facet/Taxonomy/Directory/TestDirectoryTaxonomyWriter.cs b/src/Lucene.Net.Tests.Facet/Taxonomy/Directory/TestDirectoryTaxonomyWriter.cs
index 3f8600d..5ecc3cc 100644
--- a/src/Lucene.Net.Tests.Facet/Taxonomy/Directory/TestDirectoryTaxonomyWriter.cs
+++ b/src/Lucene.Net.Tests.Facet/Taxonomy/Directory/TestDirectoryTaxonomyWriter.cs
@@ -258,6 +258,7 @@ namespace Lucene.Net.Facet.Taxonomy.Directory
         }
 
         [Test]
+        [Slow]
         public virtual void TestConcurrency()
         {
             int ncats = AtLeast(100000); // add many categories
diff --git a/src/Lucene.Net.Tests.Facet/Taxonomy/TestSearcherTaxonomyManager.cs b/src/Lucene.Net.Tests.Facet/Taxonomy/TestSearcherTaxonomyManager.cs
index 36a93fb..05ff3e5 100644
--- a/src/Lucene.Net.Tests.Facet/Taxonomy/TestSearcherTaxonomyManager.cs
+++ b/src/Lucene.Net.Tests.Facet/Taxonomy/TestSearcherTaxonomyManager.cs
@@ -1,6 +1,5 @@
 using J2N.Threading;
 using J2N.Threading.Atomic;
-using Lucene.Net.Attributes;
 using Lucene.Net.Index.Extensions;
 using Lucene.Net.Search;
 using NUnit.Framework;
@@ -8,9 +7,9 @@ using System;
 using System.Collections.Generic;
 using System.IO;
 using System.Threading;
-using JCG = J2N.Collections.Generic;
 using Assert = Lucene.Net.TestFramework.Assert;
 using Console = Lucene.Net.Util.SystemConsole;
+using JCG = J2N.Collections.Generic;
 
 namespace Lucene.Net.Facet.Taxonomy
 {
@@ -31,7 +30,6 @@ namespace Lucene.Net.Facet.Taxonomy
      * limitations under the License.
      */
 
-    using Directory = Lucene.Net.Store.Directory;
     using DirectoryTaxonomyWriter = Lucene.Net.Facet.Taxonomy.Directory.DirectoryTaxonomyWriter;
     using Document = Lucene.Net.Documents.Document;
     using IndexWriter = Lucene.Net.Index.IndexWriter;
@@ -258,7 +256,8 @@ namespace Lucene.Net.Facet.Taxonomy
         }
 
         
-        [Test, LongRunningTest]
+        [Test]
+        [Slow]
         public virtual void TestDirectory()
         {
             Store.Directory indexDir = NewDirectory();
diff --git a/src/Lucene.Net.Tests.Facet/Taxonomy/TestTaxonomyCombined.cs b/src/Lucene.Net.Tests.Facet/Taxonomy/TestTaxonomyCombined.cs
index 1057e18..8baeec1 100644
--- a/src/Lucene.Net.Tests.Facet/Taxonomy/TestTaxonomyCombined.cs
+++ b/src/Lucene.Net.Tests.Facet/Taxonomy/TestTaxonomyCombined.cs
@@ -1,6 +1,5 @@
 using J2N.Threading;
 using J2N.Threading.Atomic;
-using Lucene.Net.Attributes;
 using Lucene.Net.Support;
 using NUnit.Framework;
 using System;
@@ -755,7 +754,8 @@ namespace Lucene.Net.Facet.Taxonomy
         }
 
         // Test that getParentArrays is valid when retrieved during refresh
-        [Test, LongRunningTest]
+        [Test]
+        [Slow]
         public virtual void TestTaxonomyReaderRefreshRaces()
         {
             // compute base child arrays - after first chunk, and after the other
diff --git a/src/Lucene.Net.Tests.Facet/Taxonomy/WriterCache/TestCharBlockArray.cs b/src/Lucene.Net.Tests.Facet/Taxonomy/WriterCache/TestCharBlockArray.cs
index 511464f..9ab5ae7 100644
--- a/src/Lucene.Net.Tests.Facet/Taxonomy/WriterCache/TestCharBlockArray.cs
+++ b/src/Lucene.Net.Tests.Facet/Taxonomy/WriterCache/TestCharBlockArray.cs
@@ -1,5 +1,4 @@
-using Lucene.Net.Attributes;
-using NUnit.Framework;
+using NUnit.Framework;
 using System.IO;
 using System.Text;
 using Assert = Lucene.Net.TestFramework.Assert;
@@ -26,7 +25,8 @@ namespace Lucene.Net.Facet.Taxonomy.WriterCache
     [TestFixture]
     public class TestCharBlockArray : FacetTestCase
     {
-        [Test, LongRunningTest]
+        [Test]
+        [Slow]
         public virtual void TestArray()
         {
             CharBlockArray array = new CharBlockArray();
diff --git a/src/Lucene.Net.Tests.Highlighter/PostingsHighlight/TestPostingsHighlighterRanking.cs b/src/Lucene.Net.Tests.Highlighter/PostingsHighlight/TestPostingsHighlighterRanking.cs
index 905ece5..5cbf8af 100644
--- a/src/Lucene.Net.Tests.Highlighter/PostingsHighlight/TestPostingsHighlighterRanking.cs
+++ b/src/Lucene.Net.Tests.Highlighter/PostingsHighlight/TestPostingsHighlighterRanking.cs
@@ -52,6 +52,7 @@ namespace Lucene.Net.Search.PostingsHighlight
         /// </summary>
         // TODO: this only tests single-valued fields. we should also index multiple values per field!
         [Test]
+        [Slow]
         public void TestRanking()
         {
             // number of documents: we will check each one
diff --git a/src/Lucene.Net.Tests.Join/TestJoinUtil.cs b/src/Lucene.Net.Tests.Join/TestJoinUtil.cs
index f67ab77..bb80aff 100644
--- a/src/Lucene.Net.Tests.Join/TestJoinUtil.cs
+++ b/src/Lucene.Net.Tests.Join/TestJoinUtil.cs
@@ -1,5 +1,4 @@
-using System.Diagnostics;
-using Lucene.Net.Analysis;
+using Lucene.Net.Analysis;
 using Lucene.Net.Documents;
 using Lucene.Net.Index;
 using Lucene.Net.Index.Extensions;
@@ -10,8 +9,9 @@ using Lucene.Net.Util;
 using NUnit.Framework;
 using System;
 using System.Collections.Generic;
-using JCG = J2N.Collections.Generic;
+using System.Diagnostics;
 using Console = Lucene.Net.Util.SystemConsole;
+using JCG = J2N.Collections.Generic;
 
 namespace Lucene.Net.Tests.Join
 {
@@ -31,7 +31,7 @@ namespace Lucene.Net.Tests.Join
      * See the License for the specific language governing permissions and
      * limitations under the License.
      */
-     
+
     public class TestJoinUtil : LuceneTestCase
     {
         [Test]
@@ -386,6 +386,7 @@ namespace Lucene.Net.Tests.Join
         }
 
         [Test]
+        [Slow]
         public void TestSingleValueRandomJoin()
         {
             int maxIndexIter = TestUtil.NextInt32(Random, 6, 12);
@@ -394,6 +395,7 @@ namespace Lucene.Net.Tests.Join
         }
 
         [Test]
+        // [Slow] // LUCENENET specific - Not slow in .NET
         public void TestMultiValueRandomJoin()
             // this test really takes more time, that is why the number of iterations are smaller.
         {
diff --git a/src/Lucene.Net.Tests.Memory/Index/Memory/MemoryIndexTest.cs b/src/Lucene.Net.Tests.Memory/Index/Memory/MemoryIndexTest.cs
index bc31493..b6a8f42 100644
--- a/src/Lucene.Net.Tests.Memory/Index/Memory/MemoryIndexTest.cs
+++ b/src/Lucene.Net.Tests.Memory/Index/Memory/MemoryIndexTest.cs
@@ -78,7 +78,8 @@ namespace Lucene.Net.Index.Memory
         /**
          * runs random tests, up to ITERATIONS times.
          */
-         [Test]
+        [Test]
+        [Slow]
         public void TestRandomQueries()
         {
             MemoryIndex index = new MemoryIndex(Random.nextBoolean(), Random.nextInt(50) * 1024 * 1024);
diff --git a/src/Lucene.Net.Tests.Replicator/IndexAndTaxonomyReplicationClientTest.cs b/src/Lucene.Net.Tests.Replicator/IndexAndTaxonomyReplicationClientTest.cs
index 7df8c9f..cf043f4 100644
--- a/src/Lucene.Net.Tests.Replicator/IndexAndTaxonomyReplicationClientTest.cs
+++ b/src/Lucene.Net.Tests.Replicator/IndexAndTaxonomyReplicationClientTest.cs
@@ -287,6 +287,7 @@ namespace Lucene.Net.Replicator
         // a client copies files from the server to the temporary space, or when the
         // handler copies them to the index directory.
         [Test]
+        [Slow]
         public void TestConsistencyOnExceptions()
         {
             // so the handler's index isn't empty
diff --git a/src/Lucene.Net.Tests.Suggest/Suggest/Analyzing/AnalyzingInfixSuggesterTest.cs b/src/Lucene.Net.Tests.Suggest/Suggest/Analyzing/AnalyzingInfixSuggesterTest.cs
index f7f96b4..e50d546 100644
--- a/src/Lucene.Net.Tests.Suggest/Suggest/Analyzing/AnalyzingInfixSuggesterTest.cs
+++ b/src/Lucene.Net.Tests.Suggest/Suggest/Analyzing/AnalyzingInfixSuggesterTest.cs
@@ -5,7 +5,6 @@ using Lucene.Net.Analysis;
 using Lucene.Net.Analysis.Core;
 using Lucene.Net.Analysis.TokenAttributes;
 using Lucene.Net.Analysis.Util;
-using Lucene.Net.Attributes;
 using Lucene.Net.Util;
 using NUnit.Framework;
 using System;
@@ -639,7 +638,8 @@ namespace Lucene.Net.Search.Suggest.Analyzing
             }
         }
 
-        [Test, LongRunningTest]
+        [Test]
+        [Slow]
         public void TestRandomNRT()
         {
             DirectoryInfo tempDir = CreateTempDir("AnalyzingInfixSuggesterTest");
diff --git a/src/Lucene.Net.Tests.Suggest/Suggest/Analyzing/FuzzySuggesterTest.cs b/src/Lucene.Net.Tests.Suggest/Suggest/Analyzing/FuzzySuggesterTest.cs
index f2c9a96..5042412 100644
--- a/src/Lucene.Net.Tests.Suggest/Suggest/Analyzing/FuzzySuggesterTest.cs
+++ b/src/Lucene.Net.Tests.Suggest/Suggest/Analyzing/FuzzySuggesterTest.cs
@@ -3,7 +3,6 @@ using J2N.Collections.Generic.Extensions;
 using J2N.Text;
 using Lucene.Net.Analysis;
 using Lucene.Net.Analysis.TokenAttributes;
-using Lucene.Net.Attributes;
 using Lucene.Net.Support;
 using Lucene.Net.Util;
 using Lucene.Net.Util.Automaton;
@@ -716,7 +715,8 @@ namespace Lucene.Net.Search.Suggest.Analyzing
             }
         }
 
-        [Test, LongRunningTest]
+        [Test]
+        [Slow]
         public void TestRandom()
         {
 
diff --git a/src/Lucene.Net.Tests._E-I/Lucene.Net.Tests._E-I.csproj b/src/Lucene.Net.Tests._E-I/Lucene.Net.Tests._E-I.csproj
index f7a4909..4114f66 100644
--- a/src/Lucene.Net.Tests._E-I/Lucene.Net.Tests._E-I.csproj
+++ b/src/Lucene.Net.Tests._E-I/Lucene.Net.Tests._E-I.csproj
@@ -31,6 +31,7 @@
   <ItemGroup>
     <Compile Include="..\Lucene.Net.Tests\Index\BinaryTokenStream.cs" />
     <Compile Include="..\Lucene.Net.Tests\Index\Test2*.cs" LinkBase="Index" />
+    <Compile Include="..\Lucene.Net.Tests\Index\Test4*.cs" LinkBase="Index" />
     <Compile Include="..\Lucene.Net.Tests\Index\TestA*.cs" LinkBase="Index" />
     <Compile Include="..\Lucene.Net.Tests\Index\TestB*.cs" LinkBase="Index" />
     <Compile Include="..\Lucene.Net.Tests\Index\TestC*.cs" LinkBase="Index" />
diff --git a/src/Lucene.Net.Tests/Analysis/TestGraphTokenizers.cs b/src/Lucene.Net.Tests/Analysis/TestGraphTokenizers.cs
index a6c1aeb..58dbad8 100644
--- a/src/Lucene.Net.Tests/Analysis/TestGraphTokenizers.cs
+++ b/src/Lucene.Net.Tests/Analysis/TestGraphTokenizers.cs
@@ -1,6 +1,5 @@
 using J2N.Text;
 using Lucene.Net.Analysis.TokenAttributes;
-using Lucene.Net.Attributes;
 using NUnit.Framework;
 using System;
 using System.Collections.Generic;
@@ -331,7 +330,7 @@ namespace Lucene.Net.Analysis
             }
         }
 
-        [Test, LongRunningTest]
+        [Test]
         public virtual void TestMockGraphTokenFilterRandom()
         {
             for (int iter = 0; iter < 10 * RANDOM_MULTIPLIER; iter++)
@@ -356,7 +355,7 @@ namespace Lucene.Net.Analysis
         }
 
         // Two MockGraphTokenFilters
-        [Test, LongRunningTest]
+        [Test]
         public virtual void TestDoubleMockGraphTokenFilterRandom()
         {
             for (int iter = 0; iter < 10 * RANDOM_MULTIPLIER; iter++)
@@ -389,7 +388,7 @@ namespace Lucene.Net.Analysis
         }
 
 
-        [Test, LongRunningTest]
+        [Test]
         public virtual void TestMockGraphTokenFilterBeforeHolesRandom()
         {
             for (int iter = 0; iter < 10 * RANDOM_MULTIPLIER; iter++)
@@ -414,7 +413,7 @@ namespace Lucene.Net.Analysis
             }
         }
 
-        [Test, LongRunningTest]
+        [Test]
         public virtual void TestMockGraphTokenFilterAfterHolesRandom()
         {
             for (int iter = 0; iter < 10 * RANDOM_MULTIPLIER; iter++)
diff --git a/src/Lucene.Net.Tests/Analysis/TestLookaheadTokenFilter.cs b/src/Lucene.Net.Tests/Analysis/TestLookaheadTokenFilter.cs
index 236ef4f..3f53380 100644
--- a/src/Lucene.Net.Tests/Analysis/TestLookaheadTokenFilter.cs
+++ b/src/Lucene.Net.Tests/Analysis/TestLookaheadTokenFilter.cs
@@ -1,4 +1,3 @@
-using Lucene.Net.Attributes;
 using NUnit.Framework;
 using System;
 
@@ -24,7 +23,8 @@ namespace Lucene.Net.Analysis
     [TestFixture]
     public class TestLookaheadTokenFilter : BaseTokenStreamTestCase
     {
-        [Test, LongRunningTest]
+        [Test]
+        [Slow]
         public virtual void TestRandomStrings()
         {
             Analyzer a = Analyzer.NewAnonymous(createComponents: (fieldName, reader) =>
@@ -55,7 +55,8 @@ namespace Lucene.Net.Analysis
             }
         }
 
-        [Test, LongRunningTest]
+        [Test]
+        [Slow]
         public virtual void TestNeverCallingPeek()
         {
             Analyzer a = Analyzer.NewAnonymous(createComponents: (fieldName, reader) =>
diff --git a/src/Lucene.Net.Tests/Analysis/TestMockAnalyzer.cs b/src/Lucene.Net.Tests/Analysis/TestMockAnalyzer.cs
index 516de97..7291ce0 100644
--- a/src/Lucene.Net.Tests/Analysis/TestMockAnalyzer.cs
+++ b/src/Lucene.Net.Tests/Analysis/TestMockAnalyzer.cs
@@ -1,4 +1,3 @@
-using Lucene.Net.Attributes;
 using Lucene.Net.Documents;
 using Lucene.Net.Index;
 using NUnit.Framework;
@@ -215,7 +214,8 @@ namespace Lucene.Net.Analysis
 
         /// <summary>
         /// blast some random strings through differently configured tokenizers </summary>
-        [Test, LongRunningTest]
+        [Test]
+        [Slow]
         public virtual void TestRandomRegexps()
         {
             int iters = AtLeast(30);
diff --git a/src/Lucene.Net.Tests/Codecs/Lucene41/TestBlockPostingsFormat3.cs b/src/Lucene.Net.Tests/Codecs/Lucene41/TestBlockPostingsFormat3.cs
index d72107a..a1478fd 100644
--- a/src/Lucene.Net.Tests/Codecs/Lucene41/TestBlockPostingsFormat3.cs
+++ b/src/Lucene.Net.Tests/Codecs/Lucene41/TestBlockPostingsFormat3.cs
@@ -1,6 +1,5 @@
 using J2N.Collections.Generic.Extensions;
 using Lucene.Net.Analysis;
-using Lucene.Net.Attributes;
 using Lucene.Net.Documents;
 using Lucene.Net.Index;
 using Lucene.Net.Index.Extensions;
@@ -74,7 +73,8 @@ namespace Lucene.Net.Codecs.Lucene41
         internal static readonly int MAXDOC = Lucene41PostingsFormat.BLOCK_SIZE * 20;
 
         // creates 8 fields with different options and does "duels" of fields against each other
-        [Test, LongRunningTest]
+        [Test]
+        [Slow]
         public virtual void Test()
         {
             Directory dir = NewDirectory();
diff --git a/src/Lucene.Net.Tests/Index/Test2BPostings.cs b/src/Lucene.Net.Tests/Index/Test2BPostings.cs
index f54ace7..c58e9a5 100644
--- a/src/Lucene.Net.Tests/Index/Test2BPostings.cs
+++ b/src/Lucene.Net.Tests/Index/Test2BPostings.cs
@@ -43,8 +43,8 @@ namespace Lucene.Net.Index
     [TestFixture]
     public class Test2BPostings : LuceneTestCase
     {
-        [Ignore("Very slow. Enable manually by removing Ignore.")]
         [Test]
+        [Nightly]
         public virtual void Test([ValueSource(typeof(ConcurrentMergeSchedulerFactories), "Values")]Func<IConcurrentMergeScheduler> newScheduler)
         {
             BaseDirectoryWrapper dir = NewFSDirectory(CreateTempDir("2BPostings"));
diff --git a/src/Lucene.Net.Tests/Index/Test4GBStoredFields.cs b/src/Lucene.Net.Tests/Index/Test4GBStoredFields.cs
index 74c0390..7b09f1c 100644
--- a/src/Lucene.Net.Tests/Index/Test4GBStoredFields.cs
+++ b/src/Lucene.Net.Tests/Index/Test4GBStoredFields.cs
@@ -1,9 +1,9 @@
-using System;
 using Lucene.Net.Documents;
 using Lucene.Net.Index.Extensions;
 using Lucene.Net.Randomized.Generators;
 using Lucene.Net.Store;
 using NUnit.Framework;
+using System;
 using Assert = Lucene.Net.TestFramework.Assert;
 using Console = Lucene.Net.Util.SystemConsole;
 
@@ -43,8 +43,8 @@ namespace Lucene.Net.Index
     [TestFixture]
     public class Test4GBStoredFields : LuceneTestCase
     {
-        [Ignore("//LUCENENET NOTE: This was marked Nightly in Java")]
         [Test]
+        [Nightly]
         public virtual void Test([ValueSource(typeof(ConcurrentMergeSchedulerFactories), "Values")]Func<IConcurrentMergeScheduler> newScheduler)
         {
             MockDirectoryWrapper dir = new MockDirectoryWrapper(Random, new MMapDirectory(CreateTempDir("4GBStoredFields")));
diff --git a/src/Lucene.Net.Tests/Index/TestAddIndexes.cs b/src/Lucene.Net.Tests/Index/TestAddIndexes.cs
index 7d090b6..475b621 100644
--- a/src/Lucene.Net.Tests/Index/TestAddIndexes.cs
+++ b/src/Lucene.Net.Tests/Index/TestAddIndexes.cs
@@ -985,6 +985,7 @@ namespace Lucene.Net.Index
 
         // LUCENE-1335: test simultaneous addIndexes & close
         [Test]
+        [Slow]
         public virtual void TestAddIndexesWithCloseNoWait()
         {
             const int NUM_COPY = 50;
diff --git a/src/Lucene.Net.Tests/Index/TestAtomicUpdate.cs b/src/Lucene.Net.Tests/Index/TestAtomicUpdate.cs
index c609b38..f1eae0b 100644
--- a/src/Lucene.Net.Tests/Index/TestAtomicUpdate.cs
+++ b/src/Lucene.Net.Tests/Index/TestAtomicUpdate.cs
@@ -196,6 +196,7 @@ namespace Lucene.Net.Index
         */
 
         [Test]
+        [Slow]
         public virtual void TestAtomicUpdates()
         {
             Directory directory;
diff --git a/src/Lucene.Net.Tests/Index/TestBackwardsCompatibility.cs b/src/Lucene.Net.Tests/Index/TestBackwardsCompatibility.cs
index ed5ae3c..9845166 100644
--- a/src/Lucene.Net.Tests/Index/TestBackwardsCompatibility.cs
+++ b/src/Lucene.Net.Tests/Index/TestBackwardsCompatibility.cs
@@ -1,5 +1,4 @@
 using J2N;
-using Lucene.Net.Attributes;
 using Lucene.Net.Index.Extensions;
 using NUnit.Framework;
 using System;
@@ -946,7 +945,8 @@ namespace Lucene.Net.Index
             }
         }
 
-        [Test, LongRunningTest]
+        [Test]
+        [Slow]
         public virtual void TestCommandLineArgs()
         {
 
diff --git a/src/Lucene.Net.Tests/Index/TestBagOfPositions.cs b/src/Lucene.Net.Tests/Index/TestBagOfPositions.cs
index ba255dc..d1d350a 100644
--- a/src/Lucene.Net.Tests/Index/TestBagOfPositions.cs
+++ b/src/Lucene.Net.Tests/Index/TestBagOfPositions.cs
@@ -51,6 +51,7 @@ namespace Lucene.Net.Index
     
     {
         [Test]
+        [Slow]
         public virtual void Test()
         {
             IList<string> postingsList = new List<string>();
diff --git a/src/Lucene.Net.Tests/Index/TestBinaryDocValuesUpdates.cs b/src/Lucene.Net.Tests/Index/TestBinaryDocValuesUpdates.cs
index e556aab..a38cdd8 100644
--- a/src/Lucene.Net.Tests/Index/TestBinaryDocValuesUpdates.cs
+++ b/src/Lucene.Net.Tests/Index/TestBinaryDocValuesUpdates.cs
@@ -1627,7 +1627,8 @@ namespace Lucene.Net.Index
             dir.Dispose();
         }
 
-        [Test, LongRunningTest]
+        [Test]
+        [Slow]
         public virtual void TestTonsOfUpdates()
         {
             // LUCENE-5248: make sure that when there are many updates, we don't use too much RAM
diff --git a/src/Lucene.Net.Tests/Index/TestDocumentsWriterDeleteQueue.cs b/src/Lucene.Net.Tests/Index/TestDocumentsWriterDeleteQueue.cs
index a5cf881..2a3235c 100644
--- a/src/Lucene.Net.Tests/Index/TestDocumentsWriterDeleteQueue.cs
+++ b/src/Lucene.Net.Tests/Index/TestDocumentsWriterDeleteQueue.cs
@@ -249,6 +249,7 @@ namespace Lucene.Net.Index
         }
 
         [Test]
+        [Slow]
         public virtual void TestStressDeleteQueue()
         {
             DocumentsWriterDeleteQueue queue = new DocumentsWriterDeleteQueue();
diff --git a/src/Lucene.Net.Tests/Index/TestFlushByRamOrCountsPolicy.cs b/src/Lucene.Net.Tests/Index/TestFlushByRamOrCountsPolicy.cs
index 46c4e09..9af7f58 100644
--- a/src/Lucene.Net.Tests/Index/TestFlushByRamOrCountsPolicy.cs
+++ b/src/Lucene.Net.Tests/Index/TestFlushByRamOrCountsPolicy.cs
@@ -243,6 +243,7 @@ namespace Lucene.Net.Index
         }
 
         [Test]
+        [Slow] // LUCENENET: occasionally
         public virtual void TestStallControl()
         {
 
diff --git a/src/Lucene.Net.Tests/Index/TestIndexWriter.cs b/src/Lucene.Net.Tests/Index/TestIndexWriter.cs
index 54ba833..3a83581 100644
--- a/src/Lucene.Net.Tests/Index/TestIndexWriter.cs
+++ b/src/Lucene.Net.Tests/Index/TestIndexWriter.cs
@@ -2,7 +2,6 @@ using J2N.Text;
 using J2N.Threading;
 using Lucene.Net.Analysis;
 using Lucene.Net.Analysis.TokenAttributes;
-using Lucene.Net.Attributes;
 using Lucene.Net.Codecs;
 using Lucene.Net.Codecs.SimpleText;
 using Lucene.Net.Documents;
@@ -1436,7 +1435,8 @@ namespace Lucene.Net.Index
             }
         }
 
-        [Test, LongRunningTest]
+        [Test]
+        [Slow]
         public virtual void TestThreadInterruptDeadlock()
         {
             IndexerThreadInterrupt t = new IndexerThreadInterrupt(this);
@@ -1475,7 +1475,8 @@ namespace Lucene.Net.Index
 
         /// <summary>
         /// testThreadInterruptDeadlock but with 2 indexer threads </summary>
-        [Test, LongRunningTest]
+        [Test]
+        [Slow]
         public virtual void TestTwoThreadsInterruptDeadlock()
         {
             IndexerThreadInterrupt t1 = new IndexerThreadInterrupt(this);
diff --git a/src/Lucene.Net.Tests/Index/TestIndexWriterDelete.cs b/src/Lucene.Net.Tests/Index/TestIndexWriterDelete.cs
index 5868b8e..8400265 100644
--- a/src/Lucene.Net.Tests/Index/TestIndexWriterDelete.cs
+++ b/src/Lucene.Net.Tests/Index/TestIndexWriterDelete.cs
@@ -2,7 +2,6 @@ using J2N.Collections.Generic.Extensions;
 using J2N.Threading;
 using J2N.Threading.Atomic;
 using Lucene.Net.Analysis;
-using Lucene.Net.Attributes;
 using Lucene.Net.Documents;
 using Lucene.Net.Index.Extensions;
 using Lucene.Net.Store;
@@ -1304,7 +1303,8 @@ namespace Lucene.Net.Index
 
         // Make sure buffered (pushed) deletes don't use up so
         // much RAM that it forces long tail of tiny segments:
-        [Test, LongRunningTest]
+        [Test]
+        [Nightly]
         public virtual void TestApplyDeletesOnFlush()
         {
             Directory dir = NewDirectory();
diff --git a/src/Lucene.Net.Tests/Index/TestIndexWriterExceptions.cs b/src/Lucene.Net.Tests/Index/TestIndexWriterExceptions.cs
index 59a6516..06480d9 100644
--- a/src/Lucene.Net.Tests/Index/TestIndexWriterExceptions.cs
+++ b/src/Lucene.Net.Tests/Index/TestIndexWriterExceptions.cs
@@ -375,6 +375,7 @@ namespace Lucene.Net.Index
         }
 
         [Test]
+        [Slow]
         public virtual void TestRandomExceptionsThreads([ValueSource(typeof(ConcurrentMergeSchedulerFactories), "Values")]Func<IConcurrentMergeScheduler> newScheduler)
         {
             Directory dir = NewDirectory();
@@ -2152,9 +2153,6 @@ namespace Lucene.Net.Index
         // full), and then the exception stops (e.g., disk frees
         // up), so we successfully close IW or open an NRT
         // reader, we don't lose any deletes or updates:
-#if NETSTANDARD1_6
-        [LongRunningTest]
-#endif
         [Test]
         public virtual void TestNoLostDeletesOrUpdates()
         {
@@ -2542,7 +2540,7 @@ namespace Lucene.Net.Index
         }
 
 #if NETSTANDARD1_6
-        [LongRunningTest]
+        [Slow]
 #endif
         [Test]
         public virtual void TestRandomExceptionDuringRollback()
diff --git a/src/Lucene.Net.Tests/Index/TestIndexWriterMerging.cs b/src/Lucene.Net.Tests/Index/TestIndexWriterMerging.cs
index 3445db4..a6402e0 100644
--- a/src/Lucene.Net.Tests/Index/TestIndexWriterMerging.cs
+++ b/src/Lucene.Net.Tests/Index/TestIndexWriterMerging.cs
@@ -1,5 +1,4 @@
 using J2N.Threading;
-using Lucene.Net.Attributes;
 using Lucene.Net.Documents;
 using Lucene.Net.Index.Extensions;
 using NUnit.Framework;
@@ -236,7 +235,8 @@ namespace Lucene.Net.Index
 
         // LUCENE-325: test forceMergeDeletes without waiting, when
         // many adjacent merges are required
-        [Test, LongRunningTest]
+        [Test]
+        [Slow]
         public virtual void TestForceMergeDeletes3()
         {
             Directory dir = NewDirectory();
@@ -351,7 +351,8 @@ namespace Lucene.Net.Index
             dir.Dispose();
         }
 
-        [Test, LongRunningTest]
+        [Test]
+        [Slow]
         public virtual void TestNoWaitClose()
         {
             Directory directory = NewDirectory();
diff --git a/src/Lucene.Net.Tests/Index/TestIndexWriterReader.cs b/src/Lucene.Net.Tests/Index/TestIndexWriterReader.cs
index ec9575b..1cc0f95 100644
--- a/src/Lucene.Net.Tests/Index/TestIndexWriterReader.cs
+++ b/src/Lucene.Net.Tests/Index/TestIndexWriterReader.cs
@@ -1,6 +1,5 @@
 using J2N.Threading;
 using J2N.Threading.Atomic;
-using Lucene.Net.Attributes;
 using Lucene.Net.Documents;
 using Lucene.Net.Index.Extensions;
 using Lucene.Net.Store;
@@ -424,7 +423,8 @@ namespace Lucene.Net.Index
             dir1.Dispose();
         }
 
-        [Test, LongRunningTest]
+        [Test]
+        [Slow]
         public virtual void TestAddIndexesAndDoDeletesThreads()
         {
             const int numIter = 2;
@@ -752,6 +752,7 @@ namespace Lucene.Net.Index
         }
 
         [Test]
+        [Slow]
         public virtual void TestMergeWarmer([ValueSource(typeof(ConcurrentMergeSchedulerFactories), "Values")]Func<IConcurrentMergeScheduler> newScheduler)
         {
             Directory dir1 = GetAssertNoDeletesDirectory(NewDirectory());
@@ -992,6 +993,7 @@ namespace Lucene.Net.Index
 
         // Stress test reopen during add/delete
         [Test]
+        [Slow]
         public virtual void TestDuringAddDelete()
         {
             Directory dir1 = NewDirectory();
@@ -1423,6 +1425,7 @@ namespace Lucene.Net.Index
         ///  writer, we don't see merge starvation.
         /// </summary>
         [Test]
+        [Slow]
         public virtual void TestTooManySegments()
         {
             Directory dir = GetAssertNoDeletesDirectory(NewDirectory());
diff --git a/src/Lucene.Net.Tests/Index/TestIndexWriterUnicode.cs b/src/Lucene.Net.Tests/Index/TestIndexWriterUnicode.cs
index cee1149..000cc1e 100644
--- a/src/Lucene.Net.Tests/Index/TestIndexWriterUnicode.cs
+++ b/src/Lucene.Net.Tests/Index/TestIndexWriterUnicode.cs
@@ -1,5 +1,4 @@
 using J2N.Text;
-using Lucene.Net.Attributes;
 using Lucene.Net.Documents;
 using Lucene.Net.Util;
 using NUnit.Framework;
@@ -186,7 +185,7 @@ namespace Lucene.Net.Index
         }
 
         // LUCENE-510
-        [Test, LongRunningTest]
+        [Test]
         public virtual void TestRandomUnicodeStrings()
         {
             char[] buffer = new char[20];
@@ -223,7 +222,7 @@ namespace Lucene.Net.Index
         }
 
         // LUCENE-510
-        [Test, LongRunningTest]
+        [Test]
         public virtual void TestAllUnicodeChars()
         {
             BytesRef utf8 = new BytesRef(10);
diff --git a/src/Lucene.Net.Tests/Index/TestIndexWriterWithThreads.cs b/src/Lucene.Net.Tests/Index/TestIndexWriterWithThreads.cs
index e4cfbf1..77b1bc1 100644
--- a/src/Lucene.Net.Tests/Index/TestIndexWriterWithThreads.cs
+++ b/src/Lucene.Net.Tests/Index/TestIndexWriterWithThreads.cs
@@ -52,6 +52,7 @@ namespace Lucene.Net.Index
     /// MultiThreaded IndexWriter tests
     /// </summary>
     [SuppressCodecs("Lucene3x")]
+    [Slow]
     [TestFixture]
     public class TestIndexWriterWithThreads : LuceneTestCase
     {
diff --git a/src/Lucene.Net.Tests/Index/TestIntBlockPool.cs b/src/Lucene.Net.Tests/Index/TestIntBlockPool.cs
index 68c0e0f..b631280 100644
--- a/src/Lucene.Net.Tests/Index/TestIntBlockPool.cs
+++ b/src/Lucene.Net.Tests/Index/TestIntBlockPool.cs
@@ -1,4 +1,3 @@
-using Lucene.Net.Attributes;
 using NUnit.Framework;
 using System.Collections.Generic;
 using Assert = Lucene.Net.TestFramework.Assert;
@@ -70,7 +69,7 @@ namespace Lucene.Net.Index
             }
         }
 
-        [Test, LongRunningTest]
+        [Test]
         public virtual void TestMultipleWriterReader()
         {
             Counter bytesUsed = Util.Counter.NewCounter();
diff --git a/src/Lucene.Net.Tests/Index/TestMixedDocValuesUpdates.cs b/src/Lucene.Net.Tests/Index/TestMixedDocValuesUpdates.cs
index 4bff645..e6e5d59 100644
--- a/src/Lucene.Net.Tests/Index/TestMixedDocValuesUpdates.cs
+++ b/src/Lucene.Net.Tests/Index/TestMixedDocValuesUpdates.cs
@@ -1,6 +1,5 @@
 using J2N.Threading;
 using J2N.Threading.Atomic;
-using Lucene.Net.Attributes;
 using Lucene.Net.Documents;
 using Lucene.Net.Index.Extensions;
 using Lucene.Net.Randomized.Generators;
@@ -495,7 +494,8 @@ namespace Lucene.Net.Index
             dir.Dispose();
         }
 
-        [Test, LongRunningTest]
+        [Test]
+        [Slow]
         public virtual void TestTonsOfUpdates()
         {
             // LUCENE-5248: make sure that when there are many updates, we don't use too much RAM
diff --git a/src/Lucene.Net.Tests/Index/TestNRTReaderWithThreads.cs b/src/Lucene.Net.Tests/Index/TestNRTReaderWithThreads.cs
index 2e955a0..ad30cee 100644
--- a/src/Lucene.Net.Tests/Index/TestNRTReaderWithThreads.cs
+++ b/src/Lucene.Net.Tests/Index/TestNRTReaderWithThreads.cs
@@ -1,8 +1,7 @@
 using J2N.Threading;
 using J2N.Threading.Atomic;
-using NUnit.Framework;
-using Lucene.Net.Attributes;
 using Lucene.Net.Index.Extensions;
+using NUnit.Framework;
 using System;
 using System.Threading;
 using Console = Lucene.Net.Util.SystemConsole;
@@ -37,7 +36,8 @@ namespace Lucene.Net.Index
     {
         private readonly AtomicInt32 seq = new AtomicInt32(1);
 
-        [Test, LongRunningTest]
+        [Test]
+        [Slow] // (occasionally)
         public virtual void TestIndexing()
         {
             Directory mainDir = NewDirectory();
diff --git a/src/Lucene.Net.Tests/Index/TestNRTThreads.cs b/src/Lucene.Net.Tests/Index/TestNRTThreads.cs
index 417d2c5..6e219d2 100644
--- a/src/Lucene.Net.Tests/Index/TestNRTThreads.cs
+++ b/src/Lucene.Net.Tests/Index/TestNRTThreads.cs
@@ -171,6 +171,7 @@ namespace Lucene.Net.Index
         }
 
         [Test]
+        [Slow] // (occasionally)
         public virtual void TestNRTThreads_Mem()
         {
             RunTest("TestNRTThreads");
diff --git a/src/Lucene.Net.Tests/Index/TestNorms.cs b/src/Lucene.Net.Tests/Index/TestNorms.cs
index 0b029c3..da38b0b 100644
--- a/src/Lucene.Net.Tests/Index/TestNorms.cs
+++ b/src/Lucene.Net.Tests/Index/TestNorms.cs
@@ -44,6 +44,7 @@ namespace Lucene.Net.Index
     /// separate norms, addDocument, addIndexes, forceMerge.
     /// </summary>
     [SuppressCodecs("Memory", "Direct", "SimpleText")]
+    //[Slow] // LUCENENET specific - not slow in .NET
     [TestFixture]
     public class TestNorms : LuceneTestCase
     {
diff --git a/src/Lucene.Net.Tests/Index/TestNumericDocValuesUpdates.cs b/src/Lucene.Net.Tests/Index/TestNumericDocValuesUpdates.cs
index 8759404..7c51371 100644
--- a/src/Lucene.Net.Tests/Index/TestNumericDocValuesUpdates.cs
+++ b/src/Lucene.Net.Tests/Index/TestNumericDocValuesUpdates.cs
@@ -1,6 +1,5 @@
 using J2N.Threading;
 using J2N.Threading.Atomic;
-using Lucene.Net.Attributes;
 using Lucene.Net.Documents;
 using Lucene.Net.Index.Extensions;
 using Lucene.Net.Randomized.Generators;
@@ -1539,7 +1538,8 @@ namespace Lucene.Net.Index
             dir.Dispose();
         }
 
-        [Test, LongRunningTest]
+        [Test]
+        [Slow]
         public virtual void TestTonsOfUpdates()
         {
             // LUCENE-5248: make sure that when there are many updates, we don't use too much RAM
diff --git a/src/Lucene.Net.Tests/Index/TestStressIndexing.cs b/src/Lucene.Net.Tests/Index/TestStressIndexing.cs
index 1b4d94b..c14a702 100644
--- a/src/Lucene.Net.Tests/Index/TestStressIndexing.cs
+++ b/src/Lucene.Net.Tests/Index/TestStressIndexing.cs
@@ -225,6 +225,7 @@ namespace Lucene.Net.Index
         */
 
         [Test]
+        [Slow]
         public virtual void TestStressIndexAndSearching([ValueSource(typeof(ConcurrentMergeSchedulerFactories), "Values")]Func<IConcurrentMergeScheduler> newScheduler)
         {
             Directory directory = NewDirectory();
diff --git a/src/Lucene.Net.Tests/Index/TestStressNRT.cs b/src/Lucene.Net.Tests/Index/TestStressNRT.cs
index 11083d2..09933d6 100644
--- a/src/Lucene.Net.Tests/Index/TestStressNRT.cs
+++ b/src/Lucene.Net.Tests/Index/TestStressNRT.cs
@@ -1,6 +1,5 @@
 using J2N.Threading;
 using J2N.Threading.Atomic;
-using Lucene.Net.Attributes;
 using Lucene.Net.Documents;
 using Lucene.Net.Support;
 using NUnit.Framework;
@@ -71,7 +70,7 @@ namespace Lucene.Net.Index
             committedModel.PutAll(model);
         }
 
-        [Test, LongRunningTest]
+        [Test]
         public virtual void Test()
         {
             // update variables
diff --git a/src/Lucene.Net.Tests/Index/TestTermdocPerf.cs b/src/Lucene.Net.Tests/Index/TestTermdocPerf.cs
index 52beba9..4062e77 100644
--- a/src/Lucene.Net.Tests/Index/TestTermdocPerf.cs
+++ b/src/Lucene.Net.Tests/Index/TestTermdocPerf.cs
@@ -1,6 +1,5 @@
 using Lucene.Net.Analysis;
 using Lucene.Net.Analysis.TokenAttributes;
-using Lucene.Net.Attributes;
 using Lucene.Net.Documents;
 using Lucene.Net.Index.Extensions;
 using NUnit.Framework;
@@ -29,7 +28,6 @@ namespace Lucene.Net.Index
 
     using Analyzer = Lucene.Net.Analysis.Analyzer;
     using BytesRef = Lucene.Net.Util.BytesRef;
-    using CharTermAttribute = Lucene.Net.Analysis.TokenAttributes.CharTermAttribute;
     using Directory = Lucene.Net.Store.Directory;
     using DocIdSetIterator = Lucene.Net.Search.DocIdSetIterator;
     using Document = Documents.Document;
@@ -165,7 +163,8 @@ namespace Lucene.Net.Index
             return ret;
         }
 
-        [Test, LongRunningTest]
+        [Test]
+        [Slow]
         public virtual void TestTermDocPerf()
         {
             // performance test for 10% of documents containing a term
diff --git a/src/Lucene.Net.Tests/Search/TestControlledRealTimeReopenThread.cs b/src/Lucene.Net.Tests/Search/TestControlledRealTimeReopenThread.cs
index 1869946..7d3e647 100644
--- a/src/Lucene.Net.Tests/Search/TestControlledRealTimeReopenThread.cs
+++ b/src/Lucene.Net.Tests/Search/TestControlledRealTimeReopenThread.cs
@@ -75,6 +75,7 @@ namespace Lucene.Net.Search
         private bool warmCalled;
 
         [Test]
+        [Slow]
         public virtual void TestControlledRealTimeReopenThread_Mem()
         {
             RunTest("TestControlledRealTimeReopenThread");
diff --git a/src/Lucene.Net.Tests/Search/TestSearchAfter.cs b/src/Lucene.Net.Tests/Search/TestSearchAfter.cs
index 4d2781f..caea463 100644
--- a/src/Lucene.Net.Tests/Search/TestSearchAfter.cs
+++ b/src/Lucene.Net.Tests/Search/TestSearchAfter.cs
@@ -1,4 +1,3 @@
-using Lucene.Net.Attributes;
 using Lucene.Net.Documents;
 using Lucene.Net.Util;
 using NUnit.Framework;
@@ -235,7 +234,8 @@ namespace Lucene.Net.Search
             base.TearDown();
         }
 
-        [Test, LongRunningTest]
+        [Test]
+        [Slow]
         public virtual void TestQueries()
         {
             // LUCENENET specific: NUnit will crash with an OOM if we do the full test
diff --git a/src/Lucene.Net.Tests/Search/TestSearcherManager.cs b/src/Lucene.Net.Tests/Search/TestSearcherManager.cs
index 5b12d14..219c032 100644
--- a/src/Lucene.Net.Tests/Search/TestSearcherManager.cs
+++ b/src/Lucene.Net.Tests/Search/TestSearcherManager.cs
@@ -50,6 +50,7 @@ namespace Lucene.Net.Search
         private SearcherLifetimeManager.IPruner pruner;
 
         [Test]
+        [Slow]
         public virtual void TestSearcherManager_Mem()
         {
             pruner = new SearcherLifetimeManager.PruneByAge(TEST_NIGHTLY ? TestUtil.NextInt32(Random, 1, 20) : 1);
diff --git a/src/Lucene.Net.Tests/Store/TestCopyBytes.cs b/src/Lucene.Net.Tests/Store/TestCopyBytes.cs
index 85c9b66..176d31a 100644
--- a/src/Lucene.Net.Tests/Store/TestCopyBytes.cs
+++ b/src/Lucene.Net.Tests/Store/TestCopyBytes.cs
@@ -1,5 +1,4 @@
 using J2N.Threading;
-using Lucene.Net.Attributes;
 using NUnit.Framework;
 using System;
 using System.IO;
@@ -36,7 +35,7 @@ namespace Lucene.Net.Store
             return unchecked((byte)((idx % 256) * (1 + (idx / 256))));
         }
 
-        [Test, LongRunningTest]
+        [Test]
         public virtual void TestCopyBytesMem()
         {
             int num = AtLeast(10);
diff --git a/src/Lucene.Net.Tests/Store/TestDirectory.cs b/src/Lucene.Net.Tests/Store/TestDirectory.cs
index d400352..c8bc7f7 100644
--- a/src/Lucene.Net.Tests/Store/TestDirectory.cs
+++ b/src/Lucene.Net.Tests/Store/TestDirectory.cs
@@ -59,7 +59,9 @@ namespace Lucene.Net.Store
 
         // test is occasionally very slow, i dont know why
         // try this seed: 7D7E036AD12927F5:93333EF9E6DE44DE
-        [Test, LongRunningTest]
+        [Test]
+        [Slow]
+        //[Nightly] // This was marked Nightly in Java, but we are not seeing very bad performance, so leaving it in the normal flow
         public virtual void TestThreadSafety()
         {
             BaseDirectoryWrapper dir = NewDirectory();
@@ -426,7 +428,8 @@ namespace Lucene.Net.Store
             }
         }
 
-        [Test, LongRunningTest]
+        [Test]
+        [Slow]
         [LuceneNetSpecific]
         public virtual void ConcurrentIndexAccessThrowsWithoutSynchronizedStaleFiles()
         {
diff --git a/src/Lucene.Net.Tests/Store/TestHugeRamFile.cs b/src/Lucene.Net.Tests/Store/TestHugeRamFile.cs
index 2aeae16..2f98dc5 100644
--- a/src/Lucene.Net.Tests/Store/TestHugeRamFile.cs
+++ b/src/Lucene.Net.Tests/Store/TestHugeRamFile.cs
@@ -1,4 +1,3 @@
-using Lucene.Net.Attributes;
 using NUnit.Framework;
 using System;
 using System.Collections.Generic;
@@ -64,7 +63,8 @@ namespace Lucene.Net.Store
 
         /// <summary>
         /// Test huge RAMFile with more than Integer.MAX_VALUE bytes. (LUCENE-957) </summary>
-        [Test, LongRunningTest]
+        [Test]
+        [Slow]
         public virtual void TestHugeFile()
         {
             var f = new DenseRAMFile();
diff --git a/src/Lucene.Net.Tests/Store/TestLockFactory.cs b/src/Lucene.Net.Tests/Store/TestLockFactory.cs
index b1f6289..b8018b6 100644
--- a/src/Lucene.Net.Tests/Store/TestLockFactory.cs
+++ b/src/Lucene.Net.Tests/Store/TestLockFactory.cs
@@ -1,5 +1,4 @@
 using J2N.Threading;
-using Lucene.Net.Attributes;
 using Lucene.Net.Documents;
 using Lucene.Net.Index.Extensions;
 using NUnit.Framework;
@@ -153,7 +152,8 @@ namespace Lucene.Net.Store
         // Verify: do stress test, by opening IndexReaders and
         // IndexWriters over & over in 2 threads and making sure
         // no unexpected exceptions are raised:
-        [Test, LongRunningTest]
+        [Test]
+        [Nightly]
         public virtual void TestStressLocks()
         {
             _testStressLocks(null, CreateTempDir("index.TestLockFactory6"));
@@ -163,7 +163,8 @@ namespace Lucene.Net.Store
         // IndexWriters over & over in 2 threads and making sure
         // no unexpected exceptions are raised, but use
         // NativeFSLockFactory:
-        [Test, LongRunningTest]
+        [Test]
+        [Nightly]
         public virtual void TestStressLocksNativeFSLockFactory()
         {
             DirectoryInfo dir = CreateTempDir("index.TestLockFactory7");
@@ -198,7 +199,7 @@ namespace Lucene.Net.Store
         }
 
         // Verify: NativeFSLockFactory works correctly
-        [Test, LongRunningTest]
+        [Test]
         public virtual void TestNativeFSLockFactory()
         {
             var f = new NativeFSLockFactory(CreateTempDir("testNativeFsLockFactory"));
diff --git a/src/Lucene.Net.Tests/Support/TestWeakDictionary.cs b/src/Lucene.Net.Tests/Support/TestWeakDictionary.cs
index edd24a3..8a42a6d 100644
--- a/src/Lucene.Net.Tests/Support/TestWeakDictionary.cs
+++ b/src/Lucene.Net.Tests/Support/TestWeakDictionary.cs
@@ -85,7 +85,8 @@ namespace Lucene.Net.Support
             }
         }
 
-        [Test, LongRunningTest, LuceneNetSpecific]
+        [Test, LuceneNetSpecific]
+        [Slow]
         public void B_TestOutOfMemory()
         {
             var wht = TestWeakDictionaryBehavior.CreateDictionary();
@@ -121,7 +122,8 @@ namespace Lucene.Net.Support
             return System.Diagnostics.Process.GetCurrentProcess().WorkingSet64 / 1024;
         }
 
-        [Test, LongRunningTest, LuceneNetSpecific]
+        [Test, LuceneNetSpecific]
+        [Slow]
         public void C_TestMemLeakage()
         {
 
diff --git a/src/Lucene.Net.Tests/Support/TestWeakDictionaryBehavior.cs b/src/Lucene.Net.Tests/Support/TestWeakDictionaryBehavior.cs
index 586bd08..e1cc76d 100644
--- a/src/Lucene.Net.Tests/Support/TestWeakDictionaryBehavior.cs
+++ b/src/Lucene.Net.Tests/Support/TestWeakDictionaryBehavior.cs
@@ -257,7 +257,8 @@ namespace Lucene.Net.Support
             Assert.IsNotNull(key2);
         }
 
-        [Test, LongRunningTest, LuceneNetSpecific]
+        [Test, LuceneNetSpecific]
+        [Slow]
         public void Test_Weak_ForEach()
         {
             BigObject[] keys1 = new BigObject[20];
diff --git a/src/Lucene.Net.Tests/Util/Fst/TestBytesStore.cs b/src/Lucene.Net.Tests/Util/Fst/TestBytesStore.cs
index 9e7d0bd..b77a21c 100644
--- a/src/Lucene.Net.Tests/Util/Fst/TestBytesStore.cs
+++ b/src/Lucene.Net.Tests/Util/Fst/TestBytesStore.cs
@@ -1,4 +1,3 @@
-using Lucene.Net.Attributes;
 using Lucene.Net.Support;
 using NUnit.Framework;
 using System;
@@ -33,7 +32,8 @@ namespace Lucene.Net.Util.Fst
     public class TestBytesStore : LuceneTestCase
     {
 
-        [Test, LongRunningTest]
+        [Test]
+        [Slow]
         public virtual void TestRandom()
         {
 
diff --git a/src/Lucene.Net.Tests/Util/Fst/TestFSTs.cs b/src/Lucene.Net.Tests/Util/Fst/TestFSTs.cs
index 6dba077..08f3b86 100644
--- a/src/Lucene.Net.Tests/Util/Fst/TestFSTs.cs
+++ b/src/Lucene.Net.Tests/Util/Fst/TestFSTs.cs
@@ -1,6 +1,5 @@
 using J2N.Collections.Generic.Extensions;
 using J2N.Threading.Atomic;
-using Lucene.Net.Attributes;
 using Lucene.Net.Index.Extensions;
 using Lucene.Net.Support;
 using Lucene.Net.Util.Automaton;
@@ -64,6 +63,7 @@ namespace Lucene.Net.Util.Fst
     using TermsEnum = Lucene.Net.Index.TermsEnum;
 
     [SuppressCodecs("SimpleText", "Memory", "Direct")]
+    [Slow]
     [TestFixture]
     public class TestFSTs : LuceneTestCase
     {
@@ -267,7 +267,8 @@ namespace Lucene.Net.Util.Fst
         }
 
 
-        [Test, LongRunningTest] // Can take up to 15 minutes
+        [Test]
+        [Slow]
         public virtual void TestRandomWords()
         {
             // LUCENENET specific: NUnit will crash with an OOM if we do the full test
@@ -319,7 +320,7 @@ namespace Lucene.Net.Util.Fst
         }
 
         [Test]
-        [Ignore("This test will take around 10-14 hours to finish. It was marked with a Nightly attribute in the original Java source, but we don't currently have a corresponding attribute")]
+        [Nightly]
         public virtual void TestBigSet()
         {
             TestRandomWords(TestUtil.NextInt32(Random, 50000, 60000), 1, false);
diff --git a/src/Lucene.Net.Tests/Util/Packed/TestEliasFanoSequence.cs b/src/Lucene.Net.Tests/Util/Packed/TestEliasFanoSequence.cs
index 278c4cd..e207049 100644
--- a/src/Lucene.Net.Tests/Util/Packed/TestEliasFanoSequence.cs
+++ b/src/Lucene.Net.Tests/Util/Packed/TestEliasFanoSequence.cs
@@ -305,7 +305,7 @@ namespace Lucene.Net.Util.Packed
             }
         }
 
-        [Test, LongRunningTest, LuceneNetSpecific, Ignore("For debugging only")]
+        [Test, Slow, LuceneNetSpecific, Ignore("For debugging only")]
         public virtual void TestMonotoneSequencesLonger()
         {
             for (int s = 2; s < 4422; s++)
@@ -334,7 +334,7 @@ namespace Lucene.Net.Util.Packed
             }
         }
 
-        [Test, LongRunningTest, LuceneNetSpecific, Ignore("For debugging only")]
+        [Test, Slow, LuceneNetSpecific, Ignore("For debugging only")]
         public virtual void TestStrictMonotoneSequencesLonger()
         {
             for (int s = 2; s < 4422; s++)
@@ -364,7 +364,7 @@ namespace Lucene.Net.Util.Packed
             TstEFS(values, expHighBits, expLowBits);
         }
 
-        [Test, LongRunningTest]
+        [Test]
         public virtual void TestAdvanceToAndBackToMultiples()
         {
             for (int s = 2; s < 130; s++)
diff --git a/src/Lucene.Net.Tests/Util/Packed/TestPackedInts.cs b/src/Lucene.Net.Tests/Util/Packed/TestPackedInts.cs
index 11bad17..6950255 100644
--- a/src/Lucene.Net.Tests/Util/Packed/TestPackedInts.cs
+++ b/src/Lucene.Net.Tests/Util/Packed/TestPackedInts.cs
@@ -1,5 +1,4 @@
 using J2N.IO;
-using Lucene.Net.Attributes;
 using Lucene.Net.Randomized.Generators;
 using Lucene.Net.Support;
 using NUnit.Framework;
@@ -1125,7 +1124,8 @@ namespace Lucene.Net.Util.Packed
         }
 
 
-        [Test, LongRunningTest]
+        [Test]
+        [Slow]
         public virtual void TestAppendingLongBuffer()
         {
 
@@ -1482,7 +1482,8 @@ namespace Lucene.Net.Util.Packed
             }
         }
 
-        [Test, LongRunningTest]
+        [Test]
+        [Nightly]
         public virtual void TestBlockReaderOverflow()
         {
             long valueCount = TestUtil.NextInt64(Random, 1L + int.MaxValue, (long)int.MaxValue * 2);
diff --git a/src/Lucene.Net.Tests/Util/StressRamUsageEstimator.cs b/src/Lucene.Net.Tests/Util/StressRamUsageEstimator.cs
index 69f183d..82c9bb9 100644
--- a/src/Lucene.Net.Tests/Util/StressRamUsageEstimator.cs
+++ b/src/Lucene.Net.Tests/Util/StressRamUsageEstimator.cs
@@ -1,4 +1,3 @@
-using Lucene.Net.Attributes;
 using Lucene.Net.Support;
 using NUnit.Framework;
 using System;
@@ -121,7 +120,8 @@ namespace Lucene.Net.Util
             return s;
         }
 
-        [Test, LongRunningTest]
+        [Test]
+        [Slow]
         public virtual void TestSimpleByteArrays()
         {
             object[][] all = new object[0][];
diff --git a/src/Lucene.Net.Tests/Util/TestBroadWord.cs b/src/Lucene.Net.Tests/Util/TestBroadWord.cs
index 28cda94..fd90200 100644
--- a/src/Lucene.Net.Tests/Util/TestBroadWord.cs
+++ b/src/Lucene.Net.Tests/Util/TestBroadWord.cs
@@ -1,5 +1,4 @@
 using J2N.Numerics;
-using Lucene.Net.Attributes;
 using NUnit.Framework;
 using Assert = Lucene.Net.TestFramework.Assert;
 
@@ -106,7 +105,7 @@ namespace Lucene.Net.Util
             }
         }
 
-        [Test, LongRunningTest]
+        [Test]
         public virtual void TestPerfSelectAllBitsBroad()
         {
             for (int j = 0; j < 100000; j++) // 1000000 for real perf test
diff --git a/src/Lucene.Net.Tests/Util/TestFixedBitSet.cs b/src/Lucene.Net.Tests/Util/TestFixedBitSet.cs
index 5ff90a0..244c162 100644
--- a/src/Lucene.Net.Tests/Util/TestFixedBitSet.cs
+++ b/src/Lucene.Net.Tests/Util/TestFixedBitSet.cs
@@ -258,7 +258,7 @@ namespace Lucene.Net.Util
 
         // large enough to flush obvious bugs, small enough to run in <.5 sec as part of a
         // larger testsuite.
-        [Test, LongRunningTest]
+        [Test]
         public virtual void TestSmall()
         {
             DoRandomSets(AtLeast(1200), AtLeast(1000), 1);
diff --git a/src/Lucene.Net.Tests/Util/TestLongBitSet.cs b/src/Lucene.Net.Tests/Util/TestLongBitSet.cs
index 2ae21ae..aab8996 100644
--- a/src/Lucene.Net.Tests/Util/TestLongBitSet.cs
+++ b/src/Lucene.Net.Tests/Util/TestLongBitSet.cs
@@ -204,7 +204,7 @@ namespace Lucene.Net.Util
 
         // large enough to flush obvious bugs, small enough to run in <.5 sec as part of a
         // larger testsuite.
-        [Test, LongRunningTest]
+        [Test]
         public virtual void TestSmall()
         {
             DoRandomSets(AtLeast(1200), AtLeast(1000), 1);
diff --git a/src/Lucene.Net.Tests/Util/TestNumericUtils.cs b/src/Lucene.Net.Tests/Util/TestNumericUtils.cs
index 0898118..9b1554e 100644
--- a/src/Lucene.Net.Tests/Util/TestNumericUtils.cs
+++ b/src/Lucene.Net.Tests/Util/TestNumericUtils.cs
@@ -1,5 +1,4 @@
 using J2N.Text;
-using Lucene.Net.Attributes;
 using Lucene.Net.Support;
 using NUnit.Framework;
 using System;
@@ -360,7 +359,9 @@ namespace Lucene.Net.Util
             AssertLongRangeSplit(long.MinValue, long.MinValue + 0xfL, 4, true, new long[] { 0x000000000000000L, 0x000000000000000L }, new int[] { 4 });
             AssertLongRangeSplit(long.MinValue, long.MinValue + 0x10L, 4, true, new long[] { 0x0000000000000010L, 0x0000000000000010L, 0x000000000000000L, 0x000000000000000L }, new int[] { 0, 4 });
         }
-        [Test, LongRunningTest]
+
+        [Test]
+        [Slow]
         public virtual void TestRandomSplit()
         {
             long num = (long)AtLeast(10);
diff --git a/src/Lucene.Net.Tests/Util/TestOfflineSorter.cs b/src/Lucene.Net.Tests/Util/TestOfflineSorter.cs
index c8aacf8..1730132 100644
--- a/src/Lucene.Net.Tests/Util/TestOfflineSorter.cs
+++ b/src/Lucene.Net.Tests/Util/TestOfflineSorter.cs
@@ -1,5 +1,4 @@
 using J2N.Text;
-using Lucene.Net.Attributes;
 using NUnit.Framework;
 using System;
 using System.Collections.Generic;
@@ -78,7 +77,7 @@ namespace Lucene.Net.Util
 #pragma warning restore 612, 618
         }
 
-        [Test, LongRunningTest]
+        [Test]
         public virtual void TestIntermediateMerges()
         {
             // Sort 20 mb worth of data with 1mb buffer, binary merging.
@@ -86,7 +85,7 @@ namespace Lucene.Net.Util
             Assert.IsTrue(info.MergeRounds > 10);
         }
 
-        [Test, LongRunningTest]
+        [Test]
         public virtual void TestSmallRandom()
         {
             // Sort 20 mb worth of data with 1mb buffer.
@@ -94,7 +93,8 @@ namespace Lucene.Net.Util
             Assert.AreEqual(1, sortInfo.MergeRounds);
         }
 
-        [Test, LongRunningTest, Explicit] // LUCENENET specific - This was marked Nightly in Java, so we are marking explicit to keep this from running automatically
+        [Test]
+        [Nightly]
         public virtual void TestLargerRandom()
         {
             // Sort 100MB worth of data with 15mb buffer.
diff --git a/src/Lucene.Net.Tests/Util/TestOpenBitSet.cs b/src/Lucene.Net.Tests/Util/TestOpenBitSet.cs
index 5e854c8..0d4b9cc 100644
--- a/src/Lucene.Net.Tests/Util/TestOpenBitSet.cs
+++ b/src/Lucene.Net.Tests/Util/TestOpenBitSet.cs
@@ -316,7 +316,7 @@ namespace Lucene.Net.Util
 
         // large enough to flush obvious bugs, small enough to run in <.5 sec as part of a
         // larger testsuite.
-        [Test, LongRunningTest]
+        [Test]
         public virtual void TestSmall()
         {
             DoRandomSets(AtLeast(1200), AtLeast(1000), 1);
diff --git a/src/Lucene.Net.Tests/Util/TestPagedBytes.cs b/src/Lucene.Net.Tests/Util/TestPagedBytes.cs
index 08c1311..dfe1752 100644
--- a/src/Lucene.Net.Tests/Util/TestPagedBytes.cs
+++ b/src/Lucene.Net.Tests/Util/TestPagedBytes.cs
@@ -1,4 +1,3 @@
-using Lucene.Net.Attributes;
 using Lucene.Net.Store;
 using Lucene.Net.Support;
 using NUnit.Framework;
@@ -38,7 +37,7 @@ namespace Lucene.Net.Util
         // Writes random byte/s to "normal" file in dir, then
         // copies into PagedBytes and verifies with
         // PagedBytes.Reader:
-        [Test, LongRunningTest]
+        [Test]
         public virtual void TestDataInputOutput()
         {
             Random random = Random;
@@ -115,7 +114,8 @@ namespace Lucene.Net.Util
         // Writes random byte/s into PagedBytes via
         // .getDataOutput(), then verifies with
         // PagedBytes.getDataInput():
-        [Test, LongRunningTest]
+        [Test]
+        [Slow]
         public virtual void TestDataInputOutput2()
         {
             Random random = Random;
@@ -180,7 +180,8 @@ namespace Lucene.Net.Util
         }
 
         [Ignore("// memory hole")]
-        [Test, LongRunningTest]
+        [Test]
+        [Slow]
         public virtual void TestOverflow()
         {
             BaseDirectoryWrapper dir = NewFSDirectory(CreateTempDir("testOverflow"));
diff --git a/src/Lucene.Net.Tests/Util/TestWeakIdentityMap.cs b/src/Lucene.Net.Tests/Util/TestWeakIdentityMap.cs
index d98ec11..06bd66e 100644
--- a/src/Lucene.Net.Tests/Util/TestWeakIdentityMap.cs
+++ b/src/Lucene.Net.Tests/Util/TestWeakIdentityMap.cs
@@ -35,7 +35,7 @@
 //    public class TestWeakIdentityMap : LuceneTestCase
 //    {
 
-//        [Test, LongRunningTest]
+//        [Test, Slow]
 //        public virtual void TestSimpleHashMap()
 //        {
 //            WeakIdentityMap<string, string> map = WeakIdentityMap<string, string>.NewHashMap(Random.NextBoolean());
@@ -200,7 +200,7 @@
 //            Assert.IsTrue(map.IsEmpty);
 //        }
 
-//        [Test, LongRunningTest]
+//        [Test, Slow]
 //        public virtual void TestConcurrentHashMap()
 //        {
 //            // don't make threadCount and keyCount random, otherwise easily OOMs or fails otherwise: