From 618f214a4fabfdad0409a655c1656c285d28dfa1 Mon Sep 17 00:00:00 2001
From: str4d <str4d@mail.i2p>
Date: Mon, 30 Jul 2012 12:26:35 +0000
Subject: [PATCH] Added ScalaTest support to core build.xml

The old JUnit tests are still present, but "ant test" and "ant fulltest" default
to the (pending) ScalaTest ones. To run the ScalaTest tests with Cobertura, execute
the following:

ant -Dscalatest.libs=./lib -Dwith.cobertura=/usr/share/java/cobertura.jar fulltest

The scalatest.libs property must point to a directory containing scala-compiler.jar,
scala-library.jar and scalatest.jar.
---
 core/java/build.xml                           | 80 +++++++++++++++++--
 .../junit}/net/i2p/AllCoreTests.java          |  0
 .../junit}/net/i2p/client/I2PClientTest.java  |  0
 .../net/i2p/client/I2PClientTestSuite.java    |  0
 .../junit}/net/i2p/client/I2PSessionTest.java |  0
 .../net/i2p/client/datagram/DatagramTest.java |  0
 .../naming/BlockfileNamingServiceTest.java    |  0
 .../client/naming/DummyNamingServiceTest.java |  0
 .../naming/SingleFileNamingServiceTest.java   |  0
 .../junit}/net/i2p/crypto/AES256Bench.java    |  0
 .../junit}/net/i2p/crypto/AES256Test.java     |  0
 .../junit}/net/i2p/crypto/AESInputStream.java |  0
 .../net/i2p/crypto/AESInputStreamTest.java    |  0
 .../net/i2p/crypto/AESOutputStream.java       |  0
 .../net/i2p/crypto/CryptixAESEngineTest.java  |  0
 .../crypto/CryptixRijndael_AlgorithmTest.java |  0
 .../net/i2p/crypto/CryptoTestSuite.java       |  0
 .../junit}/net/i2p/crypto/DSABench.java       |  0
 .../junit}/net/i2p/crypto/DSATest.java        |  0
 .../i2p/crypto/DummyPooledRandomSource.java   |  0
 .../net/i2p/crypto/ElGamalAESEngineTest.java  |  0
 .../junit}/net/i2p/crypto/ElGamalBench.java   |  0
 .../junit}/net/i2p/crypto/ElGamalTest.java    |  0
 .../junit}/net/i2p/crypto/ElGamalVerify.java  |  0
 .../net/i2p/crypto/HMACSHA256Bench.java       |  0
 .../junit}/net/i2p/crypto/HMACSHA256Test.java |  0
 .../net/i2p/crypto/KeyGeneratorTest.java      |  0
 .../junit}/net/i2p/crypto/SHA1HashTest.java   |  0
 .../junit}/net/i2p/crypto/SHA256Bench.java    |  0
 .../junit}/net/i2p/crypto/SHA256Test.java     |  0
 .../net/i2p/crypto/SessionEncryptionTest.java |  0
 .../junit}/net/i2p/data/Base64Test.java       |  0
 .../junit}/net/i2p/data/BooleanTest.java      |  0
 .../junit}/net/i2p/data/CertificateTest.java  |  0
 .../junit}/net/i2p/data/DataHelperTest.java   |  0
 .../net/i2p/data/DataStructureImplTest.java   |  0
 .../junit}/net/i2p/data/DataTestSuite.java    |  0
 .../junit}/net/i2p/data/DateTest.java         |  0
 .../junit}/net/i2p/data/DestinationTest.java  |  0
 .../junit}/net/i2p/data/HashTest.java         |  0
 .../junit}/net/i2p/data/LeaseSetTest.java     |  0
 .../junit}/net/i2p/data/LeaseTest.java        |  0
 .../junit}/net/i2p/data/MappingTest.java      |  0
 .../junit}/net/i2p/data/PayloadTest.java      |  0
 .../junit}/net/i2p/data/PrivateKeyTest.java   |  0
 .../junit}/net/i2p/data/PublicKeyTest.java    |  0
 .../net/i2p/data/RouterAddressTest.java       |  0
 .../net/i2p/data/RouterIdentityTest.java      |  0
 .../junit}/net/i2p/data/RouterInfoTest.java   |  0
 .../junit}/net/i2p/data/SessionKeyTest.java   |  0
 .../junit}/net/i2p/data/SignatureTest.java    |  0
 .../net/i2p/data/SigningPrivateKeyTest.java   |  0
 .../net/i2p/data/SigningPublicKeyTest.java    |  0
 .../net/i2p/data/SimpleDataStructureTest.java |  0
 .../junit}/net/i2p/data/StringTest.java       |  0
 .../junit}/net/i2p/data/StructureTest.java    |  0
 .../junit}/net/i2p/data/TestData.java         |  0
 .../net/i2p/data/TestDataGenerator.java       |  0
 .../junit}/net/i2p/data/TestDataPrinter.java  |  0
 .../junit}/net/i2p/data/TunnelIdTest.java     |  0
 .../net/i2p/data/UnsignedIntegerTest.java     |  0
 .../net/i2p/data/i2cp/AbuseReasonTest.java    |  0
 .../net/i2p/data/i2cp/AbuseSeverityTest.java  |  0
 .../data/i2cp/BandwidthLimitsMessageTest.java |  0
 .../data/i2cp/CreateLeaseSetMessageTest.java  |  0
 .../data/i2cp/CreateSessionMessageTest.java   |  0
 .../i2p/data/i2cp/DestLookupMessageTest.java  |  0
 .../i2p/data/i2cp/DestReplyMessageTest.java   |  0
 .../data/i2cp/DestroySessionMessageTest.java  |  0
 .../i2p/data/i2cp/DisconnectMessageTest.java  |  0
 .../i2cp/GetBandwidthLimitsMessageTest.java   |  0
 .../net/i2p/data/i2cp/GetDateMessageTest.java |  0
 .../net/i2p/data/i2cp/I2CPTestSuite.java      |  0
 .../net/i2p/data/i2cp/MessageIdTest.java      |  0
 .../data/i2cp/MessagePayloadMessageTest.java  |  0
 .../data/i2cp/MessageStatusMessageTest.java   |  0
 .../i2cp/ReceiveMessageBeginMessageTest.java  |  0
 .../i2cp/ReceiveMessageEndMessageTest.java    |  0
 .../i2cp/ReconfigureSessionMessageTest.java   |  0
 .../i2p/data/i2cp/ReportAbuseMessageTest.java |  0
 .../data/i2cp/RequestLeaseSetMessageTest.java |  0
 .../i2cp/SendMessageExpiresMessageTest.java   |  0
 .../i2p/data/i2cp/SendMessageMessageTest.java |  0
 .../net/i2p/data/i2cp/SessionConfigTest.java  |  0
 .../net/i2p/data/i2cp/SessionIdTest.java      |  0
 .../data/i2cp/SessionStatusMessageTest.java   |  0
 .../net/i2p/data/i2cp/SetDateMessageTest.java |  0
 .../junit}/net/i2p/stat/RateStatTest.java     |  0
 .../junit}/net/i2p/stat/RateTest.java         |  0
 .../junit}/net/i2p/stat/SimpleStatDumper.java |  0
 .../junit}/net/i2p/stat/SizeMeasure.java      |  0
 .../junit}/net/i2p/stat/StatLogSplitter.java  |  0
 .../junit}/net/i2p/stat/StatTestSuite.java    |  0
 .../junit}/net/i2p/util/LogSettings.java      |  0
 .../junit}/net/i2p/util/LogSettingsTest.java  |  0
 .../i2p/util/LookAheadInputStreamTest.java    |  0
 .../util/ResettableGZIPInputStreamTest.java   |  0
 .../util/ResettableGZIPOutputStreamTest.java  |  0
 .../i2p/util/ReusableGZIPInputStreamTest.java |  0
 .../util/ReusableGZIPOutputStreamTest.java    |  0
 .../junit}/net/i2p/util/UtilTestSuite.java    |  0
 101 files changed, 72 insertions(+), 8 deletions(-)
 rename core/java/{junittest => test/junit}/net/i2p/AllCoreTests.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/client/I2PClientTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/client/I2PClientTestSuite.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/client/I2PSessionTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/client/datagram/DatagramTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/client/naming/BlockfileNamingServiceTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/client/naming/DummyNamingServiceTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/client/naming/SingleFileNamingServiceTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/crypto/AES256Bench.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/crypto/AES256Test.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/crypto/AESInputStream.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/crypto/AESInputStreamTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/crypto/AESOutputStream.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/crypto/CryptixAESEngineTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/crypto/CryptixRijndael_AlgorithmTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/crypto/CryptoTestSuite.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/crypto/DSABench.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/crypto/DSATest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/crypto/DummyPooledRandomSource.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/crypto/ElGamalAESEngineTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/crypto/ElGamalBench.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/crypto/ElGamalTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/crypto/ElGamalVerify.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/crypto/HMACSHA256Bench.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/crypto/HMACSHA256Test.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/crypto/KeyGeneratorTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/crypto/SHA1HashTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/crypto/SHA256Bench.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/crypto/SHA256Test.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/crypto/SessionEncryptionTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/data/Base64Test.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/data/BooleanTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/data/CertificateTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/data/DataHelperTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/data/DataStructureImplTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/data/DataTestSuite.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/data/DateTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/data/DestinationTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/data/HashTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/data/LeaseSetTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/data/LeaseTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/data/MappingTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/data/PayloadTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/data/PrivateKeyTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/data/PublicKeyTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/data/RouterAddressTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/data/RouterIdentityTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/data/RouterInfoTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/data/SessionKeyTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/data/SignatureTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/data/SigningPrivateKeyTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/data/SigningPublicKeyTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/data/SimpleDataStructureTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/data/StringTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/data/StructureTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/data/TestData.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/data/TestDataGenerator.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/data/TestDataPrinter.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/data/TunnelIdTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/data/UnsignedIntegerTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/data/i2cp/AbuseReasonTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/data/i2cp/AbuseSeverityTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/data/i2cp/BandwidthLimitsMessageTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/data/i2cp/CreateLeaseSetMessageTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/data/i2cp/CreateSessionMessageTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/data/i2cp/DestLookupMessageTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/data/i2cp/DestReplyMessageTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/data/i2cp/DestroySessionMessageTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/data/i2cp/DisconnectMessageTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/data/i2cp/GetBandwidthLimitsMessageTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/data/i2cp/GetDateMessageTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/data/i2cp/I2CPTestSuite.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/data/i2cp/MessageIdTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/data/i2cp/MessagePayloadMessageTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/data/i2cp/MessageStatusMessageTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/data/i2cp/ReceiveMessageBeginMessageTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/data/i2cp/ReceiveMessageEndMessageTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/data/i2cp/ReconfigureSessionMessageTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/data/i2cp/ReportAbuseMessageTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/data/i2cp/RequestLeaseSetMessageTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/data/i2cp/SendMessageExpiresMessageTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/data/i2cp/SendMessageMessageTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/data/i2cp/SessionConfigTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/data/i2cp/SessionIdTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/data/i2cp/SessionStatusMessageTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/data/i2cp/SetDateMessageTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/stat/RateStatTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/stat/RateTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/stat/SimpleStatDumper.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/stat/SizeMeasure.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/stat/StatLogSplitter.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/stat/StatTestSuite.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/util/LogSettings.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/util/LogSettingsTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/util/LookAheadInputStreamTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/util/ResettableGZIPInputStreamTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/util/ResettableGZIPOutputStreamTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/util/ReusableGZIPInputStreamTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/util/ReusableGZIPOutputStreamTest.java (100%)
 rename core/java/{junittest => test/junit}/net/i2p/util/UtilTestSuite.java (100%)

diff --git a/core/java/build.xml b/core/java/build.xml
index 9a4ec9c47d..b40f4f6676 100644
--- a/core/java/build.xml
+++ b/core/java/build.xml
@@ -68,27 +68,50 @@
         <javadoc sourcepath="./src:./test" destdir="./build/javadoc" packagenames="*" use="true" splitindex="true" windowtitle="I2P SDK" />
     </target>
 
+    <!-- scala paths -->
+    <target name="scala.init">
+        <property name="scala-library.jar" value="${scalatest.libs}/scala-library.jar" />
+        <property name="scalatest.jar" value="${scalatest.libs}/scalatest.jar" />
+        <taskdef resource="scala/tools/ant/antlib.xml">
+            <classpath>
+                <pathelement location="${scalatest.libs}/scala-compiler.jar" />
+                <pathelement location="${scala-library.jar}" />
+            </classpath>
+        </taskdef>
+    </target>
+
     <!-- unit tests -->
-    <target name="compileTest">
+    <target name="scalatest.compileTest" depends="jar, scala.init">
+        <mkdir dir="./build" />
+        <mkdir dir="./build/obj_scala" />
+        <scalac srcdir="./test/scalatest" destdir="./build/obj_scala" deprecation="on" >
+            <classpath>
+                <pathelement location="${scala-library.jar}" />
+                <pathelement location="${scalatest.jar}" />
+                <pathelement location="./build/i2p.jar" />
+            </classpath>
+        </scalac>
+    </target>
+    <target name="junit.compileTest" depends="compile">
         <mkdir dir="./build" />
         <mkdir dir="./build/obj" />
         <!-- junit and hamcrest classes should be in ant runtime -->
-        <javac srcdir="./src:./test" debug="true" source="1.5" target="1.5" deprecation="on"
+        <javac srcdir="./test/junit" debug="true" source="1.5" target="1.5" deprecation="on"
                includeAntRuntime="true"
                destdir="./build/obj" >
             <compilerarg line="${javac.compilerargs}" />
         </javac>
     </target>
-    <target name="jarTest" depends="compileTest">
+    <target name="jarTest" depends="junit.compileTest">
         <jar destfile="./build/i2ptest.jar" basedir="./build/obj" includes="**/*.class" />
     </target>
     <!-- preparation of code coverage tool of choice -->
-    <target name="prepareClover" depends="compileTest" if="with.clover">
+    <target name="prepareClover" depends="compile" if="with.clover">
         <taskdef resource="clovertasks"/>
         <mkdir dir="../../reports/core/clover" />
         <clover-setup initString="../../reports/core/clover/coverage.db"/>
     </target>
-    <target name="prepareCobertura" depends="compileTest" if="with.cobertura">
+    <target name="prepareCobertura" depends="compile" if="with.cobertura">
         <taskdef classpath="${with.cobertura}" resource="tasks.properties" onerror="report" />
         <mkdir dir="./build/obj_cobertura" />
         <delete file="./cobertura.ser" />
@@ -115,7 +138,39 @@
     </target>
     <target name="prepareTest" depends="prepareClover, prepareCobertura" />
     <!-- end preparation of code coverage tool -->
-    <target name="test" depends="clean, compileTest, prepareTest">
+    <target name="scalatest.test" depends="clean, scalatest.compileTest, prepareTest">
+        <mkdir dir="../../reports/core/scalatest/" />
+        <delete>
+            <fileset dir="../../reports/core/scalatest">
+                <include name="TEST-*.xml"/>
+            </fileset>
+        </delete>
+        <taskdef name="scalatest" classname="org.scalatest.tools.ScalaTestAntTask">
+            <classpath>
+                <pathelement location="${scala-library.jar}" />
+                <pathelement location="${scalatest.jar}" />
+                <pathelement location="./build/obj_cobertura" />
+                <pathelement location="./build/obj" />
+                <pathelement location="../../build/jbigi.jar" />
+                <pathelement location="${with.clover}" />
+                <pathelement location="${with.cobertura}" />
+            </classpath>
+        </taskdef>
+        <scalatest runpath="./build/obj_scala" fork="yes" maxmemory="384M">
+            <tagsToExclude>
+                SlowTests
+            </tagsToExclude>
+            <reporter type="stdout" />
+            <reporter type="junitxml" directory="../../reports/core/scalatest/" />
+        </scalatest>
+        <!-- fetch the real hostname of this machine -->
+        <exec executable="hostname" outputproperty="host.name"/>
+        <!-- set if unset -->
+        <property name="host.fakename" value="i2ptester" />
+        <!-- replace hostname that junit inserts into reports with fake one -->
+        <replace dir="../../reports/core/scalatest/" token="${host.name}" value="${host.fakename}"/>
+    </target>
+    <target name="junit.test" depends="clean, junit.compileTest, prepareTest">
         <mkdir dir="../../reports/core/junit/" />
         <delete>
             <fileset dir="../../reports/core/junit">
@@ -136,7 +191,7 @@
                 <pathelement location="${with.cobertura}" />
             </classpath>
             <batchtest todir="../../reports/core/junit/">
-                <fileset dir="./junittest/">
+                <fileset dir="./test/junit/">
                     <include name="**/*Test.java" />
                     <exclude name="**/ElGamalAESEngineTest.java" />
                     <exclude name="**/StructureTest.java" />
@@ -157,7 +212,16 @@
         <!-- replace hostname that junit inserts into reports with fake one -->
         <replace dir="../../reports/core/junit/" token="${host.name}" value="${host.fakename}"/>
     </target>
+    <target name="test" depends="scalatest.test"/>
     <!-- test reports -->
+    <target name="scalatest.report">
+        <junitreport todir="../../reports/core/scalatest">
+            <fileset dir="../../reports/core/scalatest">
+                <include name="TEST-*.xml"/>
+            </fileset>
+            <report format="frames" todir="../../reports/core/html/scalatest"/>
+        </junitreport>
+    </target>
     <target name="junit.report">
         <junitreport todir="../../reports/core/junit">
             <fileset dir="../../reports/core/junit">
@@ -180,7 +244,7 @@
         <cobertura-report format="html" srcdir="./src" destdir="../../reports/core/html/cobertura" />
         <delete file="./cobertura.ser" />
     </target>
-    <target name="test.report" depends="junit.report, clover.report, cobertura.report"/>
+    <target name="test.report" depends="scalatest.report, clover.report, cobertura.report"/>
     <!-- end test reports -->
     <target name="fulltest" depends="test, test.report" />
     <!-- end unit tests -->
diff --git a/core/java/junittest/net/i2p/AllCoreTests.java b/core/java/test/junit/net/i2p/AllCoreTests.java
similarity index 100%
rename from core/java/junittest/net/i2p/AllCoreTests.java
rename to core/java/test/junit/net/i2p/AllCoreTests.java
diff --git a/core/java/junittest/net/i2p/client/I2PClientTest.java b/core/java/test/junit/net/i2p/client/I2PClientTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/client/I2PClientTest.java
rename to core/java/test/junit/net/i2p/client/I2PClientTest.java
diff --git a/core/java/junittest/net/i2p/client/I2PClientTestSuite.java b/core/java/test/junit/net/i2p/client/I2PClientTestSuite.java
similarity index 100%
rename from core/java/junittest/net/i2p/client/I2PClientTestSuite.java
rename to core/java/test/junit/net/i2p/client/I2PClientTestSuite.java
diff --git a/core/java/junittest/net/i2p/client/I2PSessionTest.java b/core/java/test/junit/net/i2p/client/I2PSessionTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/client/I2PSessionTest.java
rename to core/java/test/junit/net/i2p/client/I2PSessionTest.java
diff --git a/core/java/junittest/net/i2p/client/datagram/DatagramTest.java b/core/java/test/junit/net/i2p/client/datagram/DatagramTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/client/datagram/DatagramTest.java
rename to core/java/test/junit/net/i2p/client/datagram/DatagramTest.java
diff --git a/core/java/junittest/net/i2p/client/naming/BlockfileNamingServiceTest.java b/core/java/test/junit/net/i2p/client/naming/BlockfileNamingServiceTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/client/naming/BlockfileNamingServiceTest.java
rename to core/java/test/junit/net/i2p/client/naming/BlockfileNamingServiceTest.java
diff --git a/core/java/junittest/net/i2p/client/naming/DummyNamingServiceTest.java b/core/java/test/junit/net/i2p/client/naming/DummyNamingServiceTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/client/naming/DummyNamingServiceTest.java
rename to core/java/test/junit/net/i2p/client/naming/DummyNamingServiceTest.java
diff --git a/core/java/junittest/net/i2p/client/naming/SingleFileNamingServiceTest.java b/core/java/test/junit/net/i2p/client/naming/SingleFileNamingServiceTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/client/naming/SingleFileNamingServiceTest.java
rename to core/java/test/junit/net/i2p/client/naming/SingleFileNamingServiceTest.java
diff --git a/core/java/junittest/net/i2p/crypto/AES256Bench.java b/core/java/test/junit/net/i2p/crypto/AES256Bench.java
similarity index 100%
rename from core/java/junittest/net/i2p/crypto/AES256Bench.java
rename to core/java/test/junit/net/i2p/crypto/AES256Bench.java
diff --git a/core/java/junittest/net/i2p/crypto/AES256Test.java b/core/java/test/junit/net/i2p/crypto/AES256Test.java
similarity index 100%
rename from core/java/junittest/net/i2p/crypto/AES256Test.java
rename to core/java/test/junit/net/i2p/crypto/AES256Test.java
diff --git a/core/java/junittest/net/i2p/crypto/AESInputStream.java b/core/java/test/junit/net/i2p/crypto/AESInputStream.java
similarity index 100%
rename from core/java/junittest/net/i2p/crypto/AESInputStream.java
rename to core/java/test/junit/net/i2p/crypto/AESInputStream.java
diff --git a/core/java/junittest/net/i2p/crypto/AESInputStreamTest.java b/core/java/test/junit/net/i2p/crypto/AESInputStreamTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/crypto/AESInputStreamTest.java
rename to core/java/test/junit/net/i2p/crypto/AESInputStreamTest.java
diff --git a/core/java/junittest/net/i2p/crypto/AESOutputStream.java b/core/java/test/junit/net/i2p/crypto/AESOutputStream.java
similarity index 100%
rename from core/java/junittest/net/i2p/crypto/AESOutputStream.java
rename to core/java/test/junit/net/i2p/crypto/AESOutputStream.java
diff --git a/core/java/junittest/net/i2p/crypto/CryptixAESEngineTest.java b/core/java/test/junit/net/i2p/crypto/CryptixAESEngineTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/crypto/CryptixAESEngineTest.java
rename to core/java/test/junit/net/i2p/crypto/CryptixAESEngineTest.java
diff --git a/core/java/junittest/net/i2p/crypto/CryptixRijndael_AlgorithmTest.java b/core/java/test/junit/net/i2p/crypto/CryptixRijndael_AlgorithmTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/crypto/CryptixRijndael_AlgorithmTest.java
rename to core/java/test/junit/net/i2p/crypto/CryptixRijndael_AlgorithmTest.java
diff --git a/core/java/junittest/net/i2p/crypto/CryptoTestSuite.java b/core/java/test/junit/net/i2p/crypto/CryptoTestSuite.java
similarity index 100%
rename from core/java/junittest/net/i2p/crypto/CryptoTestSuite.java
rename to core/java/test/junit/net/i2p/crypto/CryptoTestSuite.java
diff --git a/core/java/junittest/net/i2p/crypto/DSABench.java b/core/java/test/junit/net/i2p/crypto/DSABench.java
similarity index 100%
rename from core/java/junittest/net/i2p/crypto/DSABench.java
rename to core/java/test/junit/net/i2p/crypto/DSABench.java
diff --git a/core/java/junittest/net/i2p/crypto/DSATest.java b/core/java/test/junit/net/i2p/crypto/DSATest.java
similarity index 100%
rename from core/java/junittest/net/i2p/crypto/DSATest.java
rename to core/java/test/junit/net/i2p/crypto/DSATest.java
diff --git a/core/java/junittest/net/i2p/crypto/DummyPooledRandomSource.java b/core/java/test/junit/net/i2p/crypto/DummyPooledRandomSource.java
similarity index 100%
rename from core/java/junittest/net/i2p/crypto/DummyPooledRandomSource.java
rename to core/java/test/junit/net/i2p/crypto/DummyPooledRandomSource.java
diff --git a/core/java/junittest/net/i2p/crypto/ElGamalAESEngineTest.java b/core/java/test/junit/net/i2p/crypto/ElGamalAESEngineTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/crypto/ElGamalAESEngineTest.java
rename to core/java/test/junit/net/i2p/crypto/ElGamalAESEngineTest.java
diff --git a/core/java/junittest/net/i2p/crypto/ElGamalBench.java b/core/java/test/junit/net/i2p/crypto/ElGamalBench.java
similarity index 100%
rename from core/java/junittest/net/i2p/crypto/ElGamalBench.java
rename to core/java/test/junit/net/i2p/crypto/ElGamalBench.java
diff --git a/core/java/junittest/net/i2p/crypto/ElGamalTest.java b/core/java/test/junit/net/i2p/crypto/ElGamalTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/crypto/ElGamalTest.java
rename to core/java/test/junit/net/i2p/crypto/ElGamalTest.java
diff --git a/core/java/junittest/net/i2p/crypto/ElGamalVerify.java b/core/java/test/junit/net/i2p/crypto/ElGamalVerify.java
similarity index 100%
rename from core/java/junittest/net/i2p/crypto/ElGamalVerify.java
rename to core/java/test/junit/net/i2p/crypto/ElGamalVerify.java
diff --git a/core/java/junittest/net/i2p/crypto/HMACSHA256Bench.java b/core/java/test/junit/net/i2p/crypto/HMACSHA256Bench.java
similarity index 100%
rename from core/java/junittest/net/i2p/crypto/HMACSHA256Bench.java
rename to core/java/test/junit/net/i2p/crypto/HMACSHA256Bench.java
diff --git a/core/java/junittest/net/i2p/crypto/HMACSHA256Test.java b/core/java/test/junit/net/i2p/crypto/HMACSHA256Test.java
similarity index 100%
rename from core/java/junittest/net/i2p/crypto/HMACSHA256Test.java
rename to core/java/test/junit/net/i2p/crypto/HMACSHA256Test.java
diff --git a/core/java/junittest/net/i2p/crypto/KeyGeneratorTest.java b/core/java/test/junit/net/i2p/crypto/KeyGeneratorTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/crypto/KeyGeneratorTest.java
rename to core/java/test/junit/net/i2p/crypto/KeyGeneratorTest.java
diff --git a/core/java/junittest/net/i2p/crypto/SHA1HashTest.java b/core/java/test/junit/net/i2p/crypto/SHA1HashTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/crypto/SHA1HashTest.java
rename to core/java/test/junit/net/i2p/crypto/SHA1HashTest.java
diff --git a/core/java/junittest/net/i2p/crypto/SHA256Bench.java b/core/java/test/junit/net/i2p/crypto/SHA256Bench.java
similarity index 100%
rename from core/java/junittest/net/i2p/crypto/SHA256Bench.java
rename to core/java/test/junit/net/i2p/crypto/SHA256Bench.java
diff --git a/core/java/junittest/net/i2p/crypto/SHA256Test.java b/core/java/test/junit/net/i2p/crypto/SHA256Test.java
similarity index 100%
rename from core/java/junittest/net/i2p/crypto/SHA256Test.java
rename to core/java/test/junit/net/i2p/crypto/SHA256Test.java
diff --git a/core/java/junittest/net/i2p/crypto/SessionEncryptionTest.java b/core/java/test/junit/net/i2p/crypto/SessionEncryptionTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/crypto/SessionEncryptionTest.java
rename to core/java/test/junit/net/i2p/crypto/SessionEncryptionTest.java
diff --git a/core/java/junittest/net/i2p/data/Base64Test.java b/core/java/test/junit/net/i2p/data/Base64Test.java
similarity index 100%
rename from core/java/junittest/net/i2p/data/Base64Test.java
rename to core/java/test/junit/net/i2p/data/Base64Test.java
diff --git a/core/java/junittest/net/i2p/data/BooleanTest.java b/core/java/test/junit/net/i2p/data/BooleanTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/data/BooleanTest.java
rename to core/java/test/junit/net/i2p/data/BooleanTest.java
diff --git a/core/java/junittest/net/i2p/data/CertificateTest.java b/core/java/test/junit/net/i2p/data/CertificateTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/data/CertificateTest.java
rename to core/java/test/junit/net/i2p/data/CertificateTest.java
diff --git a/core/java/junittest/net/i2p/data/DataHelperTest.java b/core/java/test/junit/net/i2p/data/DataHelperTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/data/DataHelperTest.java
rename to core/java/test/junit/net/i2p/data/DataHelperTest.java
diff --git a/core/java/junittest/net/i2p/data/DataStructureImplTest.java b/core/java/test/junit/net/i2p/data/DataStructureImplTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/data/DataStructureImplTest.java
rename to core/java/test/junit/net/i2p/data/DataStructureImplTest.java
diff --git a/core/java/junittest/net/i2p/data/DataTestSuite.java b/core/java/test/junit/net/i2p/data/DataTestSuite.java
similarity index 100%
rename from core/java/junittest/net/i2p/data/DataTestSuite.java
rename to core/java/test/junit/net/i2p/data/DataTestSuite.java
diff --git a/core/java/junittest/net/i2p/data/DateTest.java b/core/java/test/junit/net/i2p/data/DateTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/data/DateTest.java
rename to core/java/test/junit/net/i2p/data/DateTest.java
diff --git a/core/java/junittest/net/i2p/data/DestinationTest.java b/core/java/test/junit/net/i2p/data/DestinationTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/data/DestinationTest.java
rename to core/java/test/junit/net/i2p/data/DestinationTest.java
diff --git a/core/java/junittest/net/i2p/data/HashTest.java b/core/java/test/junit/net/i2p/data/HashTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/data/HashTest.java
rename to core/java/test/junit/net/i2p/data/HashTest.java
diff --git a/core/java/junittest/net/i2p/data/LeaseSetTest.java b/core/java/test/junit/net/i2p/data/LeaseSetTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/data/LeaseSetTest.java
rename to core/java/test/junit/net/i2p/data/LeaseSetTest.java
diff --git a/core/java/junittest/net/i2p/data/LeaseTest.java b/core/java/test/junit/net/i2p/data/LeaseTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/data/LeaseTest.java
rename to core/java/test/junit/net/i2p/data/LeaseTest.java
diff --git a/core/java/junittest/net/i2p/data/MappingTest.java b/core/java/test/junit/net/i2p/data/MappingTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/data/MappingTest.java
rename to core/java/test/junit/net/i2p/data/MappingTest.java
diff --git a/core/java/junittest/net/i2p/data/PayloadTest.java b/core/java/test/junit/net/i2p/data/PayloadTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/data/PayloadTest.java
rename to core/java/test/junit/net/i2p/data/PayloadTest.java
diff --git a/core/java/junittest/net/i2p/data/PrivateKeyTest.java b/core/java/test/junit/net/i2p/data/PrivateKeyTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/data/PrivateKeyTest.java
rename to core/java/test/junit/net/i2p/data/PrivateKeyTest.java
diff --git a/core/java/junittest/net/i2p/data/PublicKeyTest.java b/core/java/test/junit/net/i2p/data/PublicKeyTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/data/PublicKeyTest.java
rename to core/java/test/junit/net/i2p/data/PublicKeyTest.java
diff --git a/core/java/junittest/net/i2p/data/RouterAddressTest.java b/core/java/test/junit/net/i2p/data/RouterAddressTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/data/RouterAddressTest.java
rename to core/java/test/junit/net/i2p/data/RouterAddressTest.java
diff --git a/core/java/junittest/net/i2p/data/RouterIdentityTest.java b/core/java/test/junit/net/i2p/data/RouterIdentityTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/data/RouterIdentityTest.java
rename to core/java/test/junit/net/i2p/data/RouterIdentityTest.java
diff --git a/core/java/junittest/net/i2p/data/RouterInfoTest.java b/core/java/test/junit/net/i2p/data/RouterInfoTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/data/RouterInfoTest.java
rename to core/java/test/junit/net/i2p/data/RouterInfoTest.java
diff --git a/core/java/junittest/net/i2p/data/SessionKeyTest.java b/core/java/test/junit/net/i2p/data/SessionKeyTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/data/SessionKeyTest.java
rename to core/java/test/junit/net/i2p/data/SessionKeyTest.java
diff --git a/core/java/junittest/net/i2p/data/SignatureTest.java b/core/java/test/junit/net/i2p/data/SignatureTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/data/SignatureTest.java
rename to core/java/test/junit/net/i2p/data/SignatureTest.java
diff --git a/core/java/junittest/net/i2p/data/SigningPrivateKeyTest.java b/core/java/test/junit/net/i2p/data/SigningPrivateKeyTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/data/SigningPrivateKeyTest.java
rename to core/java/test/junit/net/i2p/data/SigningPrivateKeyTest.java
diff --git a/core/java/junittest/net/i2p/data/SigningPublicKeyTest.java b/core/java/test/junit/net/i2p/data/SigningPublicKeyTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/data/SigningPublicKeyTest.java
rename to core/java/test/junit/net/i2p/data/SigningPublicKeyTest.java
diff --git a/core/java/junittest/net/i2p/data/SimpleDataStructureTest.java b/core/java/test/junit/net/i2p/data/SimpleDataStructureTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/data/SimpleDataStructureTest.java
rename to core/java/test/junit/net/i2p/data/SimpleDataStructureTest.java
diff --git a/core/java/junittest/net/i2p/data/StringTest.java b/core/java/test/junit/net/i2p/data/StringTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/data/StringTest.java
rename to core/java/test/junit/net/i2p/data/StringTest.java
diff --git a/core/java/junittest/net/i2p/data/StructureTest.java b/core/java/test/junit/net/i2p/data/StructureTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/data/StructureTest.java
rename to core/java/test/junit/net/i2p/data/StructureTest.java
diff --git a/core/java/junittest/net/i2p/data/TestData.java b/core/java/test/junit/net/i2p/data/TestData.java
similarity index 100%
rename from core/java/junittest/net/i2p/data/TestData.java
rename to core/java/test/junit/net/i2p/data/TestData.java
diff --git a/core/java/junittest/net/i2p/data/TestDataGenerator.java b/core/java/test/junit/net/i2p/data/TestDataGenerator.java
similarity index 100%
rename from core/java/junittest/net/i2p/data/TestDataGenerator.java
rename to core/java/test/junit/net/i2p/data/TestDataGenerator.java
diff --git a/core/java/junittest/net/i2p/data/TestDataPrinter.java b/core/java/test/junit/net/i2p/data/TestDataPrinter.java
similarity index 100%
rename from core/java/junittest/net/i2p/data/TestDataPrinter.java
rename to core/java/test/junit/net/i2p/data/TestDataPrinter.java
diff --git a/core/java/junittest/net/i2p/data/TunnelIdTest.java b/core/java/test/junit/net/i2p/data/TunnelIdTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/data/TunnelIdTest.java
rename to core/java/test/junit/net/i2p/data/TunnelIdTest.java
diff --git a/core/java/junittest/net/i2p/data/UnsignedIntegerTest.java b/core/java/test/junit/net/i2p/data/UnsignedIntegerTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/data/UnsignedIntegerTest.java
rename to core/java/test/junit/net/i2p/data/UnsignedIntegerTest.java
diff --git a/core/java/junittest/net/i2p/data/i2cp/AbuseReasonTest.java b/core/java/test/junit/net/i2p/data/i2cp/AbuseReasonTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/data/i2cp/AbuseReasonTest.java
rename to core/java/test/junit/net/i2p/data/i2cp/AbuseReasonTest.java
diff --git a/core/java/junittest/net/i2p/data/i2cp/AbuseSeverityTest.java b/core/java/test/junit/net/i2p/data/i2cp/AbuseSeverityTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/data/i2cp/AbuseSeverityTest.java
rename to core/java/test/junit/net/i2p/data/i2cp/AbuseSeverityTest.java
diff --git a/core/java/junittest/net/i2p/data/i2cp/BandwidthLimitsMessageTest.java b/core/java/test/junit/net/i2p/data/i2cp/BandwidthLimitsMessageTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/data/i2cp/BandwidthLimitsMessageTest.java
rename to core/java/test/junit/net/i2p/data/i2cp/BandwidthLimitsMessageTest.java
diff --git a/core/java/junittest/net/i2p/data/i2cp/CreateLeaseSetMessageTest.java b/core/java/test/junit/net/i2p/data/i2cp/CreateLeaseSetMessageTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/data/i2cp/CreateLeaseSetMessageTest.java
rename to core/java/test/junit/net/i2p/data/i2cp/CreateLeaseSetMessageTest.java
diff --git a/core/java/junittest/net/i2p/data/i2cp/CreateSessionMessageTest.java b/core/java/test/junit/net/i2p/data/i2cp/CreateSessionMessageTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/data/i2cp/CreateSessionMessageTest.java
rename to core/java/test/junit/net/i2p/data/i2cp/CreateSessionMessageTest.java
diff --git a/core/java/junittest/net/i2p/data/i2cp/DestLookupMessageTest.java b/core/java/test/junit/net/i2p/data/i2cp/DestLookupMessageTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/data/i2cp/DestLookupMessageTest.java
rename to core/java/test/junit/net/i2p/data/i2cp/DestLookupMessageTest.java
diff --git a/core/java/junittest/net/i2p/data/i2cp/DestReplyMessageTest.java b/core/java/test/junit/net/i2p/data/i2cp/DestReplyMessageTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/data/i2cp/DestReplyMessageTest.java
rename to core/java/test/junit/net/i2p/data/i2cp/DestReplyMessageTest.java
diff --git a/core/java/junittest/net/i2p/data/i2cp/DestroySessionMessageTest.java b/core/java/test/junit/net/i2p/data/i2cp/DestroySessionMessageTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/data/i2cp/DestroySessionMessageTest.java
rename to core/java/test/junit/net/i2p/data/i2cp/DestroySessionMessageTest.java
diff --git a/core/java/junittest/net/i2p/data/i2cp/DisconnectMessageTest.java b/core/java/test/junit/net/i2p/data/i2cp/DisconnectMessageTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/data/i2cp/DisconnectMessageTest.java
rename to core/java/test/junit/net/i2p/data/i2cp/DisconnectMessageTest.java
diff --git a/core/java/junittest/net/i2p/data/i2cp/GetBandwidthLimitsMessageTest.java b/core/java/test/junit/net/i2p/data/i2cp/GetBandwidthLimitsMessageTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/data/i2cp/GetBandwidthLimitsMessageTest.java
rename to core/java/test/junit/net/i2p/data/i2cp/GetBandwidthLimitsMessageTest.java
diff --git a/core/java/junittest/net/i2p/data/i2cp/GetDateMessageTest.java b/core/java/test/junit/net/i2p/data/i2cp/GetDateMessageTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/data/i2cp/GetDateMessageTest.java
rename to core/java/test/junit/net/i2p/data/i2cp/GetDateMessageTest.java
diff --git a/core/java/junittest/net/i2p/data/i2cp/I2CPTestSuite.java b/core/java/test/junit/net/i2p/data/i2cp/I2CPTestSuite.java
similarity index 100%
rename from core/java/junittest/net/i2p/data/i2cp/I2CPTestSuite.java
rename to core/java/test/junit/net/i2p/data/i2cp/I2CPTestSuite.java
diff --git a/core/java/junittest/net/i2p/data/i2cp/MessageIdTest.java b/core/java/test/junit/net/i2p/data/i2cp/MessageIdTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/data/i2cp/MessageIdTest.java
rename to core/java/test/junit/net/i2p/data/i2cp/MessageIdTest.java
diff --git a/core/java/junittest/net/i2p/data/i2cp/MessagePayloadMessageTest.java b/core/java/test/junit/net/i2p/data/i2cp/MessagePayloadMessageTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/data/i2cp/MessagePayloadMessageTest.java
rename to core/java/test/junit/net/i2p/data/i2cp/MessagePayloadMessageTest.java
diff --git a/core/java/junittest/net/i2p/data/i2cp/MessageStatusMessageTest.java b/core/java/test/junit/net/i2p/data/i2cp/MessageStatusMessageTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/data/i2cp/MessageStatusMessageTest.java
rename to core/java/test/junit/net/i2p/data/i2cp/MessageStatusMessageTest.java
diff --git a/core/java/junittest/net/i2p/data/i2cp/ReceiveMessageBeginMessageTest.java b/core/java/test/junit/net/i2p/data/i2cp/ReceiveMessageBeginMessageTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/data/i2cp/ReceiveMessageBeginMessageTest.java
rename to core/java/test/junit/net/i2p/data/i2cp/ReceiveMessageBeginMessageTest.java
diff --git a/core/java/junittest/net/i2p/data/i2cp/ReceiveMessageEndMessageTest.java b/core/java/test/junit/net/i2p/data/i2cp/ReceiveMessageEndMessageTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/data/i2cp/ReceiveMessageEndMessageTest.java
rename to core/java/test/junit/net/i2p/data/i2cp/ReceiveMessageEndMessageTest.java
diff --git a/core/java/junittest/net/i2p/data/i2cp/ReconfigureSessionMessageTest.java b/core/java/test/junit/net/i2p/data/i2cp/ReconfigureSessionMessageTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/data/i2cp/ReconfigureSessionMessageTest.java
rename to core/java/test/junit/net/i2p/data/i2cp/ReconfigureSessionMessageTest.java
diff --git a/core/java/junittest/net/i2p/data/i2cp/ReportAbuseMessageTest.java b/core/java/test/junit/net/i2p/data/i2cp/ReportAbuseMessageTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/data/i2cp/ReportAbuseMessageTest.java
rename to core/java/test/junit/net/i2p/data/i2cp/ReportAbuseMessageTest.java
diff --git a/core/java/junittest/net/i2p/data/i2cp/RequestLeaseSetMessageTest.java b/core/java/test/junit/net/i2p/data/i2cp/RequestLeaseSetMessageTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/data/i2cp/RequestLeaseSetMessageTest.java
rename to core/java/test/junit/net/i2p/data/i2cp/RequestLeaseSetMessageTest.java
diff --git a/core/java/junittest/net/i2p/data/i2cp/SendMessageExpiresMessageTest.java b/core/java/test/junit/net/i2p/data/i2cp/SendMessageExpiresMessageTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/data/i2cp/SendMessageExpiresMessageTest.java
rename to core/java/test/junit/net/i2p/data/i2cp/SendMessageExpiresMessageTest.java
diff --git a/core/java/junittest/net/i2p/data/i2cp/SendMessageMessageTest.java b/core/java/test/junit/net/i2p/data/i2cp/SendMessageMessageTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/data/i2cp/SendMessageMessageTest.java
rename to core/java/test/junit/net/i2p/data/i2cp/SendMessageMessageTest.java
diff --git a/core/java/junittest/net/i2p/data/i2cp/SessionConfigTest.java b/core/java/test/junit/net/i2p/data/i2cp/SessionConfigTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/data/i2cp/SessionConfigTest.java
rename to core/java/test/junit/net/i2p/data/i2cp/SessionConfigTest.java
diff --git a/core/java/junittest/net/i2p/data/i2cp/SessionIdTest.java b/core/java/test/junit/net/i2p/data/i2cp/SessionIdTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/data/i2cp/SessionIdTest.java
rename to core/java/test/junit/net/i2p/data/i2cp/SessionIdTest.java
diff --git a/core/java/junittest/net/i2p/data/i2cp/SessionStatusMessageTest.java b/core/java/test/junit/net/i2p/data/i2cp/SessionStatusMessageTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/data/i2cp/SessionStatusMessageTest.java
rename to core/java/test/junit/net/i2p/data/i2cp/SessionStatusMessageTest.java
diff --git a/core/java/junittest/net/i2p/data/i2cp/SetDateMessageTest.java b/core/java/test/junit/net/i2p/data/i2cp/SetDateMessageTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/data/i2cp/SetDateMessageTest.java
rename to core/java/test/junit/net/i2p/data/i2cp/SetDateMessageTest.java
diff --git a/core/java/junittest/net/i2p/stat/RateStatTest.java b/core/java/test/junit/net/i2p/stat/RateStatTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/stat/RateStatTest.java
rename to core/java/test/junit/net/i2p/stat/RateStatTest.java
diff --git a/core/java/junittest/net/i2p/stat/RateTest.java b/core/java/test/junit/net/i2p/stat/RateTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/stat/RateTest.java
rename to core/java/test/junit/net/i2p/stat/RateTest.java
diff --git a/core/java/junittest/net/i2p/stat/SimpleStatDumper.java b/core/java/test/junit/net/i2p/stat/SimpleStatDumper.java
similarity index 100%
rename from core/java/junittest/net/i2p/stat/SimpleStatDumper.java
rename to core/java/test/junit/net/i2p/stat/SimpleStatDumper.java
diff --git a/core/java/junittest/net/i2p/stat/SizeMeasure.java b/core/java/test/junit/net/i2p/stat/SizeMeasure.java
similarity index 100%
rename from core/java/junittest/net/i2p/stat/SizeMeasure.java
rename to core/java/test/junit/net/i2p/stat/SizeMeasure.java
diff --git a/core/java/junittest/net/i2p/stat/StatLogSplitter.java b/core/java/test/junit/net/i2p/stat/StatLogSplitter.java
similarity index 100%
rename from core/java/junittest/net/i2p/stat/StatLogSplitter.java
rename to core/java/test/junit/net/i2p/stat/StatLogSplitter.java
diff --git a/core/java/junittest/net/i2p/stat/StatTestSuite.java b/core/java/test/junit/net/i2p/stat/StatTestSuite.java
similarity index 100%
rename from core/java/junittest/net/i2p/stat/StatTestSuite.java
rename to core/java/test/junit/net/i2p/stat/StatTestSuite.java
diff --git a/core/java/junittest/net/i2p/util/LogSettings.java b/core/java/test/junit/net/i2p/util/LogSettings.java
similarity index 100%
rename from core/java/junittest/net/i2p/util/LogSettings.java
rename to core/java/test/junit/net/i2p/util/LogSettings.java
diff --git a/core/java/junittest/net/i2p/util/LogSettingsTest.java b/core/java/test/junit/net/i2p/util/LogSettingsTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/util/LogSettingsTest.java
rename to core/java/test/junit/net/i2p/util/LogSettingsTest.java
diff --git a/core/java/junittest/net/i2p/util/LookAheadInputStreamTest.java b/core/java/test/junit/net/i2p/util/LookAheadInputStreamTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/util/LookAheadInputStreamTest.java
rename to core/java/test/junit/net/i2p/util/LookAheadInputStreamTest.java
diff --git a/core/java/junittest/net/i2p/util/ResettableGZIPInputStreamTest.java b/core/java/test/junit/net/i2p/util/ResettableGZIPInputStreamTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/util/ResettableGZIPInputStreamTest.java
rename to core/java/test/junit/net/i2p/util/ResettableGZIPInputStreamTest.java
diff --git a/core/java/junittest/net/i2p/util/ResettableGZIPOutputStreamTest.java b/core/java/test/junit/net/i2p/util/ResettableGZIPOutputStreamTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/util/ResettableGZIPOutputStreamTest.java
rename to core/java/test/junit/net/i2p/util/ResettableGZIPOutputStreamTest.java
diff --git a/core/java/junittest/net/i2p/util/ReusableGZIPInputStreamTest.java b/core/java/test/junit/net/i2p/util/ReusableGZIPInputStreamTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/util/ReusableGZIPInputStreamTest.java
rename to core/java/test/junit/net/i2p/util/ReusableGZIPInputStreamTest.java
diff --git a/core/java/junittest/net/i2p/util/ReusableGZIPOutputStreamTest.java b/core/java/test/junit/net/i2p/util/ReusableGZIPOutputStreamTest.java
similarity index 100%
rename from core/java/junittest/net/i2p/util/ReusableGZIPOutputStreamTest.java
rename to core/java/test/junit/net/i2p/util/ReusableGZIPOutputStreamTest.java
diff --git a/core/java/junittest/net/i2p/util/UtilTestSuite.java b/core/java/test/junit/net/i2p/util/UtilTestSuite.java
similarity index 100%
rename from core/java/junittest/net/i2p/util/UtilTestSuite.java
rename to core/java/test/junit/net/i2p/util/UtilTestSuite.java
-- 
GitLab