diff --git a/src/tests/junit/org/apache/tools/ant/launch/LocatorTest.java b/src/tests/junit/org/apache/tools/ant/launch/LocatorTest.java
index 54fc4a9..488a3a1 100644
--- a/src/tests/junit/org/apache/tools/ant/launch/LocatorTest.java
+++ b/src/tests/junit/org/apache/tools/ant/launch/LocatorTest.java
@@ -90,6 +90,7 @@
     /**
      * this isn't really a valid URI, except maybe in IE
      */
+    @Test
     public void testNetworkURI() {
         resolveTo("file:\\\\PC03\\jclasses\\lib\\ant-1.7.0.jar", ""
                 + "\\\\PC03\\jclasses\\lib\\ant-1.7.0.jar",
diff --git a/src/tests/junit/org/apache/tools/ant/taskdefs/AvailableTest.java b/src/tests/junit/org/apache/tools/ant/taskdefs/AvailableTest.java
index a7f1057..82ac08f 100644
--- a/src/tests/junit/org/apache/tools/ant/taskdefs/AvailableTest.java
+++ b/src/tests/junit/org/apache/tools/ant/taskdefs/AvailableTest.java
@@ -79,6 +79,7 @@
     /**
      * File does exist -&gt; property 'test' == 'true'
      */
+    @Test
     public void test5() {
         buildRule.executeTarget("test5");
         assertEquals("true", buildRule.getProject().getProperty("test"));
diff --git a/src/tests/junit/org/apache/tools/ant/taskdefs/optional/net/FTPTest.java b/src/tests/junit/org/apache/tools/ant/taskdefs/optional/net/FTPTest.java
index ef6afd5..d33d48b 100644
--- a/src/tests/junit/org/apache/tools/ant/taskdefs/optional/net/FTPTest.java
+++ b/src/tests/junit/org/apache/tools/ant/taskdefs/optional/net/FTPTest.java
@@ -748,6 +748,7 @@
         }
     }
 
+    @Test
     public void testGetWithSelectorRetryable1() {
         buildRule.getProject().addTaskDefinition("ftp", oneFailureFTP.class);
         buildRule.getProject().executeTarget("ftp-get-with-selector-retryable");
diff --git a/src/tests/junit/org/apache/tools/ant/util/LinkedHashtableTest.java b/src/tests/junit/org/apache/tools/ant/util/LinkedHashtableTest.java
index 4a4b672..c350e1e 100644
--- a/src/tests/junit/org/apache/tools/ant/util/LinkedHashtableTest.java
+++ b/src/tests/junit/org/apache/tools/ant/util/LinkedHashtableTest.java
@@ -44,6 +44,7 @@
     private static final Object V2 = new Object();
     private Hashtable<Object, Object> h = new LinkedHashtable<>();
 
+    @Test
     public void testClear() {
         h.put(K1, V1);
         h.clear();
@@ -51,6 +52,7 @@
     }
 
     @SuppressWarnings("unchecked")
+    @Test
     public void testClone() {
         h.put(K1, V1);
         Hashtable<Object, Object> h2 = (Hashtable<Object, Object>) h.clone();
