diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/netx/jnlp_testsengine/net/sourceforge/jnlp/ContentReaderListener.java | 8 | ||||
-rw-r--r-- | tests/netx/jnlp_testsengine/net/sourceforge/jnlp/ServerAccess.java | 1764 | ||||
-rw-r--r-- | tests/reproducers/README (renamed from tests/jnlp_tests/README) | 0 | ||||
-rw-r--r-- | tests/reproducers/custom/AppletFolderInArchiveTag/resources/AppletFolderInArchiveTag.html (renamed from tests/jnlp_tests/custom/AppletFolderInArchiveTag/resources/AppletFolderInArchiveTag.html) | 0 | ||||
-rw-r--r-- | tests/reproducers/custom/AppletFolderInArchiveTag/srcs/AppletFolderInArchiveTag.java (renamed from tests/jnlp_tests/custom/AppletFolderInArchiveTag/srcs/AppletFolderInArchiveTag.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/custom/AppletFolderInArchiveTag/srcs/Makefile (renamed from tests/jnlp_tests/custom/AppletFolderInArchiveTag/srcs/Makefile) | 0 | ||||
-rw-r--r-- | tests/reproducers/custom/AppletFolderInArchiveTag/testcases/AppletFolderInArchiveTagTests.java (renamed from tests/jnlp_tests/custom/AppletFolderInArchiveTag/testcases/AppletFolderInArchiveTagTests.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/AccessClassInPackageSigned/resources/AccessClassInPackageSignedJAVAXJNLP.jnlp (renamed from tests/jnlp_tests/signed/AccessClassInPackageSigned/resources/AccessClassInPackageSignedJAVAXJNLP.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/AccessClassInPackageSigned/resources/AccessClassInPackageSignedNETSF.jnlp (renamed from tests/jnlp_tests/signed/AccessClassInPackageSigned/resources/AccessClassInPackageSignedNETSF.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/AccessClassInPackageSigned/resources/AccessClassInPackageSignedSELF.jnlp (renamed from tests/jnlp_tests/signed/AccessClassInPackageSigned/resources/AccessClassInPackageSignedSELF.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/AccessClassInPackageSigned/resources/AccessClassInPackageSignedSUNSEC.jnlp (renamed from tests/jnlp_tests/signed/AccessClassInPackageSigned/resources/AccessClassInPackageSignedSUNSEC.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/AccessClassInPackageSigned/srcs/AccessClassInPackageSigned.java (renamed from tests/jnlp_tests/signed/AccessClassInPackageSigned/srcs/AccessClassInPackageSigned.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/AppletTestSigned/resources/AppletTestSigned.html (renamed from tests/jnlp_tests/signed/AppletTestSigned/resources/AppletTestSigned.html) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/AppletTestSigned/resources/AppletTestSigned.jnlp (renamed from tests/jnlp_tests/signed/AppletTestSigned/resources/AppletTestSigned.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/AppletTestSigned/srcs/AppletTestSigned.java (renamed from tests/jnlp_tests/signed/AppletTestSigned/srcs/AppletTestSigned.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/AppletTestSigned/testcases/AppletTestSignedTests.java (renamed from tests/jnlp_tests/signed/AppletTestSigned/testcases/AppletTestSignedTests.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/CacheReproducer/resources/CacheReproducer1.jnlp (renamed from tests/jnlp_tests/signed/CacheReproducer/resources/CacheReproducer1.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/CacheReproducer/resources/CacheReproducer1_1.jnlp (renamed from tests/jnlp_tests/signed/CacheReproducer/resources/CacheReproducer1_1.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/CacheReproducer/resources/CacheReproducer2.jnlp (renamed from tests/jnlp_tests/signed/CacheReproducer/resources/CacheReproducer2.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/CacheReproducer/resources/CacheReproducer2_1.jnlp (renamed from tests/jnlp_tests/signed/CacheReproducer/resources/CacheReproducer2_1.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/CacheReproducer/srcs/CacheReproducer.java (renamed from tests/jnlp_tests/signed/CacheReproducer/srcs/CacheReproducer.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java (renamed from tests/jnlp_tests/signed/CacheReproducer/testcases/CacheReproducerTest.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/InternalClassloaderWithDownloadedResource/resources/InternalClassloaderWithDownloadedResource-applet-hack.jnlp (renamed from tests/jnlp_tests/signed/InternalClassloaderWithDownloadedResource/resources/InternalClassloaderWithDownloadedResource-applet-hack.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/InternalClassloaderWithDownloadedResource/resources/InternalClassloaderWithDownloadedResource-applet-new.jnlp (renamed from tests/jnlp_tests/signed/InternalClassloaderWithDownloadedResource/resources/InternalClassloaderWithDownloadedResource-applet-new.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/InternalClassloaderWithDownloadedResource/resources/InternalClassloaderWithDownloadedResource-hack.html (renamed from tests/jnlp_tests/signed/InternalClassloaderWithDownloadedResource/resources/InternalClassloaderWithDownloadedResource-hack.html) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/InternalClassloaderWithDownloadedResource/resources/InternalClassloaderWithDownloadedResource-hack.jnlp (renamed from tests/jnlp_tests/signed/InternalClassloaderWithDownloadedResource/resources/InternalClassloaderWithDownloadedResource-hack.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/InternalClassloaderWithDownloadedResource/resources/InternalClassloaderWithDownloadedResource-new.html (renamed from tests/jnlp_tests/signed/InternalClassloaderWithDownloadedResource/resources/InternalClassloaderWithDownloadedResource-new.html) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/InternalClassloaderWithDownloadedResource/resources/InternalClassloaderWithDownloadedResource-new.jnlp (renamed from tests/jnlp_tests/signed/InternalClassloaderWithDownloadedResource/resources/InternalClassloaderWithDownloadedResource-new.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/InternalClassloaderWithDownloadedResource/srcs/InternalClassloaderWithDownloadedResource.java (renamed from tests/jnlp_tests/signed/InternalClassloaderWithDownloadedResource/srcs/InternalClassloaderWithDownloadedResource.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/InternalClassloaderWithDownloadedResource/testcases/InternalClassloaderWithDownloadedResourceTest.java (renamed from tests/jnlp_tests/signed/InternalClassloaderWithDownloadedResource/testcases/InternalClassloaderWithDownloadedResourceTest.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/MissingJar/resources/MissingJar.jnlp (renamed from tests/jnlp_tests/signed/MissingJar/resources/MissingJar.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/MissingJar/resources/MissingJar2.jnlp (renamed from tests/jnlp_tests/signed/MissingJar/resources/MissingJar2.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/MissingJar/resources/MissingJar3.jnlp (renamed from tests/jnlp_tests/signed/MissingJar/resources/MissingJar3.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/MissingJar/resources/MissingJar4.jnlp (renamed from tests/jnlp_tests/signed/MissingJar/resources/MissingJar4.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/MissingJar/srcs/MissingJar.java (renamed from tests/jnlp_tests/signed/MissingJar/srcs/MissingJar.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/MissingJar/testcases/MissingJarTest.java (renamed from tests/jnlp_tests/signed/MissingJar/testcases/MissingJarTest.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/ReadPropertiesBySignedHack/resources/ReadPropertiesBySignedHack.jnlp (renamed from tests/jnlp_tests/signed/ReadPropertiesBySignedHack/resources/ReadPropertiesBySignedHack.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/ReadPropertiesBySignedHack/srcs/ReadPropertiesBySignedHack.java (renamed from tests/jnlp_tests/signed/ReadPropertiesBySignedHack/srcs/ReadPropertiesBySignedHack.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/ReadPropertiesBySignedHack/testcases/ReadPropertiesBySignedHackTest.java (renamed from tests/jnlp_tests/signed/ReadPropertiesBySignedHack/testcases/ReadPropertiesBySignedHackTest.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/ReadPropertiesSigned/resources/ReadPropertiesSigned1.jnlp (renamed from tests/jnlp_tests/signed/ReadPropertiesSigned/resources/ReadPropertiesSigned1.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/ReadPropertiesSigned/resources/ReadPropertiesSigned2.jnlp (renamed from tests/jnlp_tests/signed/ReadPropertiesSigned/resources/ReadPropertiesSigned2.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/ReadPropertiesSigned/srcs/ReadPropertiesSigned.java (renamed from tests/jnlp_tests/signed/ReadPropertiesSigned/srcs/ReadPropertiesSigned.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/ReadPropertiesSigned/testcases/ReadPropertiesSignedTest.java (renamed from tests/jnlp_tests/signed/ReadPropertiesSigned/testcases/ReadPropertiesSignedTest.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/SignedJnlpApplication/resources/SignedJnlpApplication1.jnlp (renamed from tests/jnlp_tests/signed/SignedJnlpApplication/resources/SignedJnlpApplication1.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/SignedJnlpApplication/resources/SignedJnlpApplication2.jnlp (renamed from tests/jnlp_tests/signed/SignedJnlpApplication/resources/SignedJnlpApplication2.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/SignedJnlpApplication/resources/SignedJnlpApplication3.jnlp (renamed from tests/jnlp_tests/signed/SignedJnlpApplication/resources/SignedJnlpApplication3.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/SignedJnlpApplication/srcs/JNLP-INF/APPLICATION.jnlp (renamed from tests/jnlp_tests/signed/SignedJnlpApplication/srcs/JNLP-INF/APPLICATION.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/SignedJnlpApplication/srcs/SignedJnlpApplication.java (renamed from tests/jnlp_tests/signed/SignedJnlpApplication/srcs/SignedJnlpApplication.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/SignedJnlpApplication/testcases/SignedJnlpApplicationTest.java (renamed from tests/jnlp_tests/signed/SignedJnlpApplication/testcases/SignedJnlpApplicationTest.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/SignedJnlpCaseTestOne/resources/SignedJnlpCaseTestOne1.jnlp (renamed from tests/jnlp_tests/signed/SignedJnlpCaseTestOne/resources/SignedJnlpCaseTestOne1.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/SignedJnlpCaseTestOne/resources/SignedJnlpCaseTestOne2.jnlp (renamed from tests/jnlp_tests/signed/SignedJnlpCaseTestOne/resources/SignedJnlpCaseTestOne2.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/SignedJnlpCaseTestOne/srcs/JNLP-INF/aPpLiCaTioN.jnlp (renamed from tests/jnlp_tests/signed/SignedJnlpCaseTestOne/srcs/JNLP-INF/aPpLiCaTioN.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/SignedJnlpCaseTestOne/srcs/SignedJnlpCase.java (renamed from tests/jnlp_tests/signed/SignedJnlpCaseTestOne/srcs/SignedJnlpCase.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/SignedJnlpCaseTestOne/testcases/SignedJnlpCaseOneTest.java (renamed from tests/jnlp_tests/signed/SignedJnlpCaseTestOne/testcases/SignedJnlpCaseOneTest.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/SignedJnlpCaseTestTwo/resources/SignedJnlpCaseTestTwo1.jnlp (renamed from tests/jnlp_tests/signed/SignedJnlpCaseTestTwo/resources/SignedJnlpCaseTestTwo1.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/SignedJnlpCaseTestTwo/resources/SignedJnlpCaseTestTwo2.jnlp (renamed from tests/jnlp_tests/signed/SignedJnlpCaseTestTwo/resources/SignedJnlpCaseTestTwo2.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/SignedJnlpCaseTestTwo/srcs/JNLP-INF/aPpLiCaTiOn_tEmPlAte.jnlp (renamed from tests/jnlp_tests/signed/SignedJnlpCaseTestTwo/srcs/JNLP-INF/aPpLiCaTiOn_tEmPlAte.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/SignedJnlpCaseTestTwo/srcs/SignedJnlpCase.java (renamed from tests/jnlp_tests/signed/SignedJnlpCaseTestTwo/srcs/SignedJnlpCase.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/SignedJnlpCaseTestTwo/testcases/SignedJnlpCaseTwoTest.java (renamed from tests/jnlp_tests/signed/SignedJnlpCaseTestTwo/testcases/SignedJnlpCaseTwoTest.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/SignedJnlpTemplate/resources/SignedJnlpTemplate1.jnlp (renamed from tests/jnlp_tests/signed/SignedJnlpTemplate/resources/SignedJnlpTemplate1.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/SignedJnlpTemplate/resources/SignedJnlpTemplate2.jnlp (renamed from tests/jnlp_tests/signed/SignedJnlpTemplate/resources/SignedJnlpTemplate2.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/SignedJnlpTemplate/resources/SignedJnlpTemplate3.jnlp (renamed from tests/jnlp_tests/signed/SignedJnlpTemplate/resources/SignedJnlpTemplate3.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/SignedJnlpTemplate/srcs/JNLP-INF/APPLICATION_TEMPLATE.jnlp (renamed from tests/jnlp_tests/signed/SignedJnlpTemplate/srcs/JNLP-INF/APPLICATION_TEMPLATE.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/SignedJnlpTemplate/srcs/SignedJnlpTemplate.java (renamed from tests/jnlp_tests/signed/SignedJnlpTemplate/srcs/SignedJnlpTemplate.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/SignedJnlpTemplate/testcases/SignedJnlpTemplateTest.java (renamed from tests/jnlp_tests/signed/SignedJnlpTemplate/testcases/SignedJnlpTemplateTest.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/SimpletestSigned1/resources/SimpletestSigned1.jnlp (renamed from tests/jnlp_tests/signed/SimpletestSigned1/resources/SimpletestSigned1.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/SimpletestSigned1/srcs/SimpletestSigned1.java (renamed from tests/jnlp_tests/signed/SimpletestSigned1/srcs/SimpletestSigned1.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/Spaces can be everywhere signed/resources/NotOnly spaces can kill ěščřž too signed.jnlp (renamed from tests/jnlp_tests/signed/Spaces can be everywhere signed/resources/NotOnly spaces can kill ěščřž too signed.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/Spaces can be everywhere signed/resources/Spaces can be everywhere1 signed.jnlp (renamed from tests/jnlp_tests/signed/Spaces can be everywhere signed/resources/Spaces can be everywhere1 signed.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/Spaces can be everywhere signed/resources/Spaces can be everywhere2 signed.jnlp (renamed from tests/jnlp_tests/signed/Spaces can be everywhere signed/resources/Spaces can be everywhere2 signed.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/Spaces can be everywhere signed/resources/SpacesCanBeEverywhere1signed.jnlp (renamed from tests/jnlp_tests/signed/Spaces can be everywhere signed/resources/SpacesCanBeEverywhere1signed.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/Spaces can be everywhere signed/resources/spaces applet Tests signed.html (renamed from tests/jnlp_tests/signed/Spaces can be everywhere signed/resources/spaces applet Tests signed.html) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/Spaces can be everywhere signed/srcs/SpacesCanBeEverywhereSigned.java (renamed from tests/jnlp_tests/signed/Spaces can be everywhere signed/srcs/SpacesCanBeEverywhereSigned.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/signed/Spaces can be everywhere signed/testcases/SpacesCanBeEverywhereTestsSigned.java (renamed from tests/jnlp_tests/signed/Spaces can be everywhere signed/testcases/SpacesCanBeEverywhereTestsSigned.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/AccessClassInPackage/resources/AccessClassInPackageJAVAXJNLP.jnlp (renamed from tests/jnlp_tests/simple/AccessClassInPackage/resources/AccessClassInPackageJAVAXJNLP.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/AccessClassInPackage/resources/AccessClassInPackageNETSF.jnlp (renamed from tests/jnlp_tests/simple/AccessClassInPackage/resources/AccessClassInPackageNETSF.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/AccessClassInPackage/resources/AccessClassInPackageSELF.jnlp (renamed from tests/jnlp_tests/simple/AccessClassInPackage/resources/AccessClassInPackageSELF.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/AccessClassInPackage/resources/AccessClassInPackageSUNSEC.jnlp (renamed from tests/jnlp_tests/simple/AccessClassInPackage/resources/AccessClassInPackageSUNSEC.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/AccessClassInPackage/srcs/AccessClassInPackage.java (renamed from tests/jnlp_tests/simple/AccessClassInPackage/srcs/AccessClassInPackage.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/AccessClassInPackage/testcases/AccessClassInPackageTest.java (renamed from tests/jnlp_tests/simple/AccessClassInPackage/testcases/AccessClassInPackageTest.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/AddShutdownHook/resources/AddShutdownHook.jnlp (renamed from tests/jnlp_tests/simple/AddShutdownHook/resources/AddShutdownHook.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/AddShutdownHook/srcs/AddShutdownHook.java (renamed from tests/jnlp_tests/simple/AddShutdownHook/srcs/AddShutdownHook.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/AddShutdownHook/testcases/AddShutdownHookTest.java (renamed from tests/jnlp_tests/simple/AddShutdownHook/testcases/AddShutdownHookTest.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/AllStackTraces/resources/AllStackTraces.jnlp (renamed from tests/jnlp_tests/simple/AllStackTraces/resources/AllStackTraces.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/AllStackTraces/srcs/AllStackTraces.java (renamed from tests/jnlp_tests/simple/AllStackTraces/srcs/AllStackTraces.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/AllStackTraces/testcases/AllStackTracesTest.java (renamed from tests/jnlp_tests/simple/AllStackTraces/testcases/AllStackTracesTest.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/AppletBaseURLTest/resources/AppletBaseURLTest.html (renamed from tests/jnlp_tests/simple/AppletBaseURLTest/resources/AppletBaseURLTest.html) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/AppletBaseURLTest/resources/AppletBaseURLTest.jnlp (renamed from tests/jnlp_tests/simple/AppletBaseURLTest/resources/AppletBaseURLTest.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/AppletBaseURLTest/resources/AppletJNLPHrefBaseURLTest.html (renamed from tests/jnlp_tests/simple/AppletBaseURLTest/resources/AppletJNLPHrefBaseURLTest.html) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/AppletBaseURLTest/srcs/AppletBaseURL.java (renamed from tests/jnlp_tests/simple/AppletBaseURLTest/srcs/AppletBaseURL.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/AppletBaseURLTest/testcases/AppletBaseURLTest.java (renamed from tests/jnlp_tests/simple/AppletBaseURLTest/testcases/AppletBaseURLTest.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/AppletReadsInvalidJar/resources/AppletReadsInvalidJar.html (renamed from tests/jnlp_tests/simple/AppletReadsInvalidJar/resources/AppletReadsInvalidJar.html) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/AppletReadsInvalidJar/resources/AppletReadsInvalidJar.jnlp (renamed from tests/jnlp_tests/simple/AppletReadsInvalidJar/resources/AppletReadsInvalidJar.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/AppletReadsInvalidJar/resources/NOT_A_VALID_JAR.jar (renamed from tests/jnlp_tests/simple/AppletReadsInvalidJar/resources/NOT_A_VALID_JAR.jar) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/AppletReadsInvalidJar/srcs/Valid.java (renamed from tests/jnlp_tests/simple/AppletReadsInvalidJar/srcs/Valid.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/AppletReadsInvalidJar/testcases/AppletReadsInvalidJarTests.java (renamed from tests/jnlp_tests/simple/AppletReadsInvalidJar/testcases/AppletReadsInvalidJarTests.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/AppletTakesLastParam/resources/appletTakesLastParam.html (renamed from tests/jnlp_tests/simple/AppletTakesLastParam/resources/appletTakesLastParam.html) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/AppletTakesLastParam/resources/appletTakesLastParam.jnlp (renamed from tests/jnlp_tests/simple/AppletTakesLastParam/resources/appletTakesLastParam.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/AppletTakesLastParam/srcs/AppletTakesLastParam.java (renamed from tests/jnlp_tests/simple/AppletTakesLastParam/srcs/AppletTakesLastParam.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/AppletTakesLastParam/testcases/AppletTakesLastParamTests.java (renamed from tests/jnlp_tests/simple/AppletTakesLastParam/testcases/AppletTakesLastParamTests.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/AppletTest/resources/AppletTest.jnlp (renamed from tests/jnlp_tests/simple/AppletTest/resources/AppletTest.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/AppletTest/resources/appletAutoTests.html (renamed from tests/jnlp_tests/simple/AppletTest/resources/appletAutoTests.html) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/AppletTest/resources/appletAutoTests2.html (renamed from tests/jnlp_tests/simple/AppletTest/resources/appletAutoTests2.html) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/AppletTest/resources/appletViewTest.html (renamed from tests/jnlp_tests/simple/AppletTest/resources/appletViewTest.html) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/AppletTest/srcs/AppletTest.java (renamed from tests/jnlp_tests/simple/AppletTest/srcs/AppletTest.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/AppletTest/testcases/AppletTestTests.java (renamed from tests/jnlp_tests/simple/AppletTest/testcases/AppletTestTests.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/CheckServices/resources/CheckPluginServices.html (renamed from tests/jnlp_tests/simple/CheckServices/resources/CheckPluginServices.html) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/CheckServices/resources/CheckServices.jnlp (renamed from tests/jnlp_tests/simple/CheckServices/resources/CheckServices.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/CheckServices/srcs/CheckServices.java (renamed from tests/jnlp_tests/simple/CheckServices/srcs/CheckServices.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/CheckServices/testcases/CheckServicesTests.java (renamed from tests/jnlp_tests/simple/CheckServices/testcases/CheckServicesTests.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/CreateClassLoader/resources/CreateClassLoader.jnlp (renamed from tests/jnlp_tests/simple/CreateClassLoader/resources/CreateClassLoader.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/CreateClassLoader/srcs/CreateClassLoader.java (renamed from tests/jnlp_tests/simple/CreateClassLoader/srcs/CreateClassLoader.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/CreateClassLoader/testcases/CreateClassLoaderTest.java (renamed from tests/jnlp_tests/simple/CreateClassLoader/testcases/CreateClassLoaderTest.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/InformationTitleVendorParser/resources/InformationParser.jnlp (renamed from tests/jnlp_tests/simple/InformationTitleVendorParser/resources/InformationParser.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/InformationTitleVendorParser/resources/TitleParser.jnlp (renamed from tests/jnlp_tests/simple/InformationTitleVendorParser/resources/TitleParser.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/InformationTitleVendorParser/resources/TitleVendorParser.jnlp (renamed from tests/jnlp_tests/simple/InformationTitleVendorParser/resources/TitleVendorParser.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/InformationTitleVendorParser/resources/VendorParser.jnlp (renamed from tests/jnlp_tests/simple/InformationTitleVendorParser/resources/VendorParser.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/InformationTitleVendorParser/testcases/InformationTitleVendorParserTest.java (renamed from tests/jnlp_tests/simple/InformationTitleVendorParser/testcases/InformationTitleVendorParserTest.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/ManifestedJar1/resources/ManifestedJar-1main2mainAppDesc.jnlp (renamed from tests/jnlp_tests/simple/ManifestedJar1/resources/ManifestedJar-1main2mainAppDesc.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/ManifestedJar1/resources/ManifestedJar-1main2mainNoAppDesc.jnlp (renamed from tests/jnlp_tests/simple/ManifestedJar1/resources/ManifestedJar-1main2mainNoAppDesc.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/ManifestedJar1/resources/ManifestedJar-1main2nothingNoAppDesc.jnlp (renamed from tests/jnlp_tests/simple/ManifestedJar1/resources/ManifestedJar-1main2nothingNoAppDesc.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/ManifestedJar1/resources/ManifestedJar-1mainHaveAppDesc.jnlp (renamed from tests/jnlp_tests/simple/ManifestedJar1/resources/ManifestedJar-1mainHaveAppDesc.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/ManifestedJar1/resources/ManifestedJar-1mainNoAppDesc.jnlp (renamed from tests/jnlp_tests/simple/ManifestedJar1/resources/ManifestedJar-1mainNoAppDesc.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/ManifestedJar1/resources/ManifestedJar-1noAppDesc.jnlp (renamed from tests/jnlp_tests/simple/ManifestedJar1/resources/ManifestedJar-1noAppDesc.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/ManifestedJar1/resources/ManifestedJar-1noAppDescAtAll.jnlp (renamed from tests/jnlp_tests/simple/ManifestedJar1/resources/ManifestedJar-1noAppDescAtAll.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/ManifestedJar1/resources/ManifestedJar-1nothing2nothingAppDesc.jnlp (renamed from tests/jnlp_tests/simple/ManifestedJar1/resources/ManifestedJar-1nothing2nothingAppDesc.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/ManifestedJar1/resources/ManifestedJar-1nothing2nothingNoAppDesc.jnlp (renamed from tests/jnlp_tests/simple/ManifestedJar1/resources/ManifestedJar-1nothing2nothingNoAppDesc.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/ManifestedJar1/srcs/META-INF/MANIFEST.MF (renamed from tests/jnlp_tests/simple/ManifestedJar1/srcs/META-INF/MANIFEST.MF) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/ManifestedJar1/srcs/ManifestedJar1.java (renamed from tests/jnlp_tests/simple/ManifestedJar1/srcs/ManifestedJar1.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/ManifestedJar1/testcases/ManifestedJar1Test.java (renamed from tests/jnlp_tests/simple/ManifestedJar1/testcases/ManifestedJar1Test.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/ManifestedJar2/srcs/META-INF/MANIFEST.MF (renamed from tests/jnlp_tests/simple/ManifestedJar2/srcs/META-INF/MANIFEST.MF) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/ManifestedJar2/srcs/ManifestedJar2.java (renamed from tests/jnlp_tests/simple/ManifestedJar2/srcs/ManifestedJar2.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/ReadEnvironment/resources/ReadEnvironment.jnlp (renamed from tests/jnlp_tests/simple/ReadEnvironment/resources/ReadEnvironment.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/ReadEnvironment/srcs/ReadEnvironment.java (renamed from tests/jnlp_tests/simple/ReadEnvironment/srcs/ReadEnvironment.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/ReadEnvironment/testcases/ReadEnvironmentTest.java (renamed from tests/jnlp_tests/simple/ReadEnvironment/testcases/ReadEnvironmentTest.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/ReadProperties/resources/ReadProperties1.jnlp (renamed from tests/jnlp_tests/simple/ReadProperties/resources/ReadProperties1.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/ReadProperties/resources/ReadProperties2.jnlp (renamed from tests/jnlp_tests/simple/ReadProperties/resources/ReadProperties2.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/ReadProperties/srcs/ReadProperties.java (renamed from tests/jnlp_tests/simple/ReadProperties/srcs/ReadProperties.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/ReadProperties/testcases/ReadPropertiesTest.java (renamed from tests/jnlp_tests/simple/ReadProperties/testcases/ReadPropertiesTest.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/RedirectStreams/resources/RedirectStreams.jnlp (renamed from tests/jnlp_tests/simple/RedirectStreams/resources/RedirectStreams.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/RedirectStreams/srcs/RedirectStreams.java (renamed from tests/jnlp_tests/simple/RedirectStreams/srcs/RedirectStreams.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/RedirectStreams/testcases/RedirectStreamsTest.java (renamed from tests/jnlp_tests/simple/RedirectStreams/testcases/RedirectStreamsTest.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/ReplaceSecurityManager/resources/ReplaceSecurityManager.jnlp (renamed from tests/jnlp_tests/simple/ReplaceSecurityManager/resources/ReplaceSecurityManager.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/ReplaceSecurityManager/srcs/ReplaceSecurityManager.java (renamed from tests/jnlp_tests/simple/ReplaceSecurityManager/srcs/ReplaceSecurityManager.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/ReplaceSecurityManager/testcases/ReplaceSecurityManagerTest.java (renamed from tests/jnlp_tests/simple/ReplaceSecurityManager/testcases/ReplaceSecurityManagerTest.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/SetContextClassLoader/resources/SetContextClassLoader.jnlp (renamed from tests/jnlp_tests/simple/SetContextClassLoader/resources/SetContextClassLoader.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/SetContextClassLoader/srcs/SetContextClassLoader.java (renamed from tests/jnlp_tests/simple/SetContextClassLoader/srcs/SetContextClassLoader.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/SetContextClassLoader/testcases/SetContextClassLoaderTest.java (renamed from tests/jnlp_tests/simple/SetContextClassLoader/testcases/SetContextClassLoaderTest.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/Spaces can be everywhere/resources/NotOnly spaces can kill ěščřž too.jnlp (renamed from tests/jnlp_tests/simple/Spaces can be everywhere/resources/NotOnly spaces can kill ěščřž too.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/Spaces can be everywhere/resources/Spaces can be everywhere1.jnlp (renamed from tests/jnlp_tests/simple/Spaces can be everywhere/resources/Spaces can be everywhere1.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/Spaces can be everywhere/resources/Spaces can be everywhere2.jnlp (renamed from tests/jnlp_tests/simple/Spaces can be everywhere/resources/Spaces can be everywhere2.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/Spaces can be everywhere/resources/SpacesCanBeEverywhere1.jnlp (renamed from tests/jnlp_tests/simple/Spaces can be everywhere/resources/SpacesCanBeEverywhere1.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/Spaces can be everywhere/resources/spaces applet Tests.html (renamed from tests/jnlp_tests/simple/Spaces can be everywhere/resources/spaces applet Tests.html) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/Spaces can be everywhere/srcs/SpacesCanBeEverywhere.java (renamed from tests/jnlp_tests/simple/Spaces can be everywhere/srcs/SpacesCanBeEverywhere.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/Spaces can be everywhere/testcases/SpacesCanBeEverywhereTests.java (renamed from tests/jnlp_tests/simple/Spaces can be everywhere/testcases/SpacesCanBeEverywhereTests.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/UnsignedJnlpApplication/resources/UnsignedJnlpApplication1.jnlp (renamed from tests/jnlp_tests/simple/UnsignedJnlpApplication/resources/UnsignedJnlpApplication1.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/UnsignedJnlpApplication/resources/UnsignedJnlpApplication2.jnlp (renamed from tests/jnlp_tests/simple/UnsignedJnlpApplication/resources/UnsignedJnlpApplication2.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/UnsignedJnlpApplication/resources/UnsignedJnlpApplication3.jnlp (renamed from tests/jnlp_tests/simple/UnsignedJnlpApplication/resources/UnsignedJnlpApplication3.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/UnsignedJnlpApplication/srcs/JNLP-INF/APPLICATION.jnlp (renamed from tests/jnlp_tests/simple/UnsignedJnlpApplication/srcs/JNLP-INF/APPLICATION.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/UnsignedJnlpApplication/srcs/UnsignedJnlpApplication.java (renamed from tests/jnlp_tests/simple/UnsignedJnlpApplication/srcs/UnsignedJnlpApplication.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/UnsignedJnlpApplication/testcases/UnsignedJnlpApplicationTest.java (renamed from tests/jnlp_tests/simple/UnsignedJnlpApplication/testcases/UnsignedJnlpApplicationTest.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/UnsignedJnlpTemplate/resources/UnsignedJnlpTemplate1.jnlp (renamed from tests/jnlp_tests/simple/UnsignedJnlpTemplate/resources/UnsignedJnlpTemplate1.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/UnsignedJnlpTemplate/resources/UnsignedJnlpTemplate2.jnlp (renamed from tests/jnlp_tests/simple/UnsignedJnlpTemplate/resources/UnsignedJnlpTemplate2.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/UnsignedJnlpTemplate/resources/UnsignedJnlpTemplate3.jnlp (renamed from tests/jnlp_tests/simple/UnsignedJnlpTemplate/resources/UnsignedJnlpTemplate3.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/UnsignedJnlpTemplate/srcs/JNLP-INF/APPLICATION_TEMPLATE.jnlp (renamed from tests/jnlp_tests/simple/UnsignedJnlpTemplate/srcs/JNLP-INF/APPLICATION_TEMPLATE.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/UnsignedJnlpTemplate/srcs/UnsignedJnlpTemplate.java (renamed from tests/jnlp_tests/simple/UnsignedJnlpTemplate/srcs/UnsignedJnlpTemplate.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/UnsignedJnlpTemplate/testcases/UnsignedJnlpTemplateTest.java (renamed from tests/jnlp_tests/simple/UnsignedJnlpTemplate/testcases/UnsignedJnlpTemplateTest.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/deadlocktest/resources/deadlocktest.jnlp (renamed from tests/jnlp_tests/simple/deadlocktest/resources/deadlocktest.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/deadlocktest/resources/deadlocktest_1.jnlp (renamed from tests/jnlp_tests/simple/deadlocktest/resources/deadlocktest_1.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/deadlocktest/srcs/DeadlockTest.java (renamed from tests/jnlp_tests/simple/deadlocktest/srcs/DeadlockTest.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/deadlocktest/testcases/DeadLockTestTest.java (renamed from tests/jnlp_tests/simple/deadlocktest/testcases/DeadLockTestTest.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/simpletest1/resources/simpletest1.jnlp (renamed from tests/jnlp_tests/simple/simpletest1/resources/simpletest1.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/simpletest1/resources/simpletestCustomSplash.jnlp (renamed from tests/jnlp_tests/simple/simpletest1/resources/simpletestCustomSplash.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/simpletest1/resources/simpletestMegaSlow.jnlp (renamed from tests/jnlp_tests/simple/simpletest1/resources/simpletestMegaSlow.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/simpletest1/resources/simpletestSlow.jnlp (renamed from tests/jnlp_tests/simple/simpletest1/resources/simpletestSlow.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/simpletest1/resources/simpletestSlowBrokenCustomSplash.jnlp (renamed from tests/jnlp_tests/simple/simpletest1/resources/simpletestSlowBrokenCustomSplash.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/simpletest1/resources/simpletestSlowSlowCustomSplash.jnlp (renamed from tests/jnlp_tests/simple/simpletest1/resources/simpletestSlowSlowCustomSplash.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/simpletest1/srcs/SimpleTest1.java (renamed from tests/jnlp_tests/simple/simpletest1/srcs/SimpleTest1.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/simpletest1/testcases/SimpleTest1Test.java (renamed from tests/jnlp_tests/simple/simpletest1/testcases/SimpleTest1Test.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/simpletest2/resources/simpletest2.jnlp (renamed from tests/jnlp_tests/simple/simpletest2/resources/simpletest2.jnlp) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/simpletest2/srcs/SimpleTest2.java (renamed from tests/jnlp_tests/simple/simpletest2/srcs/SimpleTest2.java) | 0 | ||||
-rw-r--r-- | tests/reproducers/simple/simpletest2/testcases/SimpleTest2Test.java (renamed from tests/jnlp_tests/simple/simpletest2/testcases/SimpleTest2Test.java) | 0 | ||||
-rw-r--r-- | tests/test-extensions-tests/net/sourceforge/jnlp/ResourcesTest.java | 379 | ||||
-rw-r--r-- | tests/test-extensions-tests/net/sourceforge/jnlp/ServerAccessTest.java | 233 | ||||
-rw-r--r-- | tests/test-extensions/net/sourceforge/jnlp/ContentReader.java | 133 | ||||
-rw-r--r-- | tests/test-extensions/net/sourceforge/jnlp/ContentReaderListener.java | 45 | ||||
-rw-r--r-- | tests/test-extensions/net/sourceforge/jnlp/LogItem.java | 71 | ||||
-rw-r--r-- | tests/test-extensions/net/sourceforge/jnlp/LoggingBottleneck.java | 215 | ||||
-rw-r--r-- | tests/test-extensions/net/sourceforge/jnlp/ProcessAssasin.java | 159 | ||||
-rw-r--r-- | tests/test-extensions/net/sourceforge/jnlp/ProcessResult.java | 69 | ||||
-rw-r--r-- | tests/test-extensions/net/sourceforge/jnlp/ResourcesTest.java (renamed from tests/netx/jnlp_testsengine/net/sourceforge/jnlp/ResourcesTest.java) | 0 | ||||
-rw-r--r-- | tests/test-extensions/net/sourceforge/jnlp/ServerAccess.java | 828 | ||||
-rw-r--r-- | tests/test-extensions/net/sourceforge/jnlp/ServerLauncher.java | 120 | ||||
-rw-r--r-- | tests/test-extensions/net/sourceforge/jnlp/TestsLogs.java | 85 | ||||
-rw-r--r-- | tests/test-extensions/net/sourceforge/jnlp/ThreadedProcess.java | 140 | ||||
-rw-r--r-- | tests/test-extensions/net/sourceforge/jnlp/TinyHttpdImpl.java | 174 | ||||
-rw-r--r-- | tests/test-extensions/net/sourceforge/jnlp/annotations/Bug.java (renamed from tests/netx/jnlp_testsengine/net/sourceforge/jnlp/annotations/Bug.java) | 0 | ||||
-rw-r--r-- | tests/test-extensions/net/sourceforge/jnlp/annotations/KnownToFail.java (renamed from tests/netx/jnlp_testsengine/net/sourceforge/jnlp/annotations/KnownToFail.java) | 0 | ||||
-rw-r--r-- | tests/test-extensions/net/sourceforge/jnlp/annotations/NeedsDisplay.java (renamed from tests/netx/jnlp_testsengine/net/sourceforge/jnlp/annotations/NeedsDisplay.java) | 0 | ||||
-rw-r--r-- | tests/test-extensions/net/sourceforge/jnlp/annotations/TestInBrowsers.java (renamed from tests/netx/jnlp_testsengine/net/sourceforge/jnlp/annotations/TestInBrowsers.java) | 0 | ||||
-rw-r--r-- | tests/test-extensions/net/sourceforge/jnlp/browsertesting/Browser.java (renamed from tests/netx/jnlp_testsengine/net/sourceforge/jnlp/browsertesting/Browser.java) | 0 | ||||
-rw-r--r-- | tests/test-extensions/net/sourceforge/jnlp/browsertesting/BrowserFactory.java (renamed from tests/netx/jnlp_testsengine/net/sourceforge/jnlp/browsertesting/BrowserFactory.java) | 0 | ||||
-rw-r--r-- | tests/test-extensions/net/sourceforge/jnlp/browsertesting/BrowserTest.java (renamed from tests/netx/jnlp_testsengine/net/sourceforge/jnlp/browsertesting/BrowserTest.java) | 0 | ||||
-rw-r--r-- | tests/test-extensions/net/sourceforge/jnlp/browsertesting/BrowserTestRunner.java (renamed from tests/netx/jnlp_testsengine/net/sourceforge/jnlp/browsertesting/BrowserTestRunner.java) | 0 | ||||
-rw-r--r-- | tests/test-extensions/net/sourceforge/jnlp/browsertesting/Browsers.java (renamed from tests/netx/jnlp_testsengine/net/sourceforge/jnlp/browsertesting/Browsers.java) | 0 | ||||
-rw-r--r-- | tests/test-extensions/net/sourceforge/jnlp/browsertesting/browsers/Chrome.java (renamed from tests/netx/jnlp_testsengine/net/sourceforge/jnlp/browsertesting/browsers/Chrome.java) | 0 | ||||
-rw-r--r-- | tests/test-extensions/net/sourceforge/jnlp/browsertesting/browsers/Chromium.java (renamed from tests/netx/jnlp_testsengine/net/sourceforge/jnlp/browsertesting/browsers/Chromium.java) | 0 | ||||
-rw-r--r-- | tests/test-extensions/net/sourceforge/jnlp/browsertesting/browsers/Epiphany.java (renamed from tests/netx/jnlp_testsengine/net/sourceforge/jnlp/browsertesting/browsers/Epiphany.java) | 0 | ||||
-rw-r--r-- | tests/test-extensions/net/sourceforge/jnlp/browsertesting/browsers/Firefox.java (renamed from tests/netx/jnlp_testsengine/net/sourceforge/jnlp/browsertesting/browsers/Firefox.java) | 0 | ||||
-rw-r--r-- | tests/test-extensions/net/sourceforge/jnlp/browsertesting/browsers/LinuxBrowser.java (renamed from tests/netx/jnlp_testsengine/net/sourceforge/jnlp/browsertesting/browsers/LinuxBrowser.java) | 0 | ||||
-rw-r--r-- | tests/test-extensions/net/sourceforge/jnlp/browsertesting/browsers/Midory.java (renamed from tests/netx/jnlp_testsengine/net/sourceforge/jnlp/browsertesting/browsers/Midory.java) | 0 | ||||
-rw-r--r-- | tests/test-extensions/net/sourceforge/jnlp/browsertesting/browsers/MozillaFamilyLinuxBrowser.java (renamed from tests/netx/jnlp_testsengine/net/sourceforge/jnlp/browsertesting/browsers/MozillaFamilyLinuxBrowser.java) | 0 | ||||
-rw-r--r-- | tests/test-extensions/net/sourceforge/jnlp/browsertesting/browsers/Opera.java (renamed from tests/netx/jnlp_testsengine/net/sourceforge/jnlp/browsertesting/browsers/Opera.java) | 0 |
213 files changed, 2651 insertions, 1772 deletions
diff --git a/tests/netx/jnlp_testsengine/net/sourceforge/jnlp/ContentReaderListener.java b/tests/netx/jnlp_testsengine/net/sourceforge/jnlp/ContentReaderListener.java deleted file mode 100644 index 9981a31..0000000 --- a/tests/netx/jnlp_testsengine/net/sourceforge/jnlp/ContentReaderListener.java +++ /dev/null @@ -1,8 +0,0 @@ -package net.sourceforge.jnlp; - -public interface ContentReaderListener { - - public void charReaded(char ch); - public void lineReaded(String s); - -} diff --git a/tests/netx/jnlp_testsengine/net/sourceforge/jnlp/ServerAccess.java b/tests/netx/jnlp_testsengine/net/sourceforge/jnlp/ServerAccess.java deleted file mode 100644 index af16a63..0000000 --- a/tests/netx/jnlp_testsengine/net/sourceforge/jnlp/ServerAccess.java +++ /dev/null @@ -1,1764 +0,0 @@ -/* ServerAccess.java -Copyright (C) 2011 Red Hat, Inc. - -This file is part of IcedTea. - -IcedTea is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License as published by -the Free Software Foundation, version 2. - -IcedTea is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with IcedTea; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. - */ -package net.sourceforge.jnlp; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.ByteArrayOutputStream; -import java.io.DataOutputStream; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.OutputStream; -import java.io.OutputStreamWriter; -import java.io.PrintWriter; -import java.io.Reader; -import java.io.StringWriter; -import java.io.Writer; -import java.lang.reflect.Method; -import java.net.HttpURLConnection; -import java.net.MalformedURLException; -import java.net.ServerSocket; -import java.net.Socket; -import java.net.SocketException; -import java.net.URL; -import java.net.URLDecoder; -import java.util.ArrayList; -import java.util.Date; -import java.util.HashMap; -import java.util.HashSet; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; -import java.util.Set; -import java.util.StringTokenizer; -import net.sourceforge.jnlp.annotations.TestInBrowsers; -import net.sourceforge.jnlp.browsertesting.Browser; -import net.sourceforge.jnlp.browsertesting.BrowserFactory; -import net.sourceforge.jnlp.browsertesting.BrowserTest; -import net.sourceforge.jnlp.browsertesting.Browsers; -import org.junit.Assert; -import org.junit.Test; - -/** - * - * This class provides access to virtual server and stuff around. - * It can find unoccupied port, start server, provides its singleton instantiation, lunch parallel instantiations, - * read location of installed (tested javaws) see javaws.build.bin java property, - * location of server www root on file system (see test.server.dir java property), - * stubs for lunching javaws and for locating resources and read resources. - * - * It can also execute processes with timeout (@see PROCESS_TIMEOUT) (used during lunching javaws) - * Some protected apis are exported because public classes in this package are put to be tested by makefile. - * - * There are included test cases which show some basic usages. - * - * - */ -public class ServerAccess { - - public static final long NANO_TIME_DELIMITER=1000000l; - /** - * java property which value containing path to default (makefile by) directory with deployed resources - */ - public static final String TEST_SERVER_DIR = "test.server.dir"; - /** - * java property which value containing path to installed (makefile by) javaws binary - */ - public static final String JAVAWS_BUILD_BIN = "javaws.build.bin"; - /** property to set the different then default browser - */ - public static final String USED_BROWSERS = "used.browsers"; - public static final String DEFAULT_LOCALHOST_NAME = "localhost"; - /** - * server instance singleton - */ - private static ServerLauncher server; - /** - * inner version of engine - */ - private static final String version = "4"; - /** - * timeout to read 'remote' resources - * This can be changed in runtime, but will affect all following tasks - */ - public static int READ_TIMEOUT = 1000; - /** - * timeout in ms to let process to finish, before assassin will kill it. - * This can be changed in runtime, but will affect all following tasks - */ - public static long PROCESS_TIMEOUT = 20 * 1000;//ms - /** - * all terminated processes are stored here. As wee need to 'wait' to termination to be finished. - */ - private static Set<Thread> terminated = new HashSet<Thread>(); - /** - * this flag is indicating whether output of executeProcess should be logged. By default true. - */ - public static boolean PROCESS_LOG = true; - public static boolean LOGS_REPRINT = false; - - private Browser currentBrowser; - /** - * This is static copy of name of id of currentBrowser for logging purposes - */ - private static String loggedBrowser=Browsers.none.toString(); - public static final String UNSET_BROWSER="unset_browser"; - - /** - * map of classes, each have map of methods, each have errorlist, outLIst, and allList (allist contains also not std or err messages) - * class.testMethod.logs - */ - private static final Map<String, Map<String, TestsLogs>> processLogs = new HashMap<String, Map<String, TestsLogs>>(100); - private static final File DEFAULT_LOG_FILE = new File("ServerAccess-logs.xml"); - private static final File DEFAULT_STDERR_FILE = new File("stderr.log"); - private static final File DEFAULT_STDOUT_FILE = new File("stdout.log"); - private static final File DEFAULT_STDLOGS_FILE = new File("all.log"); - private static BufferedWriter DEFAULT_STDERR_WRITER; - private static BufferedWriter DEFAULT_STDOUT_WRITER; - private static BufferedWriter DEFAULT_STDLOGS_WRITER; - - static{ - try{ - DEFAULT_STDOUT_WRITER=new BufferedWriter(new OutputStreamWriter(new FileOutputStream(DEFAULT_STDOUT_FILE))); - DEFAULT_STDERR_WRITER=new BufferedWriter(new OutputStreamWriter(new FileOutputStream(DEFAULT_STDERR_FILE))); - DEFAULT_STDLOGS_WRITER=new BufferedWriter(new OutputStreamWriter(new FileOutputStream(DEFAULT_STDLOGS_FILE))); - }catch(Throwable t){ - t.printStackTrace(); - } - } - private static final String LOGS_ELEMENT = "logs"; - private static final String CLASSLOG_ELEMENT = "classlog"; - private static final String CLASSNAME_ATTRIBUTE = "className"; - private static final String TESTLOG_ELEMENT = "testLog"; - private static final String TESTMETHOD_ATTRIBUTE = "testMethod"; - private static final String FULLID_ATTRIBUTE = "fullId"; - private static final String LOG_ELEMENT = "log"; - private static final String LOG_ID_ATTRIBUTE = "id"; - private static final String ITEM_ELEMENT = "item"; - private static final String ITEM_ID_ATTRIBUTE = "id"; - private static final String STAMP_ELEMENT = "stamp"; - private static final String TEXT_ELEMENT = "text"; - private static final String FULLTRACE_ELEMENT = "fulltrace"; - - private static void writeXmlLog() throws FileNotFoundException, IOException { - writeXmlLog(DEFAULT_LOG_FILE); - } - - private static void writeXmlLog(File f) throws FileNotFoundException, IOException { - Writer w = new OutputStreamWriter(new FileOutputStream(f)); - Set<Entry<String, Map<String, TestsLogs>>> classes = processLogs.entrySet(); - w.write("<" + LOGS_ELEMENT + ">"); - for (Entry<String, Map<String, TestsLogs>> classLog : classes) { - String className = classLog.getKey(); - w.write("<" + CLASSLOG_ELEMENT + " " + CLASSNAME_ATTRIBUTE + "=\"" + className + "\">"); - Set<Entry<String, TestsLogs>> testsLogs = classLog.getValue().entrySet(); - for (Entry<String, TestsLogs> testLog : testsLogs) { - String testName = testLog.getKey(); - String testLogs = testLog.getValue().toString(); - w.write("<" + TESTLOG_ELEMENT + " " + TESTMETHOD_ATTRIBUTE + "=\"" + testName + "\" " + FULLID_ATTRIBUTE + "=\"" + className + "." + testName + "\" >"); - w.write(testLogs); - w.write("</" + TESTLOG_ELEMENT + ">"); - } - w.write("</" + CLASSLOG_ELEMENT + ">"); - } - w.write("</" + LOGS_ELEMENT + ">"); - w.flush(); - w.close(); - } - - private static void addToXmlLog(String message, boolean printToOut, boolean printToErr, StackTraceElement ste) { - Map<String, TestsLogs> classLog = processLogs.get(ste.getClassName()); - if (classLog == null) { - classLog = new HashMap<String, TestsLogs>(50); - processLogs.put(ste.getClassName(), classLog); - } - String methodBrowseredName = ste.getMethodName(); - methodBrowseredName = modifyMethodWithForBrowser(methodBrowseredName,ste.getClassName()); - TestsLogs methodLog = classLog.get(methodBrowseredName); - if (methodLog == null) { - methodLog = new TestsLogs(); - classLog.put(methodBrowseredName, methodLog); - } - methodLog.add(printToErr, printToOut, message); - } - - private static String modifyMethodWithForBrowser(String methodBrowseredName, String className) { - try { - Class clazz = Class.forName(className); - /* - * By using this isAssignable to ensure corect class before invocation, - * then we lost possibility to track manualy set browsers, but it is correct, - * as method description is set only when annotation is used - */ - if (clazz != null && BrowserTest.class.isAssignableFrom(clazz)){ - Method testMethod = clazz.getMethod(methodBrowseredName); - if (testMethod != null) { - TestInBrowsers tib = testMethod.getAnnotation(TestInBrowsers.class); - if (tib != null) { - methodBrowseredName = methodBrowseredName + " - " + loggedBrowser; - } - } - } - } catch (Throwable ex) { - ex.printStackTrace(); - } - return methodBrowseredName; - } - - private static class TestsLogs { - - public final List<LogItem> outs = new LinkedList<LogItem>(); - public final List<LogItem> errs = new LinkedList<LogItem>(); - public final List<LogItem> all = new LinkedList<LogItem>(); - private static boolean added = false; - - public synchronized void add(boolean err, boolean out, String text) { - if (text == null) { - text = "null"; - } - LogItem li = new LogItem(text); - if (out) { - outs.add(li); - } - if (err) { - errs.add(li); - } - all.add(li); - if (!added) { - Runtime.getRuntime().addShutdownHook(new Thread() { - - @Override - public void run() { - try { - writeXmlLog(); - } catch (Exception ex) { - ex.printStackTrace(); - } - } - }); - added = true; - } - } - - @Override - public String toString() { - StringBuilder sb = listToStringBuilder(outs, "out"); - sb.append(listToStringBuilder(errs, "err")); - sb.append(listToStringBuilder(all, "all")); - return sb.toString(); - } - - private StringBuilder listToStringBuilder(List<LogItem> l, String id) { - StringBuilder sb = new StringBuilder(); - sb.append("<" + LOG_ELEMENT + " " + LOG_ID_ATTRIBUTE + "=\"").append(id).append("\">\n"); - int i = 0; - for (LogItem logItem : l) { - i++; - sb.append(logItem.toStringBuilder(i)); - } - sb.append("</" + LOG_ELEMENT + ">\n"); - return sb; - } - }; - - private static class LogItem { - - public final Date timeStamp = new Date(); - public final StackTraceElement[] fullTrace = Thread.currentThread().getStackTrace(); - public final String text; - - public LogItem(String text) { - this.text = text; - } - - public StringBuilder toStringBuilder(int id) { - StringBuilder sb = new StringBuilder(); - sb.append(" <" + ITEM_ELEMENT + " " + ITEM_ID_ATTRIBUTE + "=\"").append(id).append("\">\n"); - sb.append(" <" + STAMP_ELEMENT + "><![CDATA[").append(timeStamp.toString()).append("]]></" + STAMP_ELEMENT + ">\n"); - sb.append(" <" + TEXT_ELEMENT + "><![CDATA[\n").append(text).append("\n]]></" + TEXT_ELEMENT + ">\n"); - sb.append(" <" + FULLTRACE_ELEMENT + "><![CDATA[\n"); - //five methods since call in log methods + getStacktrace method - for (int i = 6; i < fullTrace.length; i++) { - sb.append(fullTrace[i].toString()).append("\n"); - } - sb.append("\n]]> </" + FULLTRACE_ELEMENT + ">\n"); - sb.append(" </" + ITEM_ELEMENT + ">\n"); - return sb; - } - } - /** - * main method of this class prints out random free port - * or runs server - * param "port" prints out the port - * nothing or number will run server on random(or on number specified) - * port in -Dtest.server.dir - */ - public static void main(String[] args) throws Exception { - if (args.length > 0 && args[0].equalsIgnoreCase("port")) { - int i = findFreePort(); - System.out.println(i); - System.exit(0); - } else { - int port = 44321; - if (args.length > 0) { - port=new Integer(args[0]); - } - getIndependentInstance(port); - while (true) { - Thread.sleep(1000); - } - - } - } - - /** - * utility method to find random free port - * - * @return - found random free port - * @throws IOException - if socket can't be opened or no free port exists - */ - public static int findFreePort() - throws IOException { - ServerSocket findPortTestingSocket = new ServerSocket(0); - int port = findPortTestingSocket.getLocalPort(); - findPortTestingSocket.close(); - return port; - } - public static final String HEADLES_OPTION="-headless"; - - /** - * we would like to have an singleton instance ASAP - */ - public ServerAccess() { - - getInstance(); - - - } - - /** - * - * @return cached instance. If none, then creates new - */ - public static ServerLauncher getInstance() { - if (server == null) { - server = getIndependentInstance(); - } - return server; - } - - /** - * - * @return new not cached iserver instance on random port, - * useful for testing application loading from different url then base - */ - public static ServerLauncher getIndependentInstance() { - return getIndependentInstance(true); - } - public static ServerLauncher getIndependentInstance(boolean daemon) { - String dir = (System.getProperty(TEST_SERVER_DIR)); - try{ - return getIndependentInstance(dir, findFreePort(),daemon); - }catch (Exception ex){ - throw new RuntimeException(ex); - } - } - - - /** - * - * @return new not cached iserver instance on random port, - * useful for testing application loading from different url then base - */ - - public static ServerLauncher getIndependentInstance(int port) { - return getIndependentInstance(port, true); - } - public static ServerLauncher getIndependentInstance(int port,boolean daemon) { - String dir = (System.getProperty(TEST_SERVER_DIR)); - return getIndependentInstance(dir,port,daemon); - } - - /** - * - * @return new not cached iserver instance on random port upon custom www root directory, - * useful for testing application loading from different url then base - */ - - public static ServerLauncher getIndependentInstance(String dir, int port) { - return getIndependentInstance(dir, port, true); - } - public static ServerLauncher getIndependentInstance(String dir, int port,boolean daemon) { - - - if (dir == null || dir.trim().length() == 0 || !new File(dir).exists() || !new File(dir).isDirectory()) { - throw new RuntimeException("test.server.dir property must be set to valid directory!"); - } - try { - ServerLauncher lServerLuncher = new ServerLauncher(port, new File(dir)); - Thread r=new Thread(lServerLuncher); - r.setDaemon(daemon); - r.start(); - return lServerLuncher; - } catch (Exception ex) { - throw new RuntimeException(ex); - } - - } - - /** - * - * @return - value passed inside as javaws binary location. See JAVAWS_BUILD_BIN - */ - public String getJavawsLocation() { - return System.getProperty(JAVAWS_BUILD_BIN); - } - - /** - * - * @return - bianry from where to lunch current browser - */ - public String getBrowserLocation() { - if (this.currentBrowser==null) return UNSET_BROWSER; - return this.currentBrowser.getBin(); - } - - public List<String> getBrowserParams() { - if (this.currentBrowser==null) return null; - List<String> l1=this.currentBrowser.getComaptibilitySwitches(); - List<String> l2=this.currentBrowser.getDefaultSwitches(); - List<String> l= new ArrayList(); - if (l1!=null)l.addAll(l1); - if (l2!=null)l.addAll(l2); - return l; - - } - - public Browsers getCurrentBrowsers() { - if (currentBrowser==null) return null; - return currentBrowser.getID(); - } - public Browser getCurrentBrowser() { - return currentBrowser; - } - - public void setCurrentBrowser(Browsers currentBrowser) { - this.currentBrowser = BrowserFactory.getFactory().getBrowser(currentBrowser); - if (this.currentBrowser == null) { - loggedBrowser = UNSET_BROWSER; - } else { - loggedBrowser = this.currentBrowser.getID().toString(); - } - } - - public void setCurrentBrowser(Browser currentBrowser) { - this.currentBrowser = currentBrowser; - if (this.currentBrowser == null) { - loggedBrowser = UNSET_BROWSER; - } else { - loggedBrowser = this.currentBrowser.getID().toString(); - } - } - - - - /** - * - * @return - value passed inside as javaws binary location as file. See JAVAWS_BUILD_BIN - */ - public File getJavawsFile() { - return new File(System.getProperty(JAVAWS_BUILD_BIN)); - } - - @Test - public void testsProcessResultFiltering() throws Exception { - ProcessResult pn = new ProcessResult(null, null, null, true, 0, null); - Assert.assertNull(pn.notFilteredStdout); - Assert.assertNull(pn.stdout); - Assert.assertNull(pn.stderr); - String fakeOut2 = - "EMMA: processing instrumentation path ...\n" - + "EMMA: package [net.sourceforge.filebrowser] contains classes [ArrayOfString] without full debug info\n" - + "EMMA: instrumentation path processed in 1407 ms\n" - + "test stage 1\n" - + "test stage 2\n" - + "EMMA: The intruder!\n" - + "test stage 3\n" - + "EMMA: [45 class(es) instrumented, 13 resource(s) copied]\n" - + "EMMA: metadata merged into [icedtea-web/inc] {in 105 ms}\n" - + "EMMA: processing instrumentation path ..."; - String filteredOut2 = - "test stage 1\n" - + "test stage 2\n" - + "test stage 3\n"; - ProcessResult p2 = new ProcessResult(fakeOut2, fakeOut2, null, true, 0, null); - Assert.assertEquals(p2.notFilteredStdout, fakeOut2); - Assert.assertEquals(p2.stdout, filteredOut2); - Assert.assertEquals(p2.stderr, fakeOut2); - fakeOut2+="\n"; - p2 = new ProcessResult(fakeOut2, fakeOut2, null, true, 0, null); - Assert.assertEquals(p2.notFilteredStdout, fakeOut2); - Assert.assertEquals(p2.stdout, filteredOut2); - Assert.assertEquals(p2.stderr, fakeOut2); - String fakeOut = - "test string\n" - + "EMMA: processing instrumentation path ...\n" - + "EMMA: package [net.sourceforge.filebrowser] contains classes [ArrayOfString] without full debug info\n" - + "EMMA: instrumentation path processed in 1407 ms\n" - + "test stage 1\n" - + "test stage 2\n" - + "test stage 3\n" - + "EMMA: [45 class(es) instrumented, 13 resource(s) copied]\n" - + "EMMA: metadata merged into [icedtea-web/inc] {in 105 ms}\n" - + "EMMA: processing instrumentation path ...\n" - + "test ends"; - String filteredOut = - "test string\n" - + "test stage 1\n" - + "test stage 2\n" - + "test stage 3\n" - + "test ends"; - ProcessResult p = new ProcessResult(fakeOut, fakeOut, null, true, 0, null); - Assert.assertEquals(p.notFilteredStdout, fakeOut); - Assert.assertEquals(p.stdout, filteredOut); - Assert.assertEquals(p.stderr, fakeOut); - fakeOut+="\n"; - filteredOut+="\n"; - p = new ProcessResult(fakeOut, fakeOut, null, true, 0, null); - Assert.assertEquals(p.notFilteredStdout, fakeOut); - Assert.assertEquals(p.stdout, filteredOut); - Assert.assertEquals(p.stderr, fakeOut); - } - - @Test - public void ensureJavaws() throws Exception { - String javawsValue = getJavawsLocation(); - Assert.assertNotNull(javawsValue); - Assert.assertTrue(javawsValue.trim().length() > 2); - File javawsFile = getJavawsFile(); - Assert.assertTrue(javawsFile.exists()); - Assert.assertFalse(javawsFile.isDirectory()); - } - - @Test - public void ensureServer() throws Exception { - - Assert.assertNotNull(server.getPort()); - Assert.assertNotNull(server.getDir()); - Assert.assertTrue(server.getPort() > 999); - Assert.assertTrue(server.getDir().toString().trim().length() > 2); - - Assert.assertTrue(server.getDir().exists()); - Assert.assertTrue(server.getDir().isDirectory()); - - File portFile = new File(server.getDir(), "server.port"); - File dirFile = new File(server.getDir(), "server.dir"); - - saveFile(server.getDir().getAbsolutePath(), dirFile); - saveFile(server.getPort().toString(), portFile); - saveFile(server.getPort().toString(), portFile); - - Assert.assertTrue(portFile.exists()); - Assert.assertTrue(dirFile.exists()); - Assert.assertTrue(server.getDir().listFiles().length > 1); - - String portFileContent = getContentOfStream(new FileInputStream(portFile)); - String dirFileContent = getContentOfStream(new FileInputStream(dirFile)); - - URL portUrl = new URL("http", "localhost", server.getPort(), "/server.port"); - URL dirUrl = new URL("http", "localhost", server.getPort(), "/server.dir"); - - String portUrlContent = getContentOfStream(portUrl.openConnection().getInputStream()); - String dirUrlContent = getContentOfStream(dirUrl.openConnection().getInputStream()); - - Assert.assertEquals(portUrlContent.trim(), portFileContent.trim()); - Assert.assertEquals(dirUrlContent.trim(), dirFileContent.trim()); - Assert.assertEquals(new File(dirUrlContent.trim()), server.getDir()); - Assert.assertEquals(new Integer(portUrlContent.trim()), server.getPort()); - - URL fastUrl = new URL("http", "localhost", server.getPort(), "/simpletest1.jnlp"); - URL slowUrl = new URL("http", "localhost", server.getPort(), "/XslowXsimpletest1.jnlp"); - - String fastUrlcontent = getContentOfStream(fastUrl.openConnection().getInputStream()); - String slowUrlContent = getContentOfStream(slowUrl.openConnection().getInputStream()); - Assert.assertEquals(fastUrlcontent, slowUrlContent); - - } - - /** - * - * @return port on which is running cached server. If non singleton instance is running, new is created. - */ - public int getPort() { - if (server == null) { - getInstance(); - } - //if (!server.isRunning()) throw new RuntimeException("Server mysteriously died"); - return server.getPort(); - - } - - /** - * - * @return directory upon which is running cached server. If non singleton instance is running, new is created. - */ - public File getDir() { - if (server == null) { - getInstance(); - } - // if (!server.isRunning()) throw new RuntimeException("Server mysteriously died"); - return server.getDir(); - } - - /** - * - * @return url pointing to cached server resource. If non singleton instance is running, new is created. - */ - public URL getUrl(String resource) throws MalformedURLException { - if (server == null) { - getInstance(); - } - //if (!server.isRunning()) throw new RuntimeException("Server mysteriously died"); - return server.getUrl(resource); - } - - /** - * - * @return url pointing to cached server . If non singleton instance is running, new is created. - */ - public URL getUrl() throws MalformedURLException { - return getUrl(""); - - } - - /** - * - * @return whether cached server is alive. If non singleton instance is running, new is created. - */ - public boolean isRunning() { - if (server == null) { - getInstance(); - } - //if (!server.isRunning()) throw new RuntimeException("Server mysteriously died"); - return server.isRunning(); - - } - - /** - * Return resource from cached server - * - * @param resource to be located on cached server - * @return individual bytes of resource - * @throws IOException if connection can't be established or resource does not exist - */ - public ByteArrayOutputStream getResourceAsBytes(String resource) throws IOException { - return getResourceAsBytes(getUrl(resource)); - } - - /** - * Return resource from cached server - * - * @param resource to be located on cached server - * @return string constructed from resource - * @throws IOException if connection can't be established or resource does not exist - */ - public String getResourceAsString(String resource) throws IOException { - return getResourceAsString(getUrl(resource)); - } - - /** - * utility method which can read bytes of any stream - * - * @param input stream to be read - * @return individual bytes of resource - * @throws IOException if connection can't be established or resource does not exist - */ - public static ByteArrayOutputStream getBytesFromStream(InputStream is) throws IOException { - ByteArrayOutputStream buffer = new ByteArrayOutputStream(); - int nRead; - byte[] data = new byte[16384]; - while ((nRead = is.read(data, 0, data.length)) != -1) { - buffer.write(data, 0, nRead); - } - buffer.flush(); - return buffer; - } - - /** - * utility method which can read from any stream as one long String - * - * @param input stream - * @return stream as string - * @throws IOException if connection can't be established or resource does not exist - */ - public static String getContentOfStream(InputStream is,String encoding) throws IOException { - try { - BufferedReader br = new BufferedReader(new InputStreamReader(is, encoding)); - StringBuilder sb = new StringBuilder(); - while (true) { - String s = br.readLine(); - if (s == null) { - break; - } - sb.append(s).append("\n"); - - } - return sb.toString(); - } finally { - is.close(); - } - - } - - /** - * utility method which can read from any stream as one long String - * - * @param input stream - * @return stream as string - * @throws IOException if connection can't be established or resource does not exist - */ - public static String getContentOfStream(InputStream is) throws IOException { - return getContentOfStream(is, "UTF-8"); - - } - - /** - * utility method which can read bytes of resource from any url - * - * @param resource to be located on any url - * @return individual bytes of resource - * @throws IOException if connection can't be established or resource does not exist - */ - public static ByteArrayOutputStream getResourceAsBytes(URL u) throws IOException { - HttpURLConnection connection = (HttpURLConnection) u.openConnection(); - connection = (HttpURLConnection) u.openConnection(); - connection.setRequestMethod("GET"); - connection.setDoOutput(true); - connection.setReadTimeout(READ_TIMEOUT); - connection.connect(); - return getBytesFromStream(connection.getInputStream()); - - } - - /** - * utility method which can read string of resource from any url - * - * @param resource to be located on any url - * @return resource as string - * @throws IOException if connection can't be established or resource does not exist - */ - public static String getResourceAsString(URL u) throws IOException { - HttpURLConnection connection = (HttpURLConnection) u.openConnection(); - connection = (HttpURLConnection) u.openConnection(); - connection.setRequestMethod("GET"); - connection.setDoOutput(true); - connection.setReadTimeout(READ_TIMEOUT); - connection.connect(); - return getContentOfStream(connection.getInputStream()); - } - - /** - * helping dummy method to save String as file - * - * @param content - * @param f - * @throws IOException - */ - public static void saveFile(String content, File f) throws IOException { - saveFile(content, f, "utf-8"); - } - public static void saveFile(String content, File f,String encoding) throws IOException { - Writer output = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(f),encoding)); - output.write(content); - output.flush(); - output.close(); - } - - /** - * wrapping method to executeProcess (eg: javaws -headless http://localhost:port/resource) - * will execute default javaws (@see JAVAWS_BUILD_BIN) upon default url upon cached server (@see SERVER_NAME @see getPort(), @see getInstance()) - * with parameter -headless (no gui, no asking) - * @param resource name of resource - * @return result what left after running this process - * @throws Exception - */ - public ProcessResult executeJavawsHeadless(String resource) throws Exception { - return executeJavawsHeadless(null, resource); - } - public ProcessResult executeJavawsHeadless(String resource,ContentReaderListener stdoutl,ContentReaderListener stderrl) throws Exception { - return executeJavawsHeadless(null, resource,stdoutl,stderrl); - } - - /** - * wrapping method to executeProcess (eg: javaws arg arg -headless http://localhost:port/resource) - * will execute default javaws (@see JAVAWS_BUILD_BIN) upon default url upon cached server (@see SERVER_NAME @see getPort(), @see getInstance()) - * with parameter -headless (no gui, no asking) - * @param resource name of resource - * @param otherargs other arguments to be added to headless one - * @return result what left after running this process - * @throws Exception - */ - public ProcessResult executeJavawsHeadless(List<String> otherargs, String resource) throws Exception { - return executeJavawsHeadless(otherargs, resource,null,null); - } - public ProcessResult executeJavawsHeadless(List<String> otherargs, String resource,ContentReaderListener stdoutl,ContentReaderListener stderrl) throws Exception { - if (otherargs == null) { - otherargs = new ArrayList<String>(1); - } - List<String> headlesList = new ArrayList<String>(otherargs); - headlesList.add(HEADLES_OPTION); - return executeJavaws(headlesList, resource,stdoutl,stderrl); - } - - - /** - * wrapping method to executeProcess (eg: javaws http://localhost:port/resource) - * will execute default javaws (@see JAVAWS_BUILD_BIN) upon default url upon cached server (@see SERVER_NAME @see getPort(), @see getInstance()) - * @param resource name of resource - * @return result what left after running this process - * @throws Exception - */ - public ProcessResult executeJavaws(String resource) throws Exception { - return executeJavaws(null, resource); - } - public ProcessResult executeJavaws(String resource,ContentReaderListener stdoutl,ContentReaderListener stderrl) throws Exception { - return executeJavaws(null, resource,stdoutl,stderrl); - } - public ProcessResult executeBrowser(String resource) throws Exception { - return executeBrowser(getBrowserParams(), resource); - } - public ProcessResult executeBrowser(String resource,ContentReaderListener stdoutl,ContentReaderListener stderrl) throws Exception { - return executeBrowser(getBrowserParams(), resource,stderrl,stdoutl); - } - - /** - * wrapping method to executeProcess (eg: javaws arg arg http://localhost:port/resource) - * will execute default javaws (@see JAVAWS_BUILD_BIN) upon default url upon cached server (@see SERVER_NAME @see getPort(), @see getInstance())) - * @param resource name of resource - * @param otherargs other arguments to be added - * @return result what left after running this process - * @throws Exception - */ - public ProcessResult executeJavaws(List<String> otherargs, String resource) throws Exception { - return executeProcessUponURL(getJavawsLocation(), otherargs, getUrlUponThisInstance(resource)); - } - public ProcessResult executeJavaws(List<String> otherargs, String resource,ContentReaderListener stdoutl,ContentReaderListener stderrl) throws Exception { - return executeProcessUponURL(getJavawsLocation(), otherargs, getUrlUponThisInstance(resource),stdoutl,stderrl); - } - - public ProcessResult executeBrowser(List<String> otherargs, String resource) throws Exception { - return executeProcessUponURL(getBrowserLocation(), otherargs, getUrlUponThisInstance(resource)); - } - public ProcessResult executeBrowser(List<String> otherargs, String resource,ContentReaderListener stdoutl,ContentReaderListener stderrl) throws Exception { - return executeProcessUponURL(getBrowserLocation(), otherargs, getUrlUponThisInstance(resource),stdoutl,stderrl); - } - - public ProcessResult executeBrowser(Browser b,List<String> otherargs, String resource) throws Exception { - return executeProcessUponURL(b.getBin(), otherargs, getUrlUponThisInstance(resource)); - } - public ProcessResult executeBrowser(Browser b,List<String> otherargs, String resource,ContentReaderListener stdoutl,ContentReaderListener stderrl) throws Exception { - return executeProcessUponURL(b.getBin(), otherargs, getUrlUponThisInstance(resource),stdoutl,stderrl); - } - - /** - * Ctreate resource on http, on 'localhost' on port on which this instance is running - * @param resource - * @return - * @throws MalformedURLException - */ - public URL getUrlUponThisInstance(String resource) throws MalformedURLException { - if (!resource.startsWith("/")) { - resource = "/" + resource; - } - return new URL("http", server.getServerName(), getPort(), resource); - } - - /** - * wrapping method to executeProcess (eg: javaws arg arg arg url) - * will execute default javaws (@see JAVAWS_BUILD_BIN) upon any server - * @param u url of resource upon any server - * @param javaws arguments - * @return result what left after running this process - * @throws Exception - */ - public ProcessResult executeJavawsUponUrl(List<String> otherargs, URL u) throws Exception { - return executeProcessUponURL(getJavawsLocation(), otherargs, u); - } - public ProcessResult executeJavawsUponUrl(List<String> otherargs, URL u,ContentReaderListener stdoutl,ContentReaderListener stderrl) throws Exception { - return executeProcessUponURL(getJavawsLocation(), otherargs, u,stdoutl,stderrl); - } - - /** - * wrapping utility method to executeProcess (eg: any_binary arg arg arg url) - * - * will execute any process upon url upon any server - * @param u url of resource upon any server - * @param javaws arguments - * @return result what left after running this process - * @throws Exception - */ - public static ProcessResult executeProcessUponURL(String toBeExecuted, List<String> otherargs, URL u) throws Exception { - return executeProcessUponURL(toBeExecuted, otherargs, u,null,null); - } - - public static ProcessResult executeProcessUponURL(String toBeExecuted, List<String> otherargs, URL u,ContentReaderListener stdoutl,ContentReaderListener stderrl) throws Exception { - Assert.assertNotNull(u); - Assert.assertNotNull(toBeExecuted); - Assert.assertTrue(toBeExecuted.trim().length() > 1); - if (otherargs == null) { - otherargs = new ArrayList<String>(1); - } - List<String> urledArgs = new ArrayList<String>(otherargs); - urledArgs.add(0, toBeExecuted); - urledArgs.add(u.toString()); - return executeProcess(urledArgs, stdoutl, stderrl); - } - - public static ProcessResult executeProcess(final List<String> args) throws Exception { - return executeProcess(args, null); - } - public static ProcessResult executeProcess(final List<String> args,ContentReaderListener stdoutl,ContentReaderListener stderrl) throws Exception { - return executeProcess(args, null,stdoutl,stderrl); - } - /** - * utility method to lunch process, get its stdout/stderr, its return value and to kill it if running to long (@see PROCESS_TIMEOUT) - * - * - * Small bacground: - * This method creates thread inside which exec will be executed. Then creates assassin thread with given timeout to kill the previously created thread if necessary. - * Starts assassin thread, starts process thread. Wait until process is running, then starts content readers. - * Closes input of process. - * Wait until process is running (no matter if it terminate itself (correctly or badly), or is terminated by its assassin. - * Construct result from readed stdout, stderr, process return value, assassin successfully - * - * @param args binary with args to be executed - * @param dir optional, directory where this process will run - * @return what left from process - process itself, its stdout, stderr and return value and whether it was terminated by assassin. - * @throws Exception - */ - public static ProcessResult executeProcess(final List<String> args,File dir) throws Exception { - return executeProcess(args, dir, null, null); - } - - private static String createConnectionMessage(ThreadedProcess t) { - return "Connecting " + t.getCommandLine(); - } - - /** - * Proceed message s to logging with request to reprint to System.err - * @param s - */ - public static void logErrorReprint(String s) { - log(s, false, true); - } - - /** - * Proceed message s to logging with request to reprint to System.out - * @param s - */ - public static void logOutputReprint(String s) { - log(s, true, false); - } - - /** - * Proceed message s to logging withhout request to reprint - * @param s - */ - public static void logNoReprint(String s) { - log(s, false, false); - } - - private static void log(String message, boolean printToOut, boolean printToErr) { - String idded; - StackTraceElement ste = getTestMethod(); - String fullId = ste.getClassName() + "." + ste.getMethodName(); - fullId = modifyMethodWithForBrowser(ste.getMethodName(), ste.getClassName()); - if (message.contains("\n")) { - idded = fullId + ": \n" + message + "\n" + fullId + " ---"; - } else { - idded = fullId + ": " + message; - - } - if (LOGS_REPRINT) { - if (printToOut) { - System.out.println(idded); - } - if (printToErr) { - System.err.println(idded); - } - } - try{ - if (printToOut) { - DEFAULT_STDOUT_WRITER.write(idded); - DEFAULT_STDOUT_WRITER.newLine(); - } - if (printToErr) { - DEFAULT_STDERR_WRITER.write(idded); - DEFAULT_STDERR_WRITER.newLine(); - } - DEFAULT_STDLOGS_WRITER.write(idded); - DEFAULT_STDLOGS_WRITER.newLine(); - }catch (Throwable t){ - t.printStackTrace(); - } - - addToXmlLog(message,printToOut,printToErr,ste); - } - - public static void logException(Throwable t){ - logException(t, true); - } - public static void logException(Throwable t, boolean print){ - try{ - StringWriter sw = new StringWriter(); - PrintWriter pw = new PrintWriter(sw); - t.printStackTrace(pw); - log(sw.toString(), false, print); - pw.close(); - sw.close(); - }catch(Exception ex){ - throw new RuntimeException(ex); - } - } - - private static StackTraceElement getTestMethod() { - return getTestMethod(Thread.currentThread().getStackTrace()); - } - - private static StackTraceElement getTestMethod(StackTraceElement[] stack) { - //0 is always thread - //1 is net.sourceforge.jnlp.ServerAccess - StackTraceElement result = stack[1]; - String baseClass = stack[1].getClassName(); - int i = 2; - for (; i < stack.length; i++) { - result = stack[i];//at least moving up - if(stack[i].getClassName().contains("$")){ - continue; - } - if (!baseClass.equals(stack[i].getClassName())) { - break; - } - } - //if nothing left in stack then we have been in ServerAccess already - //so the target method is the highest form it and better to return it - //rather then die to ArrayOutOfBounds - if(i >= stack.length){ - return result; - } - //now we are out of net.sourceforge.jnlp.ServerAccess - //method we need (the test) is highest from following class - baseClass = stack[i].getClassName(); - for (; i < stack.length; i++) { - if(stack[i].getClassName().contains("$")){ - continue; - } - if (!baseClass.equals(stack[i].getClassName())) { - break; - } - result = stack[i]; - } - - return result; - } - - public static ProcessResult executeProcess(final List<String> args, File dir, ContentReaderListener stdoutl, ContentReaderListener stderrl) throws Exception { - ThreadedProcess t = new ThreadedProcess(args, dir); - if (PROCESS_LOG) { - String connectionMesaage = createConnectionMessage(t); - log(connectionMesaage, true, true); - } - ProcessAssasin pa = new ProcessAssasin(t, PROCESS_TIMEOUT); - pa.start(); - t.start(); - while (t.getP() == null && t.deadlyException == null) { - Thread.sleep(100); - } - if (t.deadlyException != null) { - pa.setCanRun(false); - return new ProcessResult("", "", null, true, Integer.MIN_VALUE, t.deadlyException); - } - ContentReader crs = new ContentReader(t.getP().getInputStream(),stdoutl); - ContentReader cre = new ContentReader(t.getP().getErrorStream(),stderrl); - - OutputStream out = t.getP().getOutputStream(); - if (out != null) { - out.close(); - } - - new Thread(crs).start(); - new Thread(cre).start(); - while (t.isRunning()) { - Thread.sleep(100); - } - - while (!t.isDestoyed()) { - Thread.sleep(100); - } - pa.setCanRun(false); - // ServerAccess.logOutputReprint(t.getP().exitValue()); when process is killed, this throws exception - - ProcessResult pr=new ProcessResult(crs.getContent(), cre.getContent(), t.getP(), pa.wasTerminated(), t.getExitCode(), null); - if (PROCESS_LOG) { - log(pr.stdout, true, false); - log(pr.stderr, false, true); - } - return pr; - } - - /** - * - * wrapper around Runtime.getRuntime().exec(...) which ensures that process is run inside its own, by us controlled, thread. - * Process builder caused some unexpected and weird behavior :/ - */ - private static class ThreadedProcess extends Thread { - - Process p = null; - List<String> args; - Integer exitCode; - Boolean running; - File dir; - Throwable deadlyException = null; - /* - * before removing this "useless" variable - * check DeadLockTestTest.testDeadLockTestTerminated2 - */ - private boolean destoyed = false; - - public boolean isDestoyed() { - return destoyed; - } - - public void setDestoyed(boolean destoyed) { - this.destoyed = destoyed; - } - - public Boolean isRunning() { - return running; - } - - public Integer getExitCode() { - return exitCode; - } - - public ThreadedProcess(List<String> args) { - this.args = args; - } - public ThreadedProcess(List<String> args,File dir) { - this.args = args; - this.dir=dir; - } - - public String getCommandLine() { - String commandLine = "unknown command"; - try { - if (args != null && args.size() > 0) { - commandLine = ""; - for (String string : args) { - commandLine = commandLine + " " + string; - - } - } - } catch (Exception ex) { - ex.printStackTrace(); - } finally { - return commandLine; - } - } - - public Process getP() { - return p; - } - - @Override - public void run() { - try { - running = true; - Runtime r = Runtime.getRuntime(); - if (dir==null){ - p = r.exec(args.toArray(new String[0])); - }else{ - p = r.exec(args.toArray(new String[0]),new String[0], dir); - } - try { - exitCode = p.waitFor(); - Thread.sleep(500); //this is giving to fast done proecesses's e/o readers time to read all. I would like to know better solution :-/ - } finally { - destoyed = true; - } - } catch (Exception ex) { - if (ex instanceof InterruptedException) { - //add to the set of terminated threaded processes - deadlyException = ex; - logException(deadlyException, false); - terminated.add(this); - } else { - //happens when non-existing process is launched, is causing p null! - terminated.add(this); - deadlyException = ex; - logException(deadlyException, false); - throw new RuntimeException(ex); - } - } finally { - running = false; - } - } - } - - /** - * wrapper around tiny http server to separate lunch configurations and servers. - * to allow terminations and stuff around. - */ - public static class ServerLauncher implements Runnable { - - /** - * default url name part. - * This can be changed in runtime, but will affect all following tasks upon those server - */ - private String serverName = DEFAULT_LOCALHOST_NAME; - private boolean running; - private final Integer port; - private final File dir; - - public String getServerName() { - return serverName; - } - - public void setServerName(String serverName) { - this.serverName = serverName; - } - - public ServerLauncher(Integer port, File dir) { - this.port = port; - this.dir = dir; - System.err.println("port: " + port); - System.err.println("dir: " + dir); - } - - public boolean isRunning() { - return running; - } - - public Integer getPort() { - return port; - } - - public File getDir() { - return dir; - } - - public ServerLauncher(File dir) { - this(8181, dir); - } - - public ServerLauncher(Integer port) { - - this(port, new File(System.getProperty("user.dir"))); - } - - public ServerLauncher() { - this(8181, new File(System.getProperty("user.dir"))); - - } - - public void run() { - running = true; - try { - ServerSocket s = new ServerSocket( - port); - while (running) { - new TinyHttpdImpl(s.accept(), dir, port); - } - } catch (Exception e) { - e.printStackTrace(); - } finally { - running = false; - } - - } - - public URL getUrl(String resource) throws MalformedURLException { - return new URL("http", getServerName(), getPort(), resource); - } - - public URL getUrl() throws MalformedURLException { - return getUrl(""); - } - - /** - * based on http://www.mcwalter.org/technology/java/httpd/tiny/index.html - * Very small implementation of http return headers for our served resources - * - * When resource starts with XslowX prefix, then resouce (without XslowX) - * is returned, but its delivery is delayed - */ - private class TinyHttpdImpl extends Thread { - - Socket c; - private final File dir; - private final int port; - private boolean canRun = true; - private static final String XSX="/XslowX"; - - public void setCanRun(boolean canRun) { - this.canRun = canRun; - } - - public TinyHttpdImpl(Socket s, File f, int port) { - c = s; - this.dir = f; - this.port = port; - start(); - } - - public int getPort() { - return port; - } - - @Override - public void run() { - try { - BufferedReader i = new BufferedReader(new InputStreamReader(c.getInputStream())); - DataOutputStream o = new DataOutputStream(c.getOutputStream()); - try { - while (canRun) { - String s = i.readLine(); - if (s.length() < 1) { - break; - } - if (s.startsWith("GET")) { - StringTokenizer t = new StringTokenizer(s, " "); - t.nextToken(); - String op = t.nextToken(); - String p = op; - if (p.startsWith(XSX))p=p.replace(XSX, "/"); - logNoReprint("Getting: "+p); - p=URLDecoder.decode(p, "UTF-8"); - logNoReprint("Serving: "+p); - p = (".".concat(((p.endsWith("/")) ? p.concat( - "index.html") : p))).replace('/', File.separatorChar); - File pp = new File(dir, p); - int l = (int) pp.length(); - byte[] b = new byte[l]; - FileInputStream f = new FileInputStream(pp); - f.read(b); - String content = ""; - String ct = "Content-Type: "; - if (p.toLowerCase().endsWith(".jnlp")) { - content = ct + "application/x-java-jnlp-file\n"; - } else if (p.toLowerCase().endsWith(".html")) { - content = ct + "text/html\n"; - } else if (p.toLowerCase().endsWith(".jar")) { - content = ct + "application/x-jar\n"; - } - o.writeBytes("HTTP/1.0 200 OK\nConten" - + "t-Length:" + l + "\n" + content + "\n"); - if (op.startsWith(XSX)){ - byte[][] bb=ServerAccess.splitArray(b,10); - for (int j = 0; j < bb.length; j++) { - Thread.sleep(2000); - byte[] bs = bb[j]; - o.write(bs, 0, bs.length); - } - }else{ - o.write(b, 0, l); - } - } - } - }catch (SocketException e) { - logException(e, false); - } catch (Exception e) { - o.writeBytes("HTTP/1.0 404 ERROR\n\n\n"); - logException(e, false); - } - o.close(); - } catch (Exception e) { - logException(e, false); - } - } - } - } - - - /** - * This function splits input array to severasl pieces - * from byte[length] splitt to n pieces s is retrunrd byte[n][length/n], except - * last piece which contains length%n - * - * @param input - array to be splitted - * @param pieces - to how many pieces it should be broken - * @return inidividual pices of original array, which concatet again givs original array - */ - public static byte[][] splitArray(byte[] input, int pieces) { - int rest = input.length; - int rowLength = rest / pieces; - if (rest % pieces > 0) rowLength++; - if (pieces * rowLength >= rest + rowLength) pieces--; - int i = 0, j = 0; - byte[][] array = new byte[pieces][]; - array[0] = new byte[rowLength]; - for (byte b : input) { - if (i >= rowLength) { - i = 0; - array[++j] = new byte[Math.min(rowLength, rest)]; - } - array[j][i++] = b; - rest--; - } - return array; - } - - - @Test - public void splitArrayTest0() throws Exception { - byte[] b={1,2,3,4,5,6,7,8,9,10,11,12,13,14}; - byte[][] bb=splitArray(b, 3); - //printArrays(bb); - byte[] b1={1,2,3,4,5}; - byte[] b2={6,7,8,9,10}; - byte[] b3={11,12,13,14}; - Assert.assertEquals(3,bb.length); - Assert.assertArrayEquals(b1,bb[0]); - Assert.assertArrayEquals(b2,bb[1]); - Assert.assertArrayEquals(b3,bb[2]); - } - - @Test - public void splitArrayTest1() throws Exception { - byte[] b={1,2,3,4,5,6,7,8,9,10,11,12,13}; - byte[][] bb=splitArray(b, 3); - //printArrays(bb); - byte[] b1={1,2,3,4,5}; - byte[] b2={6,7,8,9,10}; - byte[] b3={11,12,13}; - Assert.assertEquals(3,bb.length); - Assert.assertArrayEquals(b1,bb[0]); - Assert.assertArrayEquals(b2,bb[1]); - Assert.assertArrayEquals(b3,bb[2]); - } - - @Test - public void splitArrayTest2() throws Exception { - byte[] b={1,2,3,4,5,6,7,8,9,10,11,12}; - byte[][] bb=splitArray(b, 3); - //printArrays(bb); - byte[] b1={1,2,3,4}; - byte[] b2={5,6,7,8}; - byte[] b3={9,10,11,12}; - Assert.assertEquals(3,bb.length); - Assert.assertArrayEquals(b1,bb[0]); - Assert.assertArrayEquals(b2,bb[1]); - Assert.assertArrayEquals(b3,bb[2]); - } - - private void printArrays(byte[][] bb) { - System.out.println("[][] l=" + bb.length); - for (int i = 0; i < bb.length; i++) { - byte[] bs = bb[i]; - System.out.println(i + ": l=" + bs.length); - for (int j = 0; j < bs.length; j++) { - byte c = bs[j]; - System.out.print(" " + j + ":" + c + " "); - } - System.out.println(""); - } - } - - - /** - * class which timeout any ThreadedProcess. This killing of 'thread with process' replaced not working process.destroy(). - */ - private static class ProcessAssasin extends Thread { - - long timeout; - private final ThreadedProcess p; - //false == is disabled:( - private boolean canRun = true; - private boolean wasTerminated = false; - /** - * if this is true, then process is not destroyed after timeout, but just left to its own destiny. - * Its stdout/err is no longer recorded, and it is leaking system resources until it dies by itself - * The contorl is returned to main thread with all informations recorded untill now. - * You will be able to listen to std out from listeners still - */ - private boolean skipInstedOfDesroy = false; - - /** - * - * @param p - * @param timeout - time to die in milliseconds - */ - public ProcessAssasin(ThreadedProcess p, long timeout) { - this.p = (p); - this.timeout = timeout; - - - } - - public ProcessAssasin(ThreadedProcess p, long timeout, boolean skipInstedOfDesroy) { - this.p = (p); - this.timeout = timeout; - this.skipInstedOfDesroy = skipInstedOfDesroy; - - - } - - public void setCanRun(boolean canRun) { - this.canRun = canRun; - if (p != null) { - if (p.getP() != null) { - logNoReprint("Stopping assassin for" + p.toString() + " " + p.getP().toString() + " " + p.getCommandLine() + ": "); - } else { - logNoReprint("Stopping assassin for" + p.toString() + " " + p.getCommandLine() + ": "); - } - } else { - logNoReprint("Stopping assassin for null job: "); - } - } - - public boolean isCanRun() { - return canRun; - } - - public boolean wasTerminated() { - return wasTerminated; - } - - public void setSkipInstedOfDesroy(boolean skipInstedOfDesroy) { - this.skipInstedOfDesroy = skipInstedOfDesroy; - } - - public boolean isSkipInstedOfDesroy() { - return skipInstedOfDesroy; - } - - @Override - public void run() { - - long startTime = System.nanoTime() / NANO_TIME_DELIMITER; - while (canRun) { - try { - - long time = System.nanoTime() / NANO_TIME_DELIMITER; - //ServerAccess.logOutputReprint(time - startTime); - //ServerAccess.logOutputReprint((time - startTime) > timeout); - if ((time - startTime) > timeout) { - try { - if (p != null) { - if (p.getP() != null) { - logErrorReprint("Timed out " + p.toString() + " " + p.getP().toString() + " .. killing " + p.getCommandLine() + ": "); - } else { - logErrorReprint("Timed out " + p.toString() + " " + "null .. killing " + p.getCommandLine() + ": "); - } - wasTerminated = true; - p.interrupt(); - while (!terminated.contains(p)) { - Thread.sleep(100); - } - if (p.getP() != null) { - try { - if (!skipInstedOfDesroy) { - p.getP().destroy(); - } - } catch (Throwable ex) { - if (p.deadlyException == null) { - p.deadlyException = ex; - } - ex.printStackTrace(); - } - } - if (p.getP() != null) { - logErrorReprint("Timed out " + p.toString() + " " + p.getP().toString() + " .. killed " + p.getCommandLine()); - } else { - logErrorReprint("Timed out " + p.toString() + " null .. killed " + p.getCommandLine()); - } - } else { - logErrorReprint("Timed out null job"); - } - break; - } finally { - p.setDestoyed(true); - } - - - } - Thread.sleep(100); - } catch (Exception ex) { - ex.printStackTrace(); - } - } - if (p != null) { - if (p.getP() != null) { - logNoReprint("assassin for" + p.toString() + " " + p.getP().toString() + " .. done " + p.getCommandLine() + " termination " + wasTerminated); - } else { - logNoReprint("assassin for" + p.toString() + " null .. done " + p.getCommandLine() + " termination " + wasTerminated); - } - } else { - logNoReprint("assassin for non existing job termination " + wasTerminated); - } - } - } - - /** - * artefacts what are left by finished process - */ - public static class ProcessResult { - - public final String stdout; - public final String notFilteredStdout; - public final String stderr; - public final Process process; - public final Integer returnValue; - public final boolean wasTerminated; - /* - * possible exception which caused Process not to be launched - */ - public final Throwable deadlyException; - - public ProcessResult(String stdout, String stderr, Process process, boolean wasTerminated, Integer r, Throwable deadlyException) { - this.notFilteredStdout = stdout; - if (stdout == null) { - this.stdout = null; - } else { - this.stdout = stdout.replaceAll("EMMA:.*\n?", ""); - } - this.stderr = stderr; - this.process = process; - this.wasTerminated = wasTerminated; - this.returnValue = r; - this.deadlyException = deadlyException; - } - } - - /** - * Class to read content of stdout/stderr of process, and to cooperate with its running/terminated/finished statuses. - */ - private static class ContentReader implements Runnable { - - StringBuilder sb = new StringBuilder(); - private final InputStream is; - private boolean done; - ContentReaderListener listener; - - public String getContent() { - return sb.toString(); - } - - public ContentReader(InputStream is) throws IOException { - this.is = is; - } - public ContentReader(InputStream is,ContentReaderListener l) throws IOException { - this.is = is; - this.listener=l; - } - - public void setListener(ContentReaderListener listener) { - this.listener = listener; - } - - public ContentReaderListener getListener() { - return listener; - } - - - /** - * Blocks until the copy is complete, or until the thread is interrupted - */ - public synchronized void waitUntilDone() throws InterruptedException { - boolean interrupted = false; - - // poll interrupted flag, while waiting for copy to complete - while (!(interrupted = Thread.interrupted()) && !done) { - wait(1000); - } - - if (interrupted) { - logNoReprint("Stream copier: throwing InterruptedException"); - //throw new InterruptedException(); - } - } - - @Override - public void run() { - try { - Reader br = new InputStreamReader(is, "UTF-8"); - StringBuilder line = new StringBuilder(); - while (true) { - int s = br.read(); - if (s < 0) { - if (line.length() > 0 && listener != null) { - listener.lineReaded(line.toString()); - } - break; - } - char ch = ((char) s); - sb.append(ch); - line.append(ch); - if (ch == '\n') { - if (listener != null) { - listener.lineReaded(line.toString()); - } - line = new StringBuilder(); - } - if (listener != null) { - listener.charReaded(ch); - } - - } - //do not want to bother output with terminations - //mostly compaling when assassin kill the process about StreamClosed - } catch (Exception ex) { - // logException(ex); - } finally { - try { - is.close(); - } catch (Exception ex) { - // ex.printStackTrace(); - } finally { - done = true; - } - } - - } - } -} diff --git a/tests/jnlp_tests/README b/tests/reproducers/README index a582318..a582318 100644 --- a/tests/jnlp_tests/README +++ b/tests/reproducers/README diff --git a/tests/jnlp_tests/custom/AppletFolderInArchiveTag/resources/AppletFolderInArchiveTag.html b/tests/reproducers/custom/AppletFolderInArchiveTag/resources/AppletFolderInArchiveTag.html index 88b8d99..88b8d99 100644 --- a/tests/jnlp_tests/custom/AppletFolderInArchiveTag/resources/AppletFolderInArchiveTag.html +++ b/tests/reproducers/custom/AppletFolderInArchiveTag/resources/AppletFolderInArchiveTag.html diff --git a/tests/jnlp_tests/custom/AppletFolderInArchiveTag/srcs/AppletFolderInArchiveTag.java b/tests/reproducers/custom/AppletFolderInArchiveTag/srcs/AppletFolderInArchiveTag.java index 0440500..0440500 100644 --- a/tests/jnlp_tests/custom/AppletFolderInArchiveTag/srcs/AppletFolderInArchiveTag.java +++ b/tests/reproducers/custom/AppletFolderInArchiveTag/srcs/AppletFolderInArchiveTag.java diff --git a/tests/jnlp_tests/custom/AppletFolderInArchiveTag/srcs/Makefile b/tests/reproducers/custom/AppletFolderInArchiveTag/srcs/Makefile index aa7f7fe..aa7f7fe 100644 --- a/tests/jnlp_tests/custom/AppletFolderInArchiveTag/srcs/Makefile +++ b/tests/reproducers/custom/AppletFolderInArchiveTag/srcs/Makefile diff --git a/tests/jnlp_tests/custom/AppletFolderInArchiveTag/testcases/AppletFolderInArchiveTagTests.java b/tests/reproducers/custom/AppletFolderInArchiveTag/testcases/AppletFolderInArchiveTagTests.java index 63e8d7c..63e8d7c 100644 --- a/tests/jnlp_tests/custom/AppletFolderInArchiveTag/testcases/AppletFolderInArchiveTagTests.java +++ b/tests/reproducers/custom/AppletFolderInArchiveTag/testcases/AppletFolderInArchiveTagTests.java diff --git a/tests/jnlp_tests/signed/AccessClassInPackageSigned/resources/AccessClassInPackageSignedJAVAXJNLP.jnlp b/tests/reproducers/signed/AccessClassInPackageSigned/resources/AccessClassInPackageSignedJAVAXJNLP.jnlp index d75a83b..d75a83b 100644 --- a/tests/jnlp_tests/signed/AccessClassInPackageSigned/resources/AccessClassInPackageSignedJAVAXJNLP.jnlp +++ b/tests/reproducers/signed/AccessClassInPackageSigned/resources/AccessClassInPackageSignedJAVAXJNLP.jnlp diff --git a/tests/jnlp_tests/signed/AccessClassInPackageSigned/resources/AccessClassInPackageSignedNETSF.jnlp b/tests/reproducers/signed/AccessClassInPackageSigned/resources/AccessClassInPackageSignedNETSF.jnlp index c6b066b..c6b066b 100644 --- a/tests/jnlp_tests/signed/AccessClassInPackageSigned/resources/AccessClassInPackageSignedNETSF.jnlp +++ b/tests/reproducers/signed/AccessClassInPackageSigned/resources/AccessClassInPackageSignedNETSF.jnlp diff --git a/tests/jnlp_tests/signed/AccessClassInPackageSigned/resources/AccessClassInPackageSignedSELF.jnlp b/tests/reproducers/signed/AccessClassInPackageSigned/resources/AccessClassInPackageSignedSELF.jnlp index b7d1ff5..b7d1ff5 100644 --- a/tests/jnlp_tests/signed/AccessClassInPackageSigned/resources/AccessClassInPackageSignedSELF.jnlp +++ b/tests/reproducers/signed/AccessClassInPackageSigned/resources/AccessClassInPackageSignedSELF.jnlp diff --git a/tests/jnlp_tests/signed/AccessClassInPackageSigned/resources/AccessClassInPackageSignedSUNSEC.jnlp b/tests/reproducers/signed/AccessClassInPackageSigned/resources/AccessClassInPackageSignedSUNSEC.jnlp index ae4a19e..ae4a19e 100644 --- a/tests/jnlp_tests/signed/AccessClassInPackageSigned/resources/AccessClassInPackageSignedSUNSEC.jnlp +++ b/tests/reproducers/signed/AccessClassInPackageSigned/resources/AccessClassInPackageSignedSUNSEC.jnlp diff --git a/tests/jnlp_tests/signed/AccessClassInPackageSigned/srcs/AccessClassInPackageSigned.java b/tests/reproducers/signed/AccessClassInPackageSigned/srcs/AccessClassInPackageSigned.java index 63c681d..63c681d 100644 --- a/tests/jnlp_tests/signed/AccessClassInPackageSigned/srcs/AccessClassInPackageSigned.java +++ b/tests/reproducers/signed/AccessClassInPackageSigned/srcs/AccessClassInPackageSigned.java diff --git a/tests/jnlp_tests/signed/AppletTestSigned/resources/AppletTestSigned.html b/tests/reproducers/signed/AppletTestSigned/resources/AppletTestSigned.html index 6c6ac48..6c6ac48 100644 --- a/tests/jnlp_tests/signed/AppletTestSigned/resources/AppletTestSigned.html +++ b/tests/reproducers/signed/AppletTestSigned/resources/AppletTestSigned.html diff --git a/tests/jnlp_tests/signed/AppletTestSigned/resources/AppletTestSigned.jnlp b/tests/reproducers/signed/AppletTestSigned/resources/AppletTestSigned.jnlp index 2045818..2045818 100644 --- a/tests/jnlp_tests/signed/AppletTestSigned/resources/AppletTestSigned.jnlp +++ b/tests/reproducers/signed/AppletTestSigned/resources/AppletTestSigned.jnlp diff --git a/tests/jnlp_tests/signed/AppletTestSigned/srcs/AppletTestSigned.java b/tests/reproducers/signed/AppletTestSigned/srcs/AppletTestSigned.java index 1d475a5..1d475a5 100644 --- a/tests/jnlp_tests/signed/AppletTestSigned/srcs/AppletTestSigned.java +++ b/tests/reproducers/signed/AppletTestSigned/srcs/AppletTestSigned.java diff --git a/tests/jnlp_tests/signed/AppletTestSigned/testcases/AppletTestSignedTests.java b/tests/reproducers/signed/AppletTestSigned/testcases/AppletTestSignedTests.java index d3d87ba..d3d87ba 100644 --- a/tests/jnlp_tests/signed/AppletTestSigned/testcases/AppletTestSignedTests.java +++ b/tests/reproducers/signed/AppletTestSigned/testcases/AppletTestSignedTests.java diff --git a/tests/jnlp_tests/signed/CacheReproducer/resources/CacheReproducer1.jnlp b/tests/reproducers/signed/CacheReproducer/resources/CacheReproducer1.jnlp index 87bfde4..87bfde4 100644 --- a/tests/jnlp_tests/signed/CacheReproducer/resources/CacheReproducer1.jnlp +++ b/tests/reproducers/signed/CacheReproducer/resources/CacheReproducer1.jnlp diff --git a/tests/jnlp_tests/signed/CacheReproducer/resources/CacheReproducer1_1.jnlp b/tests/reproducers/signed/CacheReproducer/resources/CacheReproducer1_1.jnlp index dba2a65..dba2a65 100644 --- a/tests/jnlp_tests/signed/CacheReproducer/resources/CacheReproducer1_1.jnlp +++ b/tests/reproducers/signed/CacheReproducer/resources/CacheReproducer1_1.jnlp diff --git a/tests/jnlp_tests/signed/CacheReproducer/resources/CacheReproducer2.jnlp b/tests/reproducers/signed/CacheReproducer/resources/CacheReproducer2.jnlp index a588211..a588211 100644 --- a/tests/jnlp_tests/signed/CacheReproducer/resources/CacheReproducer2.jnlp +++ b/tests/reproducers/signed/CacheReproducer/resources/CacheReproducer2.jnlp diff --git a/tests/jnlp_tests/signed/CacheReproducer/resources/CacheReproducer2_1.jnlp b/tests/reproducers/signed/CacheReproducer/resources/CacheReproducer2_1.jnlp index 97745a7..97745a7 100644 --- a/tests/jnlp_tests/signed/CacheReproducer/resources/CacheReproducer2_1.jnlp +++ b/tests/reproducers/signed/CacheReproducer/resources/CacheReproducer2_1.jnlp diff --git a/tests/jnlp_tests/signed/CacheReproducer/srcs/CacheReproducer.java b/tests/reproducers/signed/CacheReproducer/srcs/CacheReproducer.java index e0813fa..e0813fa 100644 --- a/tests/jnlp_tests/signed/CacheReproducer/srcs/CacheReproducer.java +++ b/tests/reproducers/signed/CacheReproducer/srcs/CacheReproducer.java diff --git a/tests/jnlp_tests/signed/CacheReproducer/testcases/CacheReproducerTest.java b/tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java index a8a2859..a8a2859 100644 --- a/tests/jnlp_tests/signed/CacheReproducer/testcases/CacheReproducerTest.java +++ b/tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java diff --git a/tests/jnlp_tests/signed/InternalClassloaderWithDownloadedResource/resources/InternalClassloaderWithDownloadedResource-applet-hack.jnlp b/tests/reproducers/signed/InternalClassloaderWithDownloadedResource/resources/InternalClassloaderWithDownloadedResource-applet-hack.jnlp index 44d9025..44d9025 100644 --- a/tests/jnlp_tests/signed/InternalClassloaderWithDownloadedResource/resources/InternalClassloaderWithDownloadedResource-applet-hack.jnlp +++ b/tests/reproducers/signed/InternalClassloaderWithDownloadedResource/resources/InternalClassloaderWithDownloadedResource-applet-hack.jnlp diff --git a/tests/jnlp_tests/signed/InternalClassloaderWithDownloadedResource/resources/InternalClassloaderWithDownloadedResource-applet-new.jnlp b/tests/reproducers/signed/InternalClassloaderWithDownloadedResource/resources/InternalClassloaderWithDownloadedResource-applet-new.jnlp index 882461c..882461c 100644 --- a/tests/jnlp_tests/signed/InternalClassloaderWithDownloadedResource/resources/InternalClassloaderWithDownloadedResource-applet-new.jnlp +++ b/tests/reproducers/signed/InternalClassloaderWithDownloadedResource/resources/InternalClassloaderWithDownloadedResource-applet-new.jnlp diff --git a/tests/jnlp_tests/signed/InternalClassloaderWithDownloadedResource/resources/InternalClassloaderWithDownloadedResource-hack.html b/tests/reproducers/signed/InternalClassloaderWithDownloadedResource/resources/InternalClassloaderWithDownloadedResource-hack.html index 7373bbd..7373bbd 100644 --- a/tests/jnlp_tests/signed/InternalClassloaderWithDownloadedResource/resources/InternalClassloaderWithDownloadedResource-hack.html +++ b/tests/reproducers/signed/InternalClassloaderWithDownloadedResource/resources/InternalClassloaderWithDownloadedResource-hack.html diff --git a/tests/jnlp_tests/signed/InternalClassloaderWithDownloadedResource/resources/InternalClassloaderWithDownloadedResource-hack.jnlp b/tests/reproducers/signed/InternalClassloaderWithDownloadedResource/resources/InternalClassloaderWithDownloadedResource-hack.jnlp index 911cc81..911cc81 100644 --- a/tests/jnlp_tests/signed/InternalClassloaderWithDownloadedResource/resources/InternalClassloaderWithDownloadedResource-hack.jnlp +++ b/tests/reproducers/signed/InternalClassloaderWithDownloadedResource/resources/InternalClassloaderWithDownloadedResource-hack.jnlp diff --git a/tests/jnlp_tests/signed/InternalClassloaderWithDownloadedResource/resources/InternalClassloaderWithDownloadedResource-new.html b/tests/reproducers/signed/InternalClassloaderWithDownloadedResource/resources/InternalClassloaderWithDownloadedResource-new.html index 4d0c401..4d0c401 100644 --- a/tests/jnlp_tests/signed/InternalClassloaderWithDownloadedResource/resources/InternalClassloaderWithDownloadedResource-new.html +++ b/tests/reproducers/signed/InternalClassloaderWithDownloadedResource/resources/InternalClassloaderWithDownloadedResource-new.html diff --git a/tests/jnlp_tests/signed/InternalClassloaderWithDownloadedResource/resources/InternalClassloaderWithDownloadedResource-new.jnlp b/tests/reproducers/signed/InternalClassloaderWithDownloadedResource/resources/InternalClassloaderWithDownloadedResource-new.jnlp index 5a3050e..5a3050e 100644 --- a/tests/jnlp_tests/signed/InternalClassloaderWithDownloadedResource/resources/InternalClassloaderWithDownloadedResource-new.jnlp +++ b/tests/reproducers/signed/InternalClassloaderWithDownloadedResource/resources/InternalClassloaderWithDownloadedResource-new.jnlp diff --git a/tests/jnlp_tests/signed/InternalClassloaderWithDownloadedResource/srcs/InternalClassloaderWithDownloadedResource.java b/tests/reproducers/signed/InternalClassloaderWithDownloadedResource/srcs/InternalClassloaderWithDownloadedResource.java index 96cfcdf..96cfcdf 100644 --- a/tests/jnlp_tests/signed/InternalClassloaderWithDownloadedResource/srcs/InternalClassloaderWithDownloadedResource.java +++ b/tests/reproducers/signed/InternalClassloaderWithDownloadedResource/srcs/InternalClassloaderWithDownloadedResource.java diff --git a/tests/jnlp_tests/signed/InternalClassloaderWithDownloadedResource/testcases/InternalClassloaderWithDownloadedResourceTest.java b/tests/reproducers/signed/InternalClassloaderWithDownloadedResource/testcases/InternalClassloaderWithDownloadedResourceTest.java index 54cb203..54cb203 100644 --- a/tests/jnlp_tests/signed/InternalClassloaderWithDownloadedResource/testcases/InternalClassloaderWithDownloadedResourceTest.java +++ b/tests/reproducers/signed/InternalClassloaderWithDownloadedResource/testcases/InternalClassloaderWithDownloadedResourceTest.java diff --git a/tests/jnlp_tests/signed/MissingJar/resources/MissingJar.jnlp b/tests/reproducers/signed/MissingJar/resources/MissingJar.jnlp index ed761ca..ed761ca 100644 --- a/tests/jnlp_tests/signed/MissingJar/resources/MissingJar.jnlp +++ b/tests/reproducers/signed/MissingJar/resources/MissingJar.jnlp diff --git a/tests/jnlp_tests/signed/MissingJar/resources/MissingJar2.jnlp b/tests/reproducers/signed/MissingJar/resources/MissingJar2.jnlp index 4a32d78..4a32d78 100644 --- a/tests/jnlp_tests/signed/MissingJar/resources/MissingJar2.jnlp +++ b/tests/reproducers/signed/MissingJar/resources/MissingJar2.jnlp diff --git a/tests/jnlp_tests/signed/MissingJar/resources/MissingJar3.jnlp b/tests/reproducers/signed/MissingJar/resources/MissingJar3.jnlp index b2b6007..b2b6007 100644 --- a/tests/jnlp_tests/signed/MissingJar/resources/MissingJar3.jnlp +++ b/tests/reproducers/signed/MissingJar/resources/MissingJar3.jnlp diff --git a/tests/jnlp_tests/signed/MissingJar/resources/MissingJar4.jnlp b/tests/reproducers/signed/MissingJar/resources/MissingJar4.jnlp index 60a53c0..60a53c0 100644 --- a/tests/jnlp_tests/signed/MissingJar/resources/MissingJar4.jnlp +++ b/tests/reproducers/signed/MissingJar/resources/MissingJar4.jnlp diff --git a/tests/jnlp_tests/signed/MissingJar/srcs/MissingJar.java b/tests/reproducers/signed/MissingJar/srcs/MissingJar.java index a2b2794..a2b2794 100644 --- a/tests/jnlp_tests/signed/MissingJar/srcs/MissingJar.java +++ b/tests/reproducers/signed/MissingJar/srcs/MissingJar.java diff --git a/tests/jnlp_tests/signed/MissingJar/testcases/MissingJarTest.java b/tests/reproducers/signed/MissingJar/testcases/MissingJarTest.java index dc8bb77..dc8bb77 100644 --- a/tests/jnlp_tests/signed/MissingJar/testcases/MissingJarTest.java +++ b/tests/reproducers/signed/MissingJar/testcases/MissingJarTest.java diff --git a/tests/jnlp_tests/signed/ReadPropertiesBySignedHack/resources/ReadPropertiesBySignedHack.jnlp b/tests/reproducers/signed/ReadPropertiesBySignedHack/resources/ReadPropertiesBySignedHack.jnlp index f4e1223..f4e1223 100644 --- a/tests/jnlp_tests/signed/ReadPropertiesBySignedHack/resources/ReadPropertiesBySignedHack.jnlp +++ b/tests/reproducers/signed/ReadPropertiesBySignedHack/resources/ReadPropertiesBySignedHack.jnlp diff --git a/tests/jnlp_tests/signed/ReadPropertiesBySignedHack/srcs/ReadPropertiesBySignedHack.java b/tests/reproducers/signed/ReadPropertiesBySignedHack/srcs/ReadPropertiesBySignedHack.java index cea64af..cea64af 100644 --- a/tests/jnlp_tests/signed/ReadPropertiesBySignedHack/srcs/ReadPropertiesBySignedHack.java +++ b/tests/reproducers/signed/ReadPropertiesBySignedHack/srcs/ReadPropertiesBySignedHack.java diff --git a/tests/jnlp_tests/signed/ReadPropertiesBySignedHack/testcases/ReadPropertiesBySignedHackTest.java b/tests/reproducers/signed/ReadPropertiesBySignedHack/testcases/ReadPropertiesBySignedHackTest.java index 8f9455d..8f9455d 100644 --- a/tests/jnlp_tests/signed/ReadPropertiesBySignedHack/testcases/ReadPropertiesBySignedHackTest.java +++ b/tests/reproducers/signed/ReadPropertiesBySignedHack/testcases/ReadPropertiesBySignedHackTest.java diff --git a/tests/jnlp_tests/signed/ReadPropertiesSigned/resources/ReadPropertiesSigned1.jnlp b/tests/reproducers/signed/ReadPropertiesSigned/resources/ReadPropertiesSigned1.jnlp index a1adab8..a1adab8 100644 --- a/tests/jnlp_tests/signed/ReadPropertiesSigned/resources/ReadPropertiesSigned1.jnlp +++ b/tests/reproducers/signed/ReadPropertiesSigned/resources/ReadPropertiesSigned1.jnlp diff --git a/tests/jnlp_tests/signed/ReadPropertiesSigned/resources/ReadPropertiesSigned2.jnlp b/tests/reproducers/signed/ReadPropertiesSigned/resources/ReadPropertiesSigned2.jnlp index db338df..db338df 100644 --- a/tests/jnlp_tests/signed/ReadPropertiesSigned/resources/ReadPropertiesSigned2.jnlp +++ b/tests/reproducers/signed/ReadPropertiesSigned/resources/ReadPropertiesSigned2.jnlp diff --git a/tests/jnlp_tests/signed/ReadPropertiesSigned/srcs/ReadPropertiesSigned.java b/tests/reproducers/signed/ReadPropertiesSigned/srcs/ReadPropertiesSigned.java index 60f53cb..60f53cb 100644 --- a/tests/jnlp_tests/signed/ReadPropertiesSigned/srcs/ReadPropertiesSigned.java +++ b/tests/reproducers/signed/ReadPropertiesSigned/srcs/ReadPropertiesSigned.java diff --git a/tests/jnlp_tests/signed/ReadPropertiesSigned/testcases/ReadPropertiesSignedTest.java b/tests/reproducers/signed/ReadPropertiesSigned/testcases/ReadPropertiesSignedTest.java index 6b389e3..6b389e3 100644 --- a/tests/jnlp_tests/signed/ReadPropertiesSigned/testcases/ReadPropertiesSignedTest.java +++ b/tests/reproducers/signed/ReadPropertiesSigned/testcases/ReadPropertiesSignedTest.java diff --git a/tests/jnlp_tests/signed/SignedJnlpApplication/resources/SignedJnlpApplication1.jnlp b/tests/reproducers/signed/SignedJnlpApplication/resources/SignedJnlpApplication1.jnlp index 5285cd9..5285cd9 100644 --- a/tests/jnlp_tests/signed/SignedJnlpApplication/resources/SignedJnlpApplication1.jnlp +++ b/tests/reproducers/signed/SignedJnlpApplication/resources/SignedJnlpApplication1.jnlp diff --git a/tests/jnlp_tests/signed/SignedJnlpApplication/resources/SignedJnlpApplication2.jnlp b/tests/reproducers/signed/SignedJnlpApplication/resources/SignedJnlpApplication2.jnlp index a86d0c2..a86d0c2 100644 --- a/tests/jnlp_tests/signed/SignedJnlpApplication/resources/SignedJnlpApplication2.jnlp +++ b/tests/reproducers/signed/SignedJnlpApplication/resources/SignedJnlpApplication2.jnlp diff --git a/tests/jnlp_tests/signed/SignedJnlpApplication/resources/SignedJnlpApplication3.jnlp b/tests/reproducers/signed/SignedJnlpApplication/resources/SignedJnlpApplication3.jnlp index 0c7cc1f..0c7cc1f 100644 --- a/tests/jnlp_tests/signed/SignedJnlpApplication/resources/SignedJnlpApplication3.jnlp +++ b/tests/reproducers/signed/SignedJnlpApplication/resources/SignedJnlpApplication3.jnlp diff --git a/tests/jnlp_tests/signed/SignedJnlpApplication/srcs/JNLP-INF/APPLICATION.jnlp b/tests/reproducers/signed/SignedJnlpApplication/srcs/JNLP-INF/APPLICATION.jnlp index 5285cd9..5285cd9 100644 --- a/tests/jnlp_tests/signed/SignedJnlpApplication/srcs/JNLP-INF/APPLICATION.jnlp +++ b/tests/reproducers/signed/SignedJnlpApplication/srcs/JNLP-INF/APPLICATION.jnlp diff --git a/tests/jnlp_tests/signed/SignedJnlpApplication/srcs/SignedJnlpApplication.java b/tests/reproducers/signed/SignedJnlpApplication/srcs/SignedJnlpApplication.java index 1f16697..1f16697 100644 --- a/tests/jnlp_tests/signed/SignedJnlpApplication/srcs/SignedJnlpApplication.java +++ b/tests/reproducers/signed/SignedJnlpApplication/srcs/SignedJnlpApplication.java diff --git a/tests/jnlp_tests/signed/SignedJnlpApplication/testcases/SignedJnlpApplicationTest.java b/tests/reproducers/signed/SignedJnlpApplication/testcases/SignedJnlpApplicationTest.java index fb4e9ff..fb4e9ff 100644 --- a/tests/jnlp_tests/signed/SignedJnlpApplication/testcases/SignedJnlpApplicationTest.java +++ b/tests/reproducers/signed/SignedJnlpApplication/testcases/SignedJnlpApplicationTest.java diff --git a/tests/jnlp_tests/signed/SignedJnlpCaseTestOne/resources/SignedJnlpCaseTestOne1.jnlp b/tests/reproducers/signed/SignedJnlpCaseTestOne/resources/SignedJnlpCaseTestOne1.jnlp index 3a5651e..3a5651e 100644 --- a/tests/jnlp_tests/signed/SignedJnlpCaseTestOne/resources/SignedJnlpCaseTestOne1.jnlp +++ b/tests/reproducers/signed/SignedJnlpCaseTestOne/resources/SignedJnlpCaseTestOne1.jnlp diff --git a/tests/jnlp_tests/signed/SignedJnlpCaseTestOne/resources/SignedJnlpCaseTestOne2.jnlp b/tests/reproducers/signed/SignedJnlpCaseTestOne/resources/SignedJnlpCaseTestOne2.jnlp index 18c0943..18c0943 100644 --- a/tests/jnlp_tests/signed/SignedJnlpCaseTestOne/resources/SignedJnlpCaseTestOne2.jnlp +++ b/tests/reproducers/signed/SignedJnlpCaseTestOne/resources/SignedJnlpCaseTestOne2.jnlp diff --git a/tests/jnlp_tests/signed/SignedJnlpCaseTestOne/srcs/JNLP-INF/aPpLiCaTioN.jnlp b/tests/reproducers/signed/SignedJnlpCaseTestOne/srcs/JNLP-INF/aPpLiCaTioN.jnlp index 3a5651e..3a5651e 100644 --- a/tests/jnlp_tests/signed/SignedJnlpCaseTestOne/srcs/JNLP-INF/aPpLiCaTioN.jnlp +++ b/tests/reproducers/signed/SignedJnlpCaseTestOne/srcs/JNLP-INF/aPpLiCaTioN.jnlp diff --git a/tests/jnlp_tests/signed/SignedJnlpCaseTestOne/srcs/SignedJnlpCase.java b/tests/reproducers/signed/SignedJnlpCaseTestOne/srcs/SignedJnlpCase.java index 993fe6d..993fe6d 100644 --- a/tests/jnlp_tests/signed/SignedJnlpCaseTestOne/srcs/SignedJnlpCase.java +++ b/tests/reproducers/signed/SignedJnlpCaseTestOne/srcs/SignedJnlpCase.java diff --git a/tests/jnlp_tests/signed/SignedJnlpCaseTestOne/testcases/SignedJnlpCaseOneTest.java b/tests/reproducers/signed/SignedJnlpCaseTestOne/testcases/SignedJnlpCaseOneTest.java index d410790..d410790 100644 --- a/tests/jnlp_tests/signed/SignedJnlpCaseTestOne/testcases/SignedJnlpCaseOneTest.java +++ b/tests/reproducers/signed/SignedJnlpCaseTestOne/testcases/SignedJnlpCaseOneTest.java diff --git a/tests/jnlp_tests/signed/SignedJnlpCaseTestTwo/resources/SignedJnlpCaseTestTwo1.jnlp b/tests/reproducers/signed/SignedJnlpCaseTestTwo/resources/SignedJnlpCaseTestTwo1.jnlp index 23fcacb..23fcacb 100644 --- a/tests/jnlp_tests/signed/SignedJnlpCaseTestTwo/resources/SignedJnlpCaseTestTwo1.jnlp +++ b/tests/reproducers/signed/SignedJnlpCaseTestTwo/resources/SignedJnlpCaseTestTwo1.jnlp diff --git a/tests/jnlp_tests/signed/SignedJnlpCaseTestTwo/resources/SignedJnlpCaseTestTwo2.jnlp b/tests/reproducers/signed/SignedJnlpCaseTestTwo/resources/SignedJnlpCaseTestTwo2.jnlp index e97a126..e97a126 100644 --- a/tests/jnlp_tests/signed/SignedJnlpCaseTestTwo/resources/SignedJnlpCaseTestTwo2.jnlp +++ b/tests/reproducers/signed/SignedJnlpCaseTestTwo/resources/SignedJnlpCaseTestTwo2.jnlp diff --git a/tests/jnlp_tests/signed/SignedJnlpCaseTestTwo/srcs/JNLP-INF/aPpLiCaTiOn_tEmPlAte.jnlp b/tests/reproducers/signed/SignedJnlpCaseTestTwo/srcs/JNLP-INF/aPpLiCaTiOn_tEmPlAte.jnlp index ed34ac9..ed34ac9 100644 --- a/tests/jnlp_tests/signed/SignedJnlpCaseTestTwo/srcs/JNLP-INF/aPpLiCaTiOn_tEmPlAte.jnlp +++ b/tests/reproducers/signed/SignedJnlpCaseTestTwo/srcs/JNLP-INF/aPpLiCaTiOn_tEmPlAte.jnlp diff --git a/tests/jnlp_tests/signed/SignedJnlpCaseTestTwo/srcs/SignedJnlpCase.java b/tests/reproducers/signed/SignedJnlpCaseTestTwo/srcs/SignedJnlpCase.java index 993fe6d..993fe6d 100644 --- a/tests/jnlp_tests/signed/SignedJnlpCaseTestTwo/srcs/SignedJnlpCase.java +++ b/tests/reproducers/signed/SignedJnlpCaseTestTwo/srcs/SignedJnlpCase.java diff --git a/tests/jnlp_tests/signed/SignedJnlpCaseTestTwo/testcases/SignedJnlpCaseTwoTest.java b/tests/reproducers/signed/SignedJnlpCaseTestTwo/testcases/SignedJnlpCaseTwoTest.java index 2869552..2869552 100644 --- a/tests/jnlp_tests/signed/SignedJnlpCaseTestTwo/testcases/SignedJnlpCaseTwoTest.java +++ b/tests/reproducers/signed/SignedJnlpCaseTestTwo/testcases/SignedJnlpCaseTwoTest.java diff --git a/tests/jnlp_tests/signed/SignedJnlpTemplate/resources/SignedJnlpTemplate1.jnlp b/tests/reproducers/signed/SignedJnlpTemplate/resources/SignedJnlpTemplate1.jnlp index 782c465..782c465 100644 --- a/tests/jnlp_tests/signed/SignedJnlpTemplate/resources/SignedJnlpTemplate1.jnlp +++ b/tests/reproducers/signed/SignedJnlpTemplate/resources/SignedJnlpTemplate1.jnlp diff --git a/tests/jnlp_tests/signed/SignedJnlpTemplate/resources/SignedJnlpTemplate2.jnlp b/tests/reproducers/signed/SignedJnlpTemplate/resources/SignedJnlpTemplate2.jnlp index d43f834..d43f834 100644 --- a/tests/jnlp_tests/signed/SignedJnlpTemplate/resources/SignedJnlpTemplate2.jnlp +++ b/tests/reproducers/signed/SignedJnlpTemplate/resources/SignedJnlpTemplate2.jnlp diff --git a/tests/jnlp_tests/signed/SignedJnlpTemplate/resources/SignedJnlpTemplate3.jnlp b/tests/reproducers/signed/SignedJnlpTemplate/resources/SignedJnlpTemplate3.jnlp index c47a74d..c47a74d 100644 --- a/tests/jnlp_tests/signed/SignedJnlpTemplate/resources/SignedJnlpTemplate3.jnlp +++ b/tests/reproducers/signed/SignedJnlpTemplate/resources/SignedJnlpTemplate3.jnlp diff --git a/tests/jnlp_tests/signed/SignedJnlpTemplate/srcs/JNLP-INF/APPLICATION_TEMPLATE.jnlp b/tests/reproducers/signed/SignedJnlpTemplate/srcs/JNLP-INF/APPLICATION_TEMPLATE.jnlp index 8936031..8936031 100644 --- a/tests/jnlp_tests/signed/SignedJnlpTemplate/srcs/JNLP-INF/APPLICATION_TEMPLATE.jnlp +++ b/tests/reproducers/signed/SignedJnlpTemplate/srcs/JNLP-INF/APPLICATION_TEMPLATE.jnlp diff --git a/tests/jnlp_tests/signed/SignedJnlpTemplate/srcs/SignedJnlpTemplate.java b/tests/reproducers/signed/SignedJnlpTemplate/srcs/SignedJnlpTemplate.java index 9a94182..9a94182 100644 --- a/tests/jnlp_tests/signed/SignedJnlpTemplate/srcs/SignedJnlpTemplate.java +++ b/tests/reproducers/signed/SignedJnlpTemplate/srcs/SignedJnlpTemplate.java diff --git a/tests/jnlp_tests/signed/SignedJnlpTemplate/testcases/SignedJnlpTemplateTest.java b/tests/reproducers/signed/SignedJnlpTemplate/testcases/SignedJnlpTemplateTest.java index 5f2dd78..5f2dd78 100644 --- a/tests/jnlp_tests/signed/SignedJnlpTemplate/testcases/SignedJnlpTemplateTest.java +++ b/tests/reproducers/signed/SignedJnlpTemplate/testcases/SignedJnlpTemplateTest.java diff --git a/tests/jnlp_tests/signed/SimpletestSigned1/resources/SimpletestSigned1.jnlp b/tests/reproducers/signed/SimpletestSigned1/resources/SimpletestSigned1.jnlp index 177dcaa..177dcaa 100644 --- a/tests/jnlp_tests/signed/SimpletestSigned1/resources/SimpletestSigned1.jnlp +++ b/tests/reproducers/signed/SimpletestSigned1/resources/SimpletestSigned1.jnlp diff --git a/tests/jnlp_tests/signed/SimpletestSigned1/srcs/SimpletestSigned1.java b/tests/reproducers/signed/SimpletestSigned1/srcs/SimpletestSigned1.java index b0a30a9..b0a30a9 100644 --- a/tests/jnlp_tests/signed/SimpletestSigned1/srcs/SimpletestSigned1.java +++ b/tests/reproducers/signed/SimpletestSigned1/srcs/SimpletestSigned1.java diff --git a/tests/jnlp_tests/signed/Spaces can be everywhere signed/resources/NotOnly spaces can kill ěščřž too signed.jnlp b/tests/reproducers/signed/Spaces can be everywhere signed/resources/NotOnly spaces can kill ěščřž too signed.jnlp index ba5cbc3..ba5cbc3 100644 --- a/tests/jnlp_tests/signed/Spaces can be everywhere signed/resources/NotOnly spaces can kill ěščřž too signed.jnlp +++ b/tests/reproducers/signed/Spaces can be everywhere signed/resources/NotOnly spaces can kill ěščřž too signed.jnlp diff --git a/tests/jnlp_tests/signed/Spaces can be everywhere signed/resources/Spaces can be everywhere1 signed.jnlp b/tests/reproducers/signed/Spaces can be everywhere signed/resources/Spaces can be everywhere1 signed.jnlp index e73043c..e73043c 100644 --- a/tests/jnlp_tests/signed/Spaces can be everywhere signed/resources/Spaces can be everywhere1 signed.jnlp +++ b/tests/reproducers/signed/Spaces can be everywhere signed/resources/Spaces can be everywhere1 signed.jnlp diff --git a/tests/jnlp_tests/signed/Spaces can be everywhere signed/resources/Spaces can be everywhere2 signed.jnlp b/tests/reproducers/signed/Spaces can be everywhere signed/resources/Spaces can be everywhere2 signed.jnlp index 872fb8c..872fb8c 100644 --- a/tests/jnlp_tests/signed/Spaces can be everywhere signed/resources/Spaces can be everywhere2 signed.jnlp +++ b/tests/reproducers/signed/Spaces can be everywhere signed/resources/Spaces can be everywhere2 signed.jnlp diff --git a/tests/jnlp_tests/signed/Spaces can be everywhere signed/resources/SpacesCanBeEverywhere1signed.jnlp b/tests/reproducers/signed/Spaces can be everywhere signed/resources/SpacesCanBeEverywhere1signed.jnlp index 801a62b..801a62b 100644 --- a/tests/jnlp_tests/signed/Spaces can be everywhere signed/resources/SpacesCanBeEverywhere1signed.jnlp +++ b/tests/reproducers/signed/Spaces can be everywhere signed/resources/SpacesCanBeEverywhere1signed.jnlp diff --git a/tests/jnlp_tests/signed/Spaces can be everywhere signed/resources/spaces applet Tests signed.html b/tests/reproducers/signed/Spaces can be everywhere signed/resources/spaces applet Tests signed.html index 32e60b4..32e60b4 100644 --- a/tests/jnlp_tests/signed/Spaces can be everywhere signed/resources/spaces applet Tests signed.html +++ b/tests/reproducers/signed/Spaces can be everywhere signed/resources/spaces applet Tests signed.html diff --git a/tests/jnlp_tests/signed/Spaces can be everywhere signed/srcs/SpacesCanBeEverywhereSigned.java b/tests/reproducers/signed/Spaces can be everywhere signed/srcs/SpacesCanBeEverywhereSigned.java index 25d28cf..25d28cf 100644 --- a/tests/jnlp_tests/signed/Spaces can be everywhere signed/srcs/SpacesCanBeEverywhereSigned.java +++ b/tests/reproducers/signed/Spaces can be everywhere signed/srcs/SpacesCanBeEverywhereSigned.java diff --git a/tests/jnlp_tests/signed/Spaces can be everywhere signed/testcases/SpacesCanBeEverywhereTestsSigned.java b/tests/reproducers/signed/Spaces can be everywhere signed/testcases/SpacesCanBeEverywhereTestsSigned.java index f33b203..f33b203 100644 --- a/tests/jnlp_tests/signed/Spaces can be everywhere signed/testcases/SpacesCanBeEverywhereTestsSigned.java +++ b/tests/reproducers/signed/Spaces can be everywhere signed/testcases/SpacesCanBeEverywhereTestsSigned.java diff --git a/tests/jnlp_tests/simple/AccessClassInPackage/resources/AccessClassInPackageJAVAXJNLP.jnlp b/tests/reproducers/simple/AccessClassInPackage/resources/AccessClassInPackageJAVAXJNLP.jnlp index cea0a6c..cea0a6c 100644 --- a/tests/jnlp_tests/simple/AccessClassInPackage/resources/AccessClassInPackageJAVAXJNLP.jnlp +++ b/tests/reproducers/simple/AccessClassInPackage/resources/AccessClassInPackageJAVAXJNLP.jnlp diff --git a/tests/jnlp_tests/simple/AccessClassInPackage/resources/AccessClassInPackageNETSF.jnlp b/tests/reproducers/simple/AccessClassInPackage/resources/AccessClassInPackageNETSF.jnlp index f8413e6..f8413e6 100644 --- a/tests/jnlp_tests/simple/AccessClassInPackage/resources/AccessClassInPackageNETSF.jnlp +++ b/tests/reproducers/simple/AccessClassInPackage/resources/AccessClassInPackageNETSF.jnlp diff --git a/tests/jnlp_tests/simple/AccessClassInPackage/resources/AccessClassInPackageSELF.jnlp b/tests/reproducers/simple/AccessClassInPackage/resources/AccessClassInPackageSELF.jnlp index 4af8c04..4af8c04 100644 --- a/tests/jnlp_tests/simple/AccessClassInPackage/resources/AccessClassInPackageSELF.jnlp +++ b/tests/reproducers/simple/AccessClassInPackage/resources/AccessClassInPackageSELF.jnlp diff --git a/tests/jnlp_tests/simple/AccessClassInPackage/resources/AccessClassInPackageSUNSEC.jnlp b/tests/reproducers/simple/AccessClassInPackage/resources/AccessClassInPackageSUNSEC.jnlp index 8f3c06a..8f3c06a 100644 --- a/tests/jnlp_tests/simple/AccessClassInPackage/resources/AccessClassInPackageSUNSEC.jnlp +++ b/tests/reproducers/simple/AccessClassInPackage/resources/AccessClassInPackageSUNSEC.jnlp diff --git a/tests/jnlp_tests/simple/AccessClassInPackage/srcs/AccessClassInPackage.java b/tests/reproducers/simple/AccessClassInPackage/srcs/AccessClassInPackage.java index 7164006..7164006 100644 --- a/tests/jnlp_tests/simple/AccessClassInPackage/srcs/AccessClassInPackage.java +++ b/tests/reproducers/simple/AccessClassInPackage/srcs/AccessClassInPackage.java diff --git a/tests/jnlp_tests/simple/AccessClassInPackage/testcases/AccessClassInPackageTest.java b/tests/reproducers/simple/AccessClassInPackage/testcases/AccessClassInPackageTest.java index e9952ff..e9952ff 100644 --- a/tests/jnlp_tests/simple/AccessClassInPackage/testcases/AccessClassInPackageTest.java +++ b/tests/reproducers/simple/AccessClassInPackage/testcases/AccessClassInPackageTest.java diff --git a/tests/jnlp_tests/simple/AddShutdownHook/resources/AddShutdownHook.jnlp b/tests/reproducers/simple/AddShutdownHook/resources/AddShutdownHook.jnlp index 42272ff..42272ff 100644 --- a/tests/jnlp_tests/simple/AddShutdownHook/resources/AddShutdownHook.jnlp +++ b/tests/reproducers/simple/AddShutdownHook/resources/AddShutdownHook.jnlp diff --git a/tests/jnlp_tests/simple/AddShutdownHook/srcs/AddShutdownHook.java b/tests/reproducers/simple/AddShutdownHook/srcs/AddShutdownHook.java index 2b731eb..2b731eb 100644 --- a/tests/jnlp_tests/simple/AddShutdownHook/srcs/AddShutdownHook.java +++ b/tests/reproducers/simple/AddShutdownHook/srcs/AddShutdownHook.java diff --git a/tests/jnlp_tests/simple/AddShutdownHook/testcases/AddShutdownHookTest.java b/tests/reproducers/simple/AddShutdownHook/testcases/AddShutdownHookTest.java index 165276a..165276a 100644 --- a/tests/jnlp_tests/simple/AddShutdownHook/testcases/AddShutdownHookTest.java +++ b/tests/reproducers/simple/AddShutdownHook/testcases/AddShutdownHookTest.java diff --git a/tests/jnlp_tests/simple/AllStackTraces/resources/AllStackTraces.jnlp b/tests/reproducers/simple/AllStackTraces/resources/AllStackTraces.jnlp index be6b3f3..be6b3f3 100644 --- a/tests/jnlp_tests/simple/AllStackTraces/resources/AllStackTraces.jnlp +++ b/tests/reproducers/simple/AllStackTraces/resources/AllStackTraces.jnlp diff --git a/tests/jnlp_tests/simple/AllStackTraces/srcs/AllStackTraces.java b/tests/reproducers/simple/AllStackTraces/srcs/AllStackTraces.java index f871b9c..f871b9c 100644 --- a/tests/jnlp_tests/simple/AllStackTraces/srcs/AllStackTraces.java +++ b/tests/reproducers/simple/AllStackTraces/srcs/AllStackTraces.java diff --git a/tests/jnlp_tests/simple/AllStackTraces/testcases/AllStackTracesTest.java b/tests/reproducers/simple/AllStackTraces/testcases/AllStackTracesTest.java index 0372f4c..0372f4c 100644 --- a/tests/jnlp_tests/simple/AllStackTraces/testcases/AllStackTracesTest.java +++ b/tests/reproducers/simple/AllStackTraces/testcases/AllStackTracesTest.java diff --git a/tests/jnlp_tests/simple/AppletBaseURLTest/resources/AppletBaseURLTest.html b/tests/reproducers/simple/AppletBaseURLTest/resources/AppletBaseURLTest.html index 9cc0fe1..9cc0fe1 100644 --- a/tests/jnlp_tests/simple/AppletBaseURLTest/resources/AppletBaseURLTest.html +++ b/tests/reproducers/simple/AppletBaseURLTest/resources/AppletBaseURLTest.html diff --git a/tests/jnlp_tests/simple/AppletBaseURLTest/resources/AppletBaseURLTest.jnlp b/tests/reproducers/simple/AppletBaseURLTest/resources/AppletBaseURLTest.jnlp index 4902f25..4902f25 100644 --- a/tests/jnlp_tests/simple/AppletBaseURLTest/resources/AppletBaseURLTest.jnlp +++ b/tests/reproducers/simple/AppletBaseURLTest/resources/AppletBaseURLTest.jnlp diff --git a/tests/jnlp_tests/simple/AppletBaseURLTest/resources/AppletJNLPHrefBaseURLTest.html b/tests/reproducers/simple/AppletBaseURLTest/resources/AppletJNLPHrefBaseURLTest.html index 752a767..752a767 100644 --- a/tests/jnlp_tests/simple/AppletBaseURLTest/resources/AppletJNLPHrefBaseURLTest.html +++ b/tests/reproducers/simple/AppletBaseURLTest/resources/AppletJNLPHrefBaseURLTest.html diff --git a/tests/jnlp_tests/simple/AppletBaseURLTest/srcs/AppletBaseURL.java b/tests/reproducers/simple/AppletBaseURLTest/srcs/AppletBaseURL.java index 8234e3c..8234e3c 100644 --- a/tests/jnlp_tests/simple/AppletBaseURLTest/srcs/AppletBaseURL.java +++ b/tests/reproducers/simple/AppletBaseURLTest/srcs/AppletBaseURL.java diff --git a/tests/jnlp_tests/simple/AppletBaseURLTest/testcases/AppletBaseURLTest.java b/tests/reproducers/simple/AppletBaseURLTest/testcases/AppletBaseURLTest.java index ec14cfa..ec14cfa 100644 --- a/tests/jnlp_tests/simple/AppletBaseURLTest/testcases/AppletBaseURLTest.java +++ b/tests/reproducers/simple/AppletBaseURLTest/testcases/AppletBaseURLTest.java diff --git a/tests/jnlp_tests/simple/AppletReadsInvalidJar/resources/AppletReadsInvalidJar.html b/tests/reproducers/simple/AppletReadsInvalidJar/resources/AppletReadsInvalidJar.html index aed49b8..aed49b8 100644 --- a/tests/jnlp_tests/simple/AppletReadsInvalidJar/resources/AppletReadsInvalidJar.html +++ b/tests/reproducers/simple/AppletReadsInvalidJar/resources/AppletReadsInvalidJar.html diff --git a/tests/jnlp_tests/simple/AppletReadsInvalidJar/resources/AppletReadsInvalidJar.jnlp b/tests/reproducers/simple/AppletReadsInvalidJar/resources/AppletReadsInvalidJar.jnlp index 6a2325d..6a2325d 100644 --- a/tests/jnlp_tests/simple/AppletReadsInvalidJar/resources/AppletReadsInvalidJar.jnlp +++ b/tests/reproducers/simple/AppletReadsInvalidJar/resources/AppletReadsInvalidJar.jnlp diff --git a/tests/jnlp_tests/simple/AppletReadsInvalidJar/resources/NOT_A_VALID_JAR.jar b/tests/reproducers/simple/AppletReadsInvalidJar/resources/NOT_A_VALID_JAR.jar index e69de29..e69de29 100644 --- a/tests/jnlp_tests/simple/AppletReadsInvalidJar/resources/NOT_A_VALID_JAR.jar +++ b/tests/reproducers/simple/AppletReadsInvalidJar/resources/NOT_A_VALID_JAR.jar diff --git a/tests/jnlp_tests/simple/AppletReadsInvalidJar/srcs/Valid.java b/tests/reproducers/simple/AppletReadsInvalidJar/srcs/Valid.java index 9b0bcd6..9b0bcd6 100644 --- a/tests/jnlp_tests/simple/AppletReadsInvalidJar/srcs/Valid.java +++ b/tests/reproducers/simple/AppletReadsInvalidJar/srcs/Valid.java diff --git a/tests/jnlp_tests/simple/AppletReadsInvalidJar/testcases/AppletReadsInvalidJarTests.java b/tests/reproducers/simple/AppletReadsInvalidJar/testcases/AppletReadsInvalidJarTests.java index 11b0bb0..11b0bb0 100644 --- a/tests/jnlp_tests/simple/AppletReadsInvalidJar/testcases/AppletReadsInvalidJarTests.java +++ b/tests/reproducers/simple/AppletReadsInvalidJar/testcases/AppletReadsInvalidJarTests.java diff --git a/tests/jnlp_tests/simple/AppletTakesLastParam/resources/appletTakesLastParam.html b/tests/reproducers/simple/AppletTakesLastParam/resources/appletTakesLastParam.html index fcd9454..fcd9454 100644 --- a/tests/jnlp_tests/simple/AppletTakesLastParam/resources/appletTakesLastParam.html +++ b/tests/reproducers/simple/AppletTakesLastParam/resources/appletTakesLastParam.html diff --git a/tests/jnlp_tests/simple/AppletTakesLastParam/resources/appletTakesLastParam.jnlp b/tests/reproducers/simple/AppletTakesLastParam/resources/appletTakesLastParam.jnlp index 76ea69f..76ea69f 100644 --- a/tests/jnlp_tests/simple/AppletTakesLastParam/resources/appletTakesLastParam.jnlp +++ b/tests/reproducers/simple/AppletTakesLastParam/resources/appletTakesLastParam.jnlp diff --git a/tests/jnlp_tests/simple/AppletTakesLastParam/srcs/AppletTakesLastParam.java b/tests/reproducers/simple/AppletTakesLastParam/srcs/AppletTakesLastParam.java index 9d2b44d..9d2b44d 100644 --- a/tests/jnlp_tests/simple/AppletTakesLastParam/srcs/AppletTakesLastParam.java +++ b/tests/reproducers/simple/AppletTakesLastParam/srcs/AppletTakesLastParam.java diff --git a/tests/jnlp_tests/simple/AppletTakesLastParam/testcases/AppletTakesLastParamTests.java b/tests/reproducers/simple/AppletTakesLastParam/testcases/AppletTakesLastParamTests.java index 206f6de..206f6de 100644 --- a/tests/jnlp_tests/simple/AppletTakesLastParam/testcases/AppletTakesLastParamTests.java +++ b/tests/reproducers/simple/AppletTakesLastParam/testcases/AppletTakesLastParamTests.java diff --git a/tests/jnlp_tests/simple/AppletTest/resources/AppletTest.jnlp b/tests/reproducers/simple/AppletTest/resources/AppletTest.jnlp index 1b27e8f..1b27e8f 100644 --- a/tests/jnlp_tests/simple/AppletTest/resources/AppletTest.jnlp +++ b/tests/reproducers/simple/AppletTest/resources/AppletTest.jnlp diff --git a/tests/jnlp_tests/simple/AppletTest/resources/appletAutoTests.html b/tests/reproducers/simple/AppletTest/resources/appletAutoTests.html index a2613d9..a2613d9 100644 --- a/tests/jnlp_tests/simple/AppletTest/resources/appletAutoTests.html +++ b/tests/reproducers/simple/AppletTest/resources/appletAutoTests.html diff --git a/tests/jnlp_tests/simple/AppletTest/resources/appletAutoTests2.html b/tests/reproducers/simple/AppletTest/resources/appletAutoTests2.html index a5c370c..a5c370c 100644 --- a/tests/jnlp_tests/simple/AppletTest/resources/appletAutoTests2.html +++ b/tests/reproducers/simple/AppletTest/resources/appletAutoTests2.html diff --git a/tests/jnlp_tests/simple/AppletTest/resources/appletViewTest.html b/tests/reproducers/simple/AppletTest/resources/appletViewTest.html index 0b489c8..0b489c8 100644 --- a/tests/jnlp_tests/simple/AppletTest/resources/appletViewTest.html +++ b/tests/reproducers/simple/AppletTest/resources/appletViewTest.html diff --git a/tests/jnlp_tests/simple/AppletTest/srcs/AppletTest.java b/tests/reproducers/simple/AppletTest/srcs/AppletTest.java index bac629a..bac629a 100644 --- a/tests/jnlp_tests/simple/AppletTest/srcs/AppletTest.java +++ b/tests/reproducers/simple/AppletTest/srcs/AppletTest.java diff --git a/tests/jnlp_tests/simple/AppletTest/testcases/AppletTestTests.java b/tests/reproducers/simple/AppletTest/testcases/AppletTestTests.java index 9fd662d..9fd662d 100644 --- a/tests/jnlp_tests/simple/AppletTest/testcases/AppletTestTests.java +++ b/tests/reproducers/simple/AppletTest/testcases/AppletTestTests.java diff --git a/tests/jnlp_tests/simple/CheckServices/resources/CheckPluginServices.html b/tests/reproducers/simple/CheckServices/resources/CheckPluginServices.html index 0cdb0b7..0cdb0b7 100644 --- a/tests/jnlp_tests/simple/CheckServices/resources/CheckPluginServices.html +++ b/tests/reproducers/simple/CheckServices/resources/CheckPluginServices.html diff --git a/tests/jnlp_tests/simple/CheckServices/resources/CheckServices.jnlp b/tests/reproducers/simple/CheckServices/resources/CheckServices.jnlp index 22419b5..22419b5 100644 --- a/tests/jnlp_tests/simple/CheckServices/resources/CheckServices.jnlp +++ b/tests/reproducers/simple/CheckServices/resources/CheckServices.jnlp diff --git a/tests/jnlp_tests/simple/CheckServices/srcs/CheckServices.java b/tests/reproducers/simple/CheckServices/srcs/CheckServices.java index df5205a..df5205a 100644 --- a/tests/jnlp_tests/simple/CheckServices/srcs/CheckServices.java +++ b/tests/reproducers/simple/CheckServices/srcs/CheckServices.java diff --git a/tests/jnlp_tests/simple/CheckServices/testcases/CheckServicesTests.java b/tests/reproducers/simple/CheckServices/testcases/CheckServicesTests.java index a36e394..a36e394 100644 --- a/tests/jnlp_tests/simple/CheckServices/testcases/CheckServicesTests.java +++ b/tests/reproducers/simple/CheckServices/testcases/CheckServicesTests.java diff --git a/tests/jnlp_tests/simple/CreateClassLoader/resources/CreateClassLoader.jnlp b/tests/reproducers/simple/CreateClassLoader/resources/CreateClassLoader.jnlp index 6804bcd..6804bcd 100644 --- a/tests/jnlp_tests/simple/CreateClassLoader/resources/CreateClassLoader.jnlp +++ b/tests/reproducers/simple/CreateClassLoader/resources/CreateClassLoader.jnlp diff --git a/tests/jnlp_tests/simple/CreateClassLoader/srcs/CreateClassLoader.java b/tests/reproducers/simple/CreateClassLoader/srcs/CreateClassLoader.java index e33299e..e33299e 100644 --- a/tests/jnlp_tests/simple/CreateClassLoader/srcs/CreateClassLoader.java +++ b/tests/reproducers/simple/CreateClassLoader/srcs/CreateClassLoader.java diff --git a/tests/jnlp_tests/simple/CreateClassLoader/testcases/CreateClassLoaderTest.java b/tests/reproducers/simple/CreateClassLoader/testcases/CreateClassLoaderTest.java index 46b7300..46b7300 100644 --- a/tests/jnlp_tests/simple/CreateClassLoader/testcases/CreateClassLoaderTest.java +++ b/tests/reproducers/simple/CreateClassLoader/testcases/CreateClassLoaderTest.java diff --git a/tests/jnlp_tests/simple/InformationTitleVendorParser/resources/InformationParser.jnlp b/tests/reproducers/simple/InformationTitleVendorParser/resources/InformationParser.jnlp index aabd685..aabd685 100644 --- a/tests/jnlp_tests/simple/InformationTitleVendorParser/resources/InformationParser.jnlp +++ b/tests/reproducers/simple/InformationTitleVendorParser/resources/InformationParser.jnlp diff --git a/tests/jnlp_tests/simple/InformationTitleVendorParser/resources/TitleParser.jnlp b/tests/reproducers/simple/InformationTitleVendorParser/resources/TitleParser.jnlp index fad50cc..fad50cc 100644 --- a/tests/jnlp_tests/simple/InformationTitleVendorParser/resources/TitleParser.jnlp +++ b/tests/reproducers/simple/InformationTitleVendorParser/resources/TitleParser.jnlp diff --git a/tests/jnlp_tests/simple/InformationTitleVendorParser/resources/TitleVendorParser.jnlp b/tests/reproducers/simple/InformationTitleVendorParser/resources/TitleVendorParser.jnlp index f3159b9..f3159b9 100644 --- a/tests/jnlp_tests/simple/InformationTitleVendorParser/resources/TitleVendorParser.jnlp +++ b/tests/reproducers/simple/InformationTitleVendorParser/resources/TitleVendorParser.jnlp diff --git a/tests/jnlp_tests/simple/InformationTitleVendorParser/resources/VendorParser.jnlp b/tests/reproducers/simple/InformationTitleVendorParser/resources/VendorParser.jnlp index 5a76e1e..5a76e1e 100644 --- a/tests/jnlp_tests/simple/InformationTitleVendorParser/resources/VendorParser.jnlp +++ b/tests/reproducers/simple/InformationTitleVendorParser/resources/VendorParser.jnlp diff --git a/tests/jnlp_tests/simple/InformationTitleVendorParser/testcases/InformationTitleVendorParserTest.java b/tests/reproducers/simple/InformationTitleVendorParser/testcases/InformationTitleVendorParserTest.java index b760441..b760441 100644 --- a/tests/jnlp_tests/simple/InformationTitleVendorParser/testcases/InformationTitleVendorParserTest.java +++ b/tests/reproducers/simple/InformationTitleVendorParser/testcases/InformationTitleVendorParserTest.java diff --git a/tests/jnlp_tests/simple/ManifestedJar1/resources/ManifestedJar-1main2mainAppDesc.jnlp b/tests/reproducers/simple/ManifestedJar1/resources/ManifestedJar-1main2mainAppDesc.jnlp index 32e4fbb..32e4fbb 100644 --- a/tests/jnlp_tests/simple/ManifestedJar1/resources/ManifestedJar-1main2mainAppDesc.jnlp +++ b/tests/reproducers/simple/ManifestedJar1/resources/ManifestedJar-1main2mainAppDesc.jnlp diff --git a/tests/jnlp_tests/simple/ManifestedJar1/resources/ManifestedJar-1main2mainNoAppDesc.jnlp b/tests/reproducers/simple/ManifestedJar1/resources/ManifestedJar-1main2mainNoAppDesc.jnlp index 0e91484..0e91484 100644 --- a/tests/jnlp_tests/simple/ManifestedJar1/resources/ManifestedJar-1main2mainNoAppDesc.jnlp +++ b/tests/reproducers/simple/ManifestedJar1/resources/ManifestedJar-1main2mainNoAppDesc.jnlp diff --git a/tests/jnlp_tests/simple/ManifestedJar1/resources/ManifestedJar-1main2nothingNoAppDesc.jnlp b/tests/reproducers/simple/ManifestedJar1/resources/ManifestedJar-1main2nothingNoAppDesc.jnlp index ee8a3bf..ee8a3bf 100644 --- a/tests/jnlp_tests/simple/ManifestedJar1/resources/ManifestedJar-1main2nothingNoAppDesc.jnlp +++ b/tests/reproducers/simple/ManifestedJar1/resources/ManifestedJar-1main2nothingNoAppDesc.jnlp diff --git a/tests/jnlp_tests/simple/ManifestedJar1/resources/ManifestedJar-1mainHaveAppDesc.jnlp b/tests/reproducers/simple/ManifestedJar1/resources/ManifestedJar-1mainHaveAppDesc.jnlp index 5faf1e0..5faf1e0 100644 --- a/tests/jnlp_tests/simple/ManifestedJar1/resources/ManifestedJar-1mainHaveAppDesc.jnlp +++ b/tests/reproducers/simple/ManifestedJar1/resources/ManifestedJar-1mainHaveAppDesc.jnlp diff --git a/tests/jnlp_tests/simple/ManifestedJar1/resources/ManifestedJar-1mainNoAppDesc.jnlp b/tests/reproducers/simple/ManifestedJar1/resources/ManifestedJar-1mainNoAppDesc.jnlp index 1aaed4a..1aaed4a 100644 --- a/tests/jnlp_tests/simple/ManifestedJar1/resources/ManifestedJar-1mainNoAppDesc.jnlp +++ b/tests/reproducers/simple/ManifestedJar1/resources/ManifestedJar-1mainNoAppDesc.jnlp diff --git a/tests/jnlp_tests/simple/ManifestedJar1/resources/ManifestedJar-1noAppDesc.jnlp b/tests/reproducers/simple/ManifestedJar1/resources/ManifestedJar-1noAppDesc.jnlp index 4a6c7a9..4a6c7a9 100644 --- a/tests/jnlp_tests/simple/ManifestedJar1/resources/ManifestedJar-1noAppDesc.jnlp +++ b/tests/reproducers/simple/ManifestedJar1/resources/ManifestedJar-1noAppDesc.jnlp diff --git a/tests/jnlp_tests/simple/ManifestedJar1/resources/ManifestedJar-1noAppDescAtAll.jnlp b/tests/reproducers/simple/ManifestedJar1/resources/ManifestedJar-1noAppDescAtAll.jnlp index 54ed21a..54ed21a 100644 --- a/tests/jnlp_tests/simple/ManifestedJar1/resources/ManifestedJar-1noAppDescAtAll.jnlp +++ b/tests/reproducers/simple/ManifestedJar1/resources/ManifestedJar-1noAppDescAtAll.jnlp diff --git a/tests/jnlp_tests/simple/ManifestedJar1/resources/ManifestedJar-1nothing2nothingAppDesc.jnlp b/tests/reproducers/simple/ManifestedJar1/resources/ManifestedJar-1nothing2nothingAppDesc.jnlp index 2d60dcd..2d60dcd 100644 --- a/tests/jnlp_tests/simple/ManifestedJar1/resources/ManifestedJar-1nothing2nothingAppDesc.jnlp +++ b/tests/reproducers/simple/ManifestedJar1/resources/ManifestedJar-1nothing2nothingAppDesc.jnlp diff --git a/tests/jnlp_tests/simple/ManifestedJar1/resources/ManifestedJar-1nothing2nothingNoAppDesc.jnlp b/tests/reproducers/simple/ManifestedJar1/resources/ManifestedJar-1nothing2nothingNoAppDesc.jnlp index 476d34b..476d34b 100644 --- a/tests/jnlp_tests/simple/ManifestedJar1/resources/ManifestedJar-1nothing2nothingNoAppDesc.jnlp +++ b/tests/reproducers/simple/ManifestedJar1/resources/ManifestedJar-1nothing2nothingNoAppDesc.jnlp diff --git a/tests/jnlp_tests/simple/ManifestedJar1/srcs/META-INF/MANIFEST.MF b/tests/reproducers/simple/ManifestedJar1/srcs/META-INF/MANIFEST.MF index badcd09..badcd09 100644 --- a/tests/jnlp_tests/simple/ManifestedJar1/srcs/META-INF/MANIFEST.MF +++ b/tests/reproducers/simple/ManifestedJar1/srcs/META-INF/MANIFEST.MF diff --git a/tests/jnlp_tests/simple/ManifestedJar1/srcs/ManifestedJar1.java b/tests/reproducers/simple/ManifestedJar1/srcs/ManifestedJar1.java index a7cfb9b..a7cfb9b 100644 --- a/tests/jnlp_tests/simple/ManifestedJar1/srcs/ManifestedJar1.java +++ b/tests/reproducers/simple/ManifestedJar1/srcs/ManifestedJar1.java diff --git a/tests/jnlp_tests/simple/ManifestedJar1/testcases/ManifestedJar1Test.java b/tests/reproducers/simple/ManifestedJar1/testcases/ManifestedJar1Test.java index 47baa6f..47baa6f 100644 --- a/tests/jnlp_tests/simple/ManifestedJar1/testcases/ManifestedJar1Test.java +++ b/tests/reproducers/simple/ManifestedJar1/testcases/ManifestedJar1Test.java diff --git a/tests/jnlp_tests/simple/ManifestedJar2/srcs/META-INF/MANIFEST.MF b/tests/reproducers/simple/ManifestedJar2/srcs/META-INF/MANIFEST.MF index d11e8a5..d11e8a5 100644 --- a/tests/jnlp_tests/simple/ManifestedJar2/srcs/META-INF/MANIFEST.MF +++ b/tests/reproducers/simple/ManifestedJar2/srcs/META-INF/MANIFEST.MF diff --git a/tests/jnlp_tests/simple/ManifestedJar2/srcs/ManifestedJar2.java b/tests/reproducers/simple/ManifestedJar2/srcs/ManifestedJar2.java index 3682209..3682209 100644 --- a/tests/jnlp_tests/simple/ManifestedJar2/srcs/ManifestedJar2.java +++ b/tests/reproducers/simple/ManifestedJar2/srcs/ManifestedJar2.java diff --git a/tests/jnlp_tests/simple/ReadEnvironment/resources/ReadEnvironment.jnlp b/tests/reproducers/simple/ReadEnvironment/resources/ReadEnvironment.jnlp index dd3bce4..dd3bce4 100644 --- a/tests/jnlp_tests/simple/ReadEnvironment/resources/ReadEnvironment.jnlp +++ b/tests/reproducers/simple/ReadEnvironment/resources/ReadEnvironment.jnlp diff --git a/tests/jnlp_tests/simple/ReadEnvironment/srcs/ReadEnvironment.java b/tests/reproducers/simple/ReadEnvironment/srcs/ReadEnvironment.java index a426803..a426803 100644 --- a/tests/jnlp_tests/simple/ReadEnvironment/srcs/ReadEnvironment.java +++ b/tests/reproducers/simple/ReadEnvironment/srcs/ReadEnvironment.java diff --git a/tests/jnlp_tests/simple/ReadEnvironment/testcases/ReadEnvironmentTest.java b/tests/reproducers/simple/ReadEnvironment/testcases/ReadEnvironmentTest.java index 5d82da4..5d82da4 100644 --- a/tests/jnlp_tests/simple/ReadEnvironment/testcases/ReadEnvironmentTest.java +++ b/tests/reproducers/simple/ReadEnvironment/testcases/ReadEnvironmentTest.java diff --git a/tests/jnlp_tests/simple/ReadProperties/resources/ReadProperties1.jnlp b/tests/reproducers/simple/ReadProperties/resources/ReadProperties1.jnlp index 54873c2..54873c2 100644 --- a/tests/jnlp_tests/simple/ReadProperties/resources/ReadProperties1.jnlp +++ b/tests/reproducers/simple/ReadProperties/resources/ReadProperties1.jnlp diff --git a/tests/jnlp_tests/simple/ReadProperties/resources/ReadProperties2.jnlp b/tests/reproducers/simple/ReadProperties/resources/ReadProperties2.jnlp index f4e5418..f4e5418 100644 --- a/tests/jnlp_tests/simple/ReadProperties/resources/ReadProperties2.jnlp +++ b/tests/reproducers/simple/ReadProperties/resources/ReadProperties2.jnlp diff --git a/tests/jnlp_tests/simple/ReadProperties/srcs/ReadProperties.java b/tests/reproducers/simple/ReadProperties/srcs/ReadProperties.java index f031369..f031369 100644 --- a/tests/jnlp_tests/simple/ReadProperties/srcs/ReadProperties.java +++ b/tests/reproducers/simple/ReadProperties/srcs/ReadProperties.java diff --git a/tests/jnlp_tests/simple/ReadProperties/testcases/ReadPropertiesTest.java b/tests/reproducers/simple/ReadProperties/testcases/ReadPropertiesTest.java index dfe9590..dfe9590 100644 --- a/tests/jnlp_tests/simple/ReadProperties/testcases/ReadPropertiesTest.java +++ b/tests/reproducers/simple/ReadProperties/testcases/ReadPropertiesTest.java diff --git a/tests/jnlp_tests/simple/RedirectStreams/resources/RedirectStreams.jnlp b/tests/reproducers/simple/RedirectStreams/resources/RedirectStreams.jnlp index ca26613..ca26613 100644 --- a/tests/jnlp_tests/simple/RedirectStreams/resources/RedirectStreams.jnlp +++ b/tests/reproducers/simple/RedirectStreams/resources/RedirectStreams.jnlp diff --git a/tests/jnlp_tests/simple/RedirectStreams/srcs/RedirectStreams.java b/tests/reproducers/simple/RedirectStreams/srcs/RedirectStreams.java index 2130168..2130168 100644 --- a/tests/jnlp_tests/simple/RedirectStreams/srcs/RedirectStreams.java +++ b/tests/reproducers/simple/RedirectStreams/srcs/RedirectStreams.java diff --git a/tests/jnlp_tests/simple/RedirectStreams/testcases/RedirectStreamsTest.java b/tests/reproducers/simple/RedirectStreams/testcases/RedirectStreamsTest.java index 1d745c7..1d745c7 100644 --- a/tests/jnlp_tests/simple/RedirectStreams/testcases/RedirectStreamsTest.java +++ b/tests/reproducers/simple/RedirectStreams/testcases/RedirectStreamsTest.java diff --git a/tests/jnlp_tests/simple/ReplaceSecurityManager/resources/ReplaceSecurityManager.jnlp b/tests/reproducers/simple/ReplaceSecurityManager/resources/ReplaceSecurityManager.jnlp index 4f153bf..4f153bf 100644 --- a/tests/jnlp_tests/simple/ReplaceSecurityManager/resources/ReplaceSecurityManager.jnlp +++ b/tests/reproducers/simple/ReplaceSecurityManager/resources/ReplaceSecurityManager.jnlp diff --git a/tests/jnlp_tests/simple/ReplaceSecurityManager/srcs/ReplaceSecurityManager.java b/tests/reproducers/simple/ReplaceSecurityManager/srcs/ReplaceSecurityManager.java index e00cd5a..e00cd5a 100644 --- a/tests/jnlp_tests/simple/ReplaceSecurityManager/srcs/ReplaceSecurityManager.java +++ b/tests/reproducers/simple/ReplaceSecurityManager/srcs/ReplaceSecurityManager.java diff --git a/tests/jnlp_tests/simple/ReplaceSecurityManager/testcases/ReplaceSecurityManagerTest.java b/tests/reproducers/simple/ReplaceSecurityManager/testcases/ReplaceSecurityManagerTest.java index 73bbd9d..73bbd9d 100644 --- a/tests/jnlp_tests/simple/ReplaceSecurityManager/testcases/ReplaceSecurityManagerTest.java +++ b/tests/reproducers/simple/ReplaceSecurityManager/testcases/ReplaceSecurityManagerTest.java diff --git a/tests/jnlp_tests/simple/SetContextClassLoader/resources/SetContextClassLoader.jnlp b/tests/reproducers/simple/SetContextClassLoader/resources/SetContextClassLoader.jnlp index 996bb88..996bb88 100644 --- a/tests/jnlp_tests/simple/SetContextClassLoader/resources/SetContextClassLoader.jnlp +++ b/tests/reproducers/simple/SetContextClassLoader/resources/SetContextClassLoader.jnlp diff --git a/tests/jnlp_tests/simple/SetContextClassLoader/srcs/SetContextClassLoader.java b/tests/reproducers/simple/SetContextClassLoader/srcs/SetContextClassLoader.java index 5c5b215..5c5b215 100644 --- a/tests/jnlp_tests/simple/SetContextClassLoader/srcs/SetContextClassLoader.java +++ b/tests/reproducers/simple/SetContextClassLoader/srcs/SetContextClassLoader.java diff --git a/tests/jnlp_tests/simple/SetContextClassLoader/testcases/SetContextClassLoaderTest.java b/tests/reproducers/simple/SetContextClassLoader/testcases/SetContextClassLoaderTest.java index f45aedb..f45aedb 100644 --- a/tests/jnlp_tests/simple/SetContextClassLoader/testcases/SetContextClassLoaderTest.java +++ b/tests/reproducers/simple/SetContextClassLoader/testcases/SetContextClassLoaderTest.java diff --git a/tests/jnlp_tests/simple/Spaces can be everywhere/resources/NotOnly spaces can kill ěščřž too.jnlp b/tests/reproducers/simple/Spaces can be everywhere/resources/NotOnly spaces can kill ěščřž too.jnlp index 9856676..9856676 100644 --- a/tests/jnlp_tests/simple/Spaces can be everywhere/resources/NotOnly spaces can kill ěščřž too.jnlp +++ b/tests/reproducers/simple/Spaces can be everywhere/resources/NotOnly spaces can kill ěščřž too.jnlp diff --git a/tests/jnlp_tests/simple/Spaces can be everywhere/resources/Spaces can be everywhere1.jnlp b/tests/reproducers/simple/Spaces can be everywhere/resources/Spaces can be everywhere1.jnlp index 245b01d..245b01d 100644 --- a/tests/jnlp_tests/simple/Spaces can be everywhere/resources/Spaces can be everywhere1.jnlp +++ b/tests/reproducers/simple/Spaces can be everywhere/resources/Spaces can be everywhere1.jnlp diff --git a/tests/jnlp_tests/simple/Spaces can be everywhere/resources/Spaces can be everywhere2.jnlp b/tests/reproducers/simple/Spaces can be everywhere/resources/Spaces can be everywhere2.jnlp index 274add7..274add7 100644 --- a/tests/jnlp_tests/simple/Spaces can be everywhere/resources/Spaces can be everywhere2.jnlp +++ b/tests/reproducers/simple/Spaces can be everywhere/resources/Spaces can be everywhere2.jnlp diff --git a/tests/jnlp_tests/simple/Spaces can be everywhere/resources/SpacesCanBeEverywhere1.jnlp b/tests/reproducers/simple/Spaces can be everywhere/resources/SpacesCanBeEverywhere1.jnlp index 22b77b0..22b77b0 100644 --- a/tests/jnlp_tests/simple/Spaces can be everywhere/resources/SpacesCanBeEverywhere1.jnlp +++ b/tests/reproducers/simple/Spaces can be everywhere/resources/SpacesCanBeEverywhere1.jnlp diff --git a/tests/jnlp_tests/simple/Spaces can be everywhere/resources/spaces applet Tests.html b/tests/reproducers/simple/Spaces can be everywhere/resources/spaces applet Tests.html index 74b7554..74b7554 100644 --- a/tests/jnlp_tests/simple/Spaces can be everywhere/resources/spaces applet Tests.html +++ b/tests/reproducers/simple/Spaces can be everywhere/resources/spaces applet Tests.html diff --git a/tests/jnlp_tests/simple/Spaces can be everywhere/srcs/SpacesCanBeEverywhere.java b/tests/reproducers/simple/Spaces can be everywhere/srcs/SpacesCanBeEverywhere.java index e65544b..e65544b 100644 --- a/tests/jnlp_tests/simple/Spaces can be everywhere/srcs/SpacesCanBeEverywhere.java +++ b/tests/reproducers/simple/Spaces can be everywhere/srcs/SpacesCanBeEverywhere.java diff --git a/tests/jnlp_tests/simple/Spaces can be everywhere/testcases/SpacesCanBeEverywhereTests.java b/tests/reproducers/simple/Spaces can be everywhere/testcases/SpacesCanBeEverywhereTests.java index cb2a98f..cb2a98f 100644 --- a/tests/jnlp_tests/simple/Spaces can be everywhere/testcases/SpacesCanBeEverywhereTests.java +++ b/tests/reproducers/simple/Spaces can be everywhere/testcases/SpacesCanBeEverywhereTests.java diff --git a/tests/jnlp_tests/simple/UnsignedJnlpApplication/resources/UnsignedJnlpApplication1.jnlp b/tests/reproducers/simple/UnsignedJnlpApplication/resources/UnsignedJnlpApplication1.jnlp index 979058d..979058d 100644 --- a/tests/jnlp_tests/simple/UnsignedJnlpApplication/resources/UnsignedJnlpApplication1.jnlp +++ b/tests/reproducers/simple/UnsignedJnlpApplication/resources/UnsignedJnlpApplication1.jnlp diff --git a/tests/jnlp_tests/simple/UnsignedJnlpApplication/resources/UnsignedJnlpApplication2.jnlp b/tests/reproducers/simple/UnsignedJnlpApplication/resources/UnsignedJnlpApplication2.jnlp index 84f7539..84f7539 100644 --- a/tests/jnlp_tests/simple/UnsignedJnlpApplication/resources/UnsignedJnlpApplication2.jnlp +++ b/tests/reproducers/simple/UnsignedJnlpApplication/resources/UnsignedJnlpApplication2.jnlp diff --git a/tests/jnlp_tests/simple/UnsignedJnlpApplication/resources/UnsignedJnlpApplication3.jnlp b/tests/reproducers/simple/UnsignedJnlpApplication/resources/UnsignedJnlpApplication3.jnlp index d5e6584..d5e6584 100644 --- a/tests/jnlp_tests/simple/UnsignedJnlpApplication/resources/UnsignedJnlpApplication3.jnlp +++ b/tests/reproducers/simple/UnsignedJnlpApplication/resources/UnsignedJnlpApplication3.jnlp diff --git a/tests/jnlp_tests/simple/UnsignedJnlpApplication/srcs/JNLP-INF/APPLICATION.jnlp b/tests/reproducers/simple/UnsignedJnlpApplication/srcs/JNLP-INF/APPLICATION.jnlp index e4a3722..e4a3722 100644 --- a/tests/jnlp_tests/simple/UnsignedJnlpApplication/srcs/JNLP-INF/APPLICATION.jnlp +++ b/tests/reproducers/simple/UnsignedJnlpApplication/srcs/JNLP-INF/APPLICATION.jnlp diff --git a/tests/jnlp_tests/simple/UnsignedJnlpApplication/srcs/UnsignedJnlpApplication.java b/tests/reproducers/simple/UnsignedJnlpApplication/srcs/UnsignedJnlpApplication.java index f4afa4f..f4afa4f 100644 --- a/tests/jnlp_tests/simple/UnsignedJnlpApplication/srcs/UnsignedJnlpApplication.java +++ b/tests/reproducers/simple/UnsignedJnlpApplication/srcs/UnsignedJnlpApplication.java diff --git a/tests/jnlp_tests/simple/UnsignedJnlpApplication/testcases/UnsignedJnlpApplicationTest.java b/tests/reproducers/simple/UnsignedJnlpApplication/testcases/UnsignedJnlpApplicationTest.java index e48509d..e48509d 100644 --- a/tests/jnlp_tests/simple/UnsignedJnlpApplication/testcases/UnsignedJnlpApplicationTest.java +++ b/tests/reproducers/simple/UnsignedJnlpApplication/testcases/UnsignedJnlpApplicationTest.java diff --git a/tests/jnlp_tests/simple/UnsignedJnlpTemplate/resources/UnsignedJnlpTemplate1.jnlp b/tests/reproducers/simple/UnsignedJnlpTemplate/resources/UnsignedJnlpTemplate1.jnlp index 077c5dc..077c5dc 100644 --- a/tests/jnlp_tests/simple/UnsignedJnlpTemplate/resources/UnsignedJnlpTemplate1.jnlp +++ b/tests/reproducers/simple/UnsignedJnlpTemplate/resources/UnsignedJnlpTemplate1.jnlp diff --git a/tests/jnlp_tests/simple/UnsignedJnlpTemplate/resources/UnsignedJnlpTemplate2.jnlp b/tests/reproducers/simple/UnsignedJnlpTemplate/resources/UnsignedJnlpTemplate2.jnlp index f665a93..f665a93 100644 --- a/tests/jnlp_tests/simple/UnsignedJnlpTemplate/resources/UnsignedJnlpTemplate2.jnlp +++ b/tests/reproducers/simple/UnsignedJnlpTemplate/resources/UnsignedJnlpTemplate2.jnlp diff --git a/tests/jnlp_tests/simple/UnsignedJnlpTemplate/resources/UnsignedJnlpTemplate3.jnlp b/tests/reproducers/simple/UnsignedJnlpTemplate/resources/UnsignedJnlpTemplate3.jnlp index abbd085..abbd085 100644 --- a/tests/jnlp_tests/simple/UnsignedJnlpTemplate/resources/UnsignedJnlpTemplate3.jnlp +++ b/tests/reproducers/simple/UnsignedJnlpTemplate/resources/UnsignedJnlpTemplate3.jnlp diff --git a/tests/jnlp_tests/simple/UnsignedJnlpTemplate/srcs/JNLP-INF/APPLICATION_TEMPLATE.jnlp b/tests/reproducers/simple/UnsignedJnlpTemplate/srcs/JNLP-INF/APPLICATION_TEMPLATE.jnlp index 5a9dce0..5a9dce0 100644 --- a/tests/jnlp_tests/simple/UnsignedJnlpTemplate/srcs/JNLP-INF/APPLICATION_TEMPLATE.jnlp +++ b/tests/reproducers/simple/UnsignedJnlpTemplate/srcs/JNLP-INF/APPLICATION_TEMPLATE.jnlp diff --git a/tests/jnlp_tests/simple/UnsignedJnlpTemplate/srcs/UnsignedJnlpTemplate.java b/tests/reproducers/simple/UnsignedJnlpTemplate/srcs/UnsignedJnlpTemplate.java index 3883c22..3883c22 100644 --- a/tests/jnlp_tests/simple/UnsignedJnlpTemplate/srcs/UnsignedJnlpTemplate.java +++ b/tests/reproducers/simple/UnsignedJnlpTemplate/srcs/UnsignedJnlpTemplate.java diff --git a/tests/jnlp_tests/simple/UnsignedJnlpTemplate/testcases/UnsignedJnlpTemplateTest.java b/tests/reproducers/simple/UnsignedJnlpTemplate/testcases/UnsignedJnlpTemplateTest.java index b2aec62..b2aec62 100644 --- a/tests/jnlp_tests/simple/UnsignedJnlpTemplate/testcases/UnsignedJnlpTemplateTest.java +++ b/tests/reproducers/simple/UnsignedJnlpTemplate/testcases/UnsignedJnlpTemplateTest.java diff --git a/tests/jnlp_tests/simple/deadlocktest/resources/deadlocktest.jnlp b/tests/reproducers/simple/deadlocktest/resources/deadlocktest.jnlp index f45c475..f45c475 100644 --- a/tests/jnlp_tests/simple/deadlocktest/resources/deadlocktest.jnlp +++ b/tests/reproducers/simple/deadlocktest/resources/deadlocktest.jnlp diff --git a/tests/jnlp_tests/simple/deadlocktest/resources/deadlocktest_1.jnlp b/tests/reproducers/simple/deadlocktest/resources/deadlocktest_1.jnlp index bf7e82c..bf7e82c 100644 --- a/tests/jnlp_tests/simple/deadlocktest/resources/deadlocktest_1.jnlp +++ b/tests/reproducers/simple/deadlocktest/resources/deadlocktest_1.jnlp diff --git a/tests/jnlp_tests/simple/deadlocktest/srcs/DeadlockTest.java b/tests/reproducers/simple/deadlocktest/srcs/DeadlockTest.java index 4d348b0..4d348b0 100644 --- a/tests/jnlp_tests/simple/deadlocktest/srcs/DeadlockTest.java +++ b/tests/reproducers/simple/deadlocktest/srcs/DeadlockTest.java diff --git a/tests/jnlp_tests/simple/deadlocktest/testcases/DeadLockTestTest.java b/tests/reproducers/simple/deadlocktest/testcases/DeadLockTestTest.java index b2e0a48..b2e0a48 100644 --- a/tests/jnlp_tests/simple/deadlocktest/testcases/DeadLockTestTest.java +++ b/tests/reproducers/simple/deadlocktest/testcases/DeadLockTestTest.java diff --git a/tests/jnlp_tests/simple/simpletest1/resources/simpletest1.jnlp b/tests/reproducers/simple/simpletest1/resources/simpletest1.jnlp index d7d0b85..d7d0b85 100644 --- a/tests/jnlp_tests/simple/simpletest1/resources/simpletest1.jnlp +++ b/tests/reproducers/simple/simpletest1/resources/simpletest1.jnlp diff --git a/tests/jnlp_tests/simple/simpletest1/resources/simpletestCustomSplash.jnlp b/tests/reproducers/simple/simpletest1/resources/simpletestCustomSplash.jnlp index 66eb519..66eb519 100644 --- a/tests/jnlp_tests/simple/simpletest1/resources/simpletestCustomSplash.jnlp +++ b/tests/reproducers/simple/simpletest1/resources/simpletestCustomSplash.jnlp diff --git a/tests/jnlp_tests/simple/simpletest1/resources/simpletestMegaSlow.jnlp b/tests/reproducers/simple/simpletest1/resources/simpletestMegaSlow.jnlp index 7e319d3..7e319d3 100644 --- a/tests/jnlp_tests/simple/simpletest1/resources/simpletestMegaSlow.jnlp +++ b/tests/reproducers/simple/simpletest1/resources/simpletestMegaSlow.jnlp diff --git a/tests/jnlp_tests/simple/simpletest1/resources/simpletestSlow.jnlp b/tests/reproducers/simple/simpletest1/resources/simpletestSlow.jnlp index 905cf7c..905cf7c 100644 --- a/tests/jnlp_tests/simple/simpletest1/resources/simpletestSlow.jnlp +++ b/tests/reproducers/simple/simpletest1/resources/simpletestSlow.jnlp diff --git a/tests/jnlp_tests/simple/simpletest1/resources/simpletestSlowBrokenCustomSplash.jnlp b/tests/reproducers/simple/simpletest1/resources/simpletestSlowBrokenCustomSplash.jnlp index 0b09c5b..0b09c5b 100644 --- a/tests/jnlp_tests/simple/simpletest1/resources/simpletestSlowBrokenCustomSplash.jnlp +++ b/tests/reproducers/simple/simpletest1/resources/simpletestSlowBrokenCustomSplash.jnlp diff --git a/tests/jnlp_tests/simple/simpletest1/resources/simpletestSlowSlowCustomSplash.jnlp b/tests/reproducers/simple/simpletest1/resources/simpletestSlowSlowCustomSplash.jnlp index 99ad0b0..99ad0b0 100644 --- a/tests/jnlp_tests/simple/simpletest1/resources/simpletestSlowSlowCustomSplash.jnlp +++ b/tests/reproducers/simple/simpletest1/resources/simpletestSlowSlowCustomSplash.jnlp diff --git a/tests/jnlp_tests/simple/simpletest1/srcs/SimpleTest1.java b/tests/reproducers/simple/simpletest1/srcs/SimpleTest1.java index 0957480..0957480 100644 --- a/tests/jnlp_tests/simple/simpletest1/srcs/SimpleTest1.java +++ b/tests/reproducers/simple/simpletest1/srcs/SimpleTest1.java diff --git a/tests/jnlp_tests/simple/simpletest1/testcases/SimpleTest1Test.java b/tests/reproducers/simple/simpletest1/testcases/SimpleTest1Test.java index abc1592..abc1592 100644 --- a/tests/jnlp_tests/simple/simpletest1/testcases/SimpleTest1Test.java +++ b/tests/reproducers/simple/simpletest1/testcases/SimpleTest1Test.java diff --git a/tests/jnlp_tests/simple/simpletest2/resources/simpletest2.jnlp b/tests/reproducers/simple/simpletest2/resources/simpletest2.jnlp index cc6e11a..cc6e11a 100644 --- a/tests/jnlp_tests/simple/simpletest2/resources/simpletest2.jnlp +++ b/tests/reproducers/simple/simpletest2/resources/simpletest2.jnlp diff --git a/tests/jnlp_tests/simple/simpletest2/srcs/SimpleTest2.java b/tests/reproducers/simple/simpletest2/srcs/SimpleTest2.java index 9160c62..9160c62 100644 --- a/tests/jnlp_tests/simple/simpletest2/srcs/SimpleTest2.java +++ b/tests/reproducers/simple/simpletest2/srcs/SimpleTest2.java diff --git a/tests/jnlp_tests/simple/simpletest2/testcases/SimpleTest2Test.java b/tests/reproducers/simple/simpletest2/testcases/SimpleTest2Test.java index 9a77da4..9a77da4 100644 --- a/tests/jnlp_tests/simple/simpletest2/testcases/SimpleTest2Test.java +++ b/tests/reproducers/simple/simpletest2/testcases/SimpleTest2Test.java diff --git a/tests/test-extensions-tests/net/sourceforge/jnlp/ResourcesTest.java b/tests/test-extensions-tests/net/sourceforge/jnlp/ResourcesTest.java new file mode 100644 index 0000000..0116152 --- /dev/null +++ b/tests/test-extensions-tests/net/sourceforge/jnlp/ResourcesTest.java @@ -0,0 +1,379 @@ +/* ResourcesTest.java +Copyright (C) 2011 Red Hat, Inc. + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License as published by +the Free Software Foundation, version 2. + +IcedTea is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to +the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. + */ +package net.sourceforge.jnlp; + +import java.io.File; +import java.io.FileFilter; +import java.io.FileInputStream; +import java.io.IOException; +import java.net.URI; +import java.util.Arrays; +import java.util.List; +import net.sourceforge.jnlp.browsertesting.Browser; +import net.sourceforge.jnlp.browsertesting.BrowserFactory; +import net.sourceforge.jnlp.browsertesting.BrowserTest; +import net.sourceforge.jnlp.browsertesting.Browsers; +import net.sourceforge.jnlp.annotations.NeedsDisplay; +import net.sourceforge.jnlp.annotations.TestInBrowsers; +import net.sourceforge.jnlp.browsertesting.browsers.LinuxBrowser; +import net.sourceforge.jnlp.annotations.TestInBrowsers; +import org.junit.Assert; + +import org.junit.Test; + +public class ResourcesTest extends BrowserTest{ + + + @Test + @NeedsDisplay + public void testNonExisitngBrowserWillNotDeadlock() throws Exception { + server.setCurrentBrowser(Browsers.none); + ServerAccess.ProcessResult pr = server.executeBrowser("simpletest1.jnlp"); + Assert.assertNull(pr.process); + Assert.assertEquals(pr.stderr, ""); + Assert.assertEquals(pr.stdout, ""); + Assert.assertTrue(pr.wasTerminated); + Assert.assertTrue(pr.returnValue < 0); + junit.framework.Assert.assertNotNull(pr.deadlyException); + } + + @Test + public void testUnexistingProcessWillFailRecognizedly() throws Exception { + server.setCurrentBrowser(Browsers.none); + List<String> al=Arrays.asList(new String[] {"definietly_not_Existing_process"}); + ServerAccess.ProcessResult pr = server.executeProcess(al); + Assert.assertNull(pr.process); + Assert.assertEquals(pr.stderr, ""); + Assert.assertEquals(pr.stdout, ""); + Assert.assertTrue(pr.wasTerminated); + Assert.assertTrue(pr.returnValue < 0); + junit.framework.Assert.assertNotNull(pr.deadlyException); + } + + @Test + @TestInBrowsers(testIn=Browsers.none) + public void testNonExisitngBrowserWillNotCauseMess() throws Exception { + ServerAccess.ProcessResult pr = server.executeBrowser("simpletest1.jnlp"); + Assert.assertNull(pr.process); + Assert.assertEquals(pr.stderr, ""); + Assert.assertEquals(pr.stdout, ""); + Assert.assertTrue(pr.wasTerminated); + Assert.assertTrue(pr.returnValue < 0); + junit.framework.Assert.assertNotNull(pr.deadlyException); + } + + @Test + public void testBrowsers2() throws Exception { + List<Browser> a = BrowserFactory.getFactory().getAllBrowsers(); + Assert.assertNotNull("returned browsers array must not be null", a); + Assert.assertTrue("at least one browser must be configured", a.size() > 0); + for (Browser b : a) { + testBrowser(b); + } + + } + + @Test + @TestInBrowsers(testIn = Browsers.all) + public void testBrowser3() throws Exception { + testBrowser(server.getCurrentBrowser()); + + + } + + @Test + public void testBrowsers1() throws Exception { + BrowserFactory bf = new BrowserFactory(null); + int expected = 0; + Assert.assertTrue("Created from null there must be " + expected + " browsers in factory. Is" + bf.getAllBrowsers().size(), bf.getAllBrowsers().size() == expected); + + bf = new BrowserFactory(""); + expected = 0; + Assert.assertTrue("Created from empty there must be " + expected + " browsers in factory. Is" + bf.getAllBrowsers().size(), bf.getAllBrowsers().size() == expected); + + String s = "dsgrdg"; + bf = new BrowserFactory(s); + expected = 0; + Assert.assertTrue("Created from nonsense " + s + " there must be " + expected + " browsers in factory. Is" + bf.getAllBrowsers().size(), bf.getAllBrowsers().size() == expected); + + s = "sgrg/jkik"; + bf = new BrowserFactory(s); + expected = 0; + Assert.assertTrue("Created from nonsense " + s + " there must be " + expected + " browsers in factory. Is" + bf.getAllBrowsers().size(), bf.getAllBrowsers().size() == expected); + + s = Browsers.firefox + "/jkik"; + bf = new BrowserFactory(s); + expected = 0; + Assert.assertTrue("Created from nonsense " + s + "there must be " + expected + " browsers in factory. Is" + bf.getAllBrowsers().size(), bf.getAllBrowsers().size() == expected); + + s = "sgrg/jkik:sege"; + bf = new BrowserFactory(s); + expected = 0; + Assert.assertTrue("Created from two nonsenses " + s + "there must be " + expected + " browsers in factory. Is" + bf.getAllBrowsers().size(), bf.getAllBrowsers().size() == expected); + + s = Browsers.firefox.toExec() + ":" + Browsers.firefox; + bf = new BrowserFactory(s); + expected = 2; + Assert.assertTrue("Created from " + s + "there must be " + expected + " browsers in factory. Is" + bf.getAllBrowsers().size(), bf.getAllBrowsers().size() == expected); + + s = Browsers.firefox.toExec(); + bf = new BrowserFactory(s); + expected = 1; + Assert.assertTrue("Created from " + s + "there must be " + expected + " browsers in factory. Is" + bf.getAllBrowsers().size(), bf.getAllBrowsers().size() == expected); + + s = "something/somewhere/" + Browsers.firefox.toExec(); + bf = new BrowserFactory(s); + expected = 1; + Assert.assertTrue("Created from " + s + "there must be " + expected + " browsers in factory. Is" + bf.getAllBrowsers().size(), bf.getAllBrowsers().size() == expected); + + s = "something/somewhere/" + Browsers.firefox.toExec() + ":" + "something/somewhere/" + Browsers.opera.toExec(); + bf = new BrowserFactory(s); + expected = 2; + Assert.assertTrue("Created from " + s + "there must be " + expected + " browsers in factory. Is" + bf.getAllBrowsers().size(), bf.getAllBrowsers().size() == expected); + + s = "something/somewhere/" + Browsers.firefox.toExec() + ":" + "something/somewhere/" + Browsers.opera.toExec() + ":" + Browsers.chromiumBrowser; + bf = new BrowserFactory(s); + expected = 3; + Assert.assertTrue("Created from " + s + "there must be " + expected + " browsers in factory. Is" + bf.getAllBrowsers().size(), bf.getAllBrowsers().size() == expected); + + s = Browsers.firefox.toExec() + ":" + "vfdgf" + ":" + Browsers.googleChrome.toExec(); + bf = new BrowserFactory(s); + expected = 2; + Assert.assertTrue("Created from " + s + "there must be " + expected + " browsers in factory. Is" + bf.getAllBrowsers().size(), bf.getAllBrowsers().size() == expected); + + s = Browsers.firefox.toExec() + ":" + Browsers.chromiumBrowser + ":" + Browsers.googleChrome.toExec() + ":" + Browsers.opera; + bf = new BrowserFactory(s); + expected = 4; + Assert.assertTrue("Created from " + s + "there must be " + expected + " browsers in factory. Is" + bf.getAllBrowsers().size(), bf.getAllBrowsers().size() == expected); + testFullFactory(bf); + + s = "fgfd/" + Browsers.firefox.toExec() + ":" + "/fgfd/" + Browsers.chromiumBrowser + ":" + "fgfd/dfsdf/" + Browsers.googleChrome.toExec() + ":" + "/g/fgfd/" + Browsers.opera; + bf = new BrowserFactory(s); + expected = 4; + Assert.assertTrue("Created from " + s + "there must be " + expected + " browsers in factory. Is" + bf.getAllBrowsers().size(), bf.getAllBrowsers().size() == expected); + testFullFactory(bf); + + s = Browsers.firefox.toExec() + ":" + ":" + Browsers.googleChrome.toExec() + ":" + Browsers.opera; + bf = new BrowserFactory(s); + expected = 3; + Assert.assertTrue("Created from " + s + "there must be " + expected + " browsers in factory. Is" + bf.getAllBrowsers().size(), bf.getAllBrowsers().size() == expected); + + s = Browsers.firefox.toExec() + ":" + ":" + ":" + Browsers.opera; + bf = new BrowserFactory(s); + expected = 2; + Assert.assertTrue("Created from " + s + "there must be " + expected + " browsers in factory. Is" + bf.getAllBrowsers().size(), bf.getAllBrowsers().size() == expected); + + s = ":" + ":" + Browsers.googleChrome.toExec() + ":"; + bf = new BrowserFactory(s); + expected = 1; + Assert.assertTrue("Created from " + s + "there must be " + expected + " browsers in factory. Is" + bf.getAllBrowsers().size(), bf.getAllBrowsers().size() == expected); + + s = ":" + Browsers.firefox.toExec() + ":bfgbfg/fddf/" + Browsers.googleChrome.toExec() + ":"; + bf = new BrowserFactory(s); + expected = 2; + Assert.assertTrue("Created from " + s + "there must be " + expected + " browsers in factory. Is" + bf.getAllBrowsers().size(), bf.getAllBrowsers().size() == expected); + + + + + } + + @Test + public void testResourcesExists() throws Exception { + File[] simpleContent = server.getDir().listFiles(new FileFilter() { + + public boolean accept(File file) { + if (!file.isDirectory()) { + return true; + } else { + return false; + } + } + }); + Assert.assertNotNull(simpleContent); + Assert.assertTrue(simpleContent.length > 5); + + for (int i = 0; i < simpleContent.length; i++) { + File file = simpleContent[i]; + ServerAccess.logOutputReprint(file.getName()); + //server port have in fact no usage in converting filename to uri-like-filename. + //But if there is null, instead if some number, then nullpointer exception is thrown (Integer->int). + //So I'm using "real" currently used port, instead of some random value. + URI u = new URI((String) null, (String) null, (String) null, server.getPort(), file.getName(), (String) null, null); + ServerAccess.logOutputReprint(" ("+u.toString()+")"); + String fname = u.toString(); + if (file.getName().toLowerCase().endsWith(".jnlp")) { + String c = server.getResourceAsString("/" + fname); + Assert.assertTrue(c.contains("<")); + Assert.assertTrue(c.contains(">")); + Assert.assertTrue(c.contains("jnlp")); + Assert.assertTrue(c.contains("resources")); + Assert.assertTrue(c.replaceAll("\\s*", "").contains("</jnlp>")); + + } else { + byte[] c = server.getResourceAsBytes("/" + fname).toByteArray(); + Assert.assertEquals(c.length, file.length()); + } + + } + + } + + @Test + @NeedsDisplay + @TestInBrowsers(testIn = Browsers.one) + public void testListeners() throws Exception { + final StringBuilder o1 = new StringBuilder(); + final StringBuilder e1 = new StringBuilder(); + final StringBuilder o2 = new StringBuilder(); + final StringBuilder e2 = new StringBuilder(); + final ContentReaderListener lo = new ContentReaderListener() { + + @Override + public void charReaded(char ch) { + //ServerAccess.logOutputReprint("OO recieved char: "+ch); + o1.append(ch); + } + + @Override + public void lineReaded(String s) { + //ServerAccess.logOutputReprint("OO recieved line: "+s); + o2.append(s).append("\n"); + } + }; + ContentReaderListener le = new ContentReaderListener() { + + @Override + public void charReaded(char ch) { + //ServerAccess.logOutputReprint("EE recieved char: "+ch); + e1.append(ch); + } + + @Override + public void lineReaded(String s) { + //ServerAccess.logOutputReprint("EE recieved line: "+s); + e2.append(s).append("\n"); + } + }; + ServerAccess.ProcessResult pr=server.executeBrowser("simpletest1.jnlp",le,lo); + server.setCurrentBrowser(BrowserFactory.getFactory().getFirst().getID()); + Assert.assertNotNull(server.getCurrentBrowsers()); + Assert.assertNotNull(server.getCurrentBrowser()); +// ServerAccess.logOutputReprint("total o"); +// ServerAccess.logOutputReprint(pr.stdout); +// ServerAccess.logOutputReprint("total e"); +// ServerAccess.logOutputReprint(pr.stderr); + Assert.assertEquals(pr.stdout, o1.toString()); + Assert.assertEquals(pr.stderr, e1.toString()); + //the last \n is mandatory as las tline is flushed also when proces dies + Assert.assertEquals(pr.stdout.replace("\n", ""), o2.toString().replace("\n", "")); + Assert.assertEquals(pr.stderr.replace("\n", ""), e2.toString().replace("\n", "")); + + } + + private void testFullFactory(BrowserFactory bf) { + Assert.assertEquals(bf.getBrowser(Browsers.chromiumBrowser).getID(), Browsers.chromiumBrowser); + Assert.assertEquals(bf.getBrowser(Browsers.googleChrome).getID(), Browsers.googleChrome); + Assert.assertEquals(bf.getBrowser(Browsers.firefox).getID(), Browsers.firefox); + Assert.assertEquals(bf.getBrowser(Browsers.opera).getID(), Browsers.opera); + } + + private void testBrowser(Browser browser) throws IOException { + File f1 = null; + if (browser.getDefaultPluginExpectedLocation() != null) { + f1 = new File(browser.getDefaultPluginExpectedLocation()); + } + File f2 = null; + if (browser.getUserDefaultPluginExpectedLocation() != null) { + f2 = new File(browser.getUserDefaultPluginExpectedLocation()); + } + if (f1 != null) { + Assert.assertTrue("browser's plugins location should exist " + f1.toString() + " for " + browser.getID().toString(), f1.exists()); + } + if (f2 != null) { + Assert.assertTrue("browser's users-plugins location should exist " + f2.toString() + " for " + browser.getID().toString(), f2.exists()); + } + + File[] ff1 = new File[0]; + if (f1 != null) { + ff1 = f1.listFiles(); + } + + File[] ff2 = new File[0]; + if (f2 != null) { + ff2 = f2.listFiles(); + } + + Assert.assertTrue("at least one of browser's plugins directory should contains at least one file didn't. For " + browser.getID().toString(), ff1.length + ff2.length > 0); + + ff1 = new File[0]; + if (f1 != null) { + ff1 = f1.listFiles(new FileFilter() { + + @Override + public boolean accept(File pathname) { + return (pathname.getName().equals(LinuxBrowser.DEFAULT_PLUGIN_NAME)); + } + }); + } + + ff2 = new File[0]; + if (f2 != null) { + ff2 = f2.listFiles(new FileFilter() { + + @Override + public boolean accept(File pathname) { + return (pathname.getName().equals(LinuxBrowser.DEFAULT_PLUGIN_NAME)); + } + }); + } + + Assert.assertTrue("browser's plugins directories should contains exactly one " + LinuxBrowser.DEFAULT_PLUGIN_NAME + ", but didnt for " + browser.getID().toString(), + ff1.length + ff2.length == 1); + String currentPath = server.getJavawsFile().getParentFile().getParentFile().getAbsolutePath(); + + File[] ff; + if (ff1.length == 1) { + ff = ff1; + } else { + ff = ff2; + } + String s = ServerAccess.getContentOfStream(new FileInputStream(ff[0]), "ASCII"); + Assert.assertTrue("browser's plugins shoud points to" + currentPath + ", but didnt", + s.contains(s)); + } +} diff --git a/tests/test-extensions-tests/net/sourceforge/jnlp/ServerAccessTest.java b/tests/test-extensions-tests/net/sourceforge/jnlp/ServerAccessTest.java new file mode 100644 index 0000000..25415be --- /dev/null +++ b/tests/test-extensions-tests/net/sourceforge/jnlp/ServerAccessTest.java @@ -0,0 +1,233 @@ +/* ServerAccessTest.java +Copyright (C) 2011 Red Hat, Inc. + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License as published by +the Free Software Foundation, version 2. + +IcedTea is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to +the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. + */ +package net.sourceforge.jnlp; + +import java.io.File; +import java.io.FileInputStream; +import java.net.URL; +import org.junit.Assert; +import org.junit.Test; + +/** + * + * This class provides access to virtual server and stuff around. + * It can find unoccupied port, start server, provides its singleton instantiation, lunch parallel instantiations, + * read location of installed (tested javaws) see javaws.build.bin java property, + * location of server www root on file system (see test.server.dir java property), + * stubs for lunching javaws and for locating resources and read resources. + * + * It can also execute processes with timeout (@see PROCESS_TIMEOUT) (used during lunching javaws) + * Some protected apis are exported because public classes in this package are put to be tested by makefile. + * + * There are included test cases which show some basic usages. + * + * + */ +public class ServerAccessTest { + + ServerAccess serverAccess = new ServerAccess(); + + @Test + public void testsProcessResultFiltering() throws Exception { + ProcessResult pn = new ProcessResult(null, null, null, true, 0, null); + Assert.assertNull(pn.notFilteredStdout); + Assert.assertNull(pn.stdout); + Assert.assertNull(pn.stderr); + String fakeOut2 = + "EMMA: processing instrumentation path ...\n" + + "EMMA: package [net.sourceforge.filebrowser] contains classes [ArrayOfString] without full debug info\n" + + "EMMA: instrumentation path processed in 1407 ms\n" + + "test stage 1\n" + + "test stage 2\n" + + "EMMA: The intruder!\n" + + "test stage 3\n" + + "EMMA: [45 class(es) instrumented, 13 resource(s) copied]\n" + + "EMMA: metadata merged into [icedtea-web/inc] {in 105 ms}\n" + + "EMMA: processing instrumentation path ..."; + String filteredOut2 = + "test stage 1\n" + + "test stage 2\n" + + "test stage 3\n"; + ProcessResult p2 = new ProcessResult(fakeOut2, fakeOut2, null, true, 0, null); + Assert.assertEquals(p2.notFilteredStdout, fakeOut2); + Assert.assertEquals(p2.stdout, filteredOut2); + Assert.assertEquals(p2.stderr, fakeOut2); + fakeOut2 += "\n"; + p2 = new ProcessResult(fakeOut2, fakeOut2, null, true, 0, null); + Assert.assertEquals(p2.notFilteredStdout, fakeOut2); + Assert.assertEquals(p2.stdout, filteredOut2); + Assert.assertEquals(p2.stderr, fakeOut2); + String fakeOut = + "test string\n" + + "EMMA: processing instrumentation path ...\n" + + "EMMA: package [net.sourceforge.filebrowser] contains classes [ArrayOfString] without full debug info\n" + + "EMMA: instrumentation path processed in 1407 ms\n" + + "test stage 1\n" + + "test stage 2\n" + + "test stage 3\n" + + "EMMA: [45 class(es) instrumented, 13 resource(s) copied]\n" + + "EMMA: metadata merged into [icedtea-web/inc] {in 105 ms}\n" + + "EMMA: processing instrumentation path ...\n" + + "test ends"; + String filteredOut = + "test string\n" + + "test stage 1\n" + + "test stage 2\n" + + "test stage 3\n" + + "test ends"; + ProcessResult p = new ProcessResult(fakeOut, fakeOut, null, true, 0, null); + Assert.assertEquals(p.notFilteredStdout, fakeOut); + Assert.assertEquals(p.stdout, filteredOut); + Assert.assertEquals(p.stderr, fakeOut); + fakeOut += "\n"; + filteredOut += "\n"; + p = new ProcessResult(fakeOut, fakeOut, null, true, 0, null); + Assert.assertEquals(p.notFilteredStdout, fakeOut); + Assert.assertEquals(p.stdout, filteredOut); + Assert.assertEquals(p.stderr, fakeOut); + } + + @Test + public void ensureJavaws() throws Exception { + String javawsValue = serverAccess.getJavawsLocation(); + Assert.assertNotNull(javawsValue); + Assert.assertTrue(javawsValue.trim().length() > 2); + File javawsFile = serverAccess.getJavawsFile(); + Assert.assertTrue(javawsFile.exists()); + Assert.assertFalse(javawsFile.isDirectory()); + } + + @Test + public void ensureServer() throws Exception { + ServerLauncher server = ServerAccess.getInstance(); + Assert.assertNotNull(server.getPort()); + Assert.assertNotNull(server.getDir()); + Assert.assertTrue(server.getPort() > 999); + Assert.assertTrue(server.getDir().toString().trim().length() > 2); + + Assert.assertTrue(server.getDir().exists()); + Assert.assertTrue(server.getDir().isDirectory()); + + File portFile = new File(server.getDir(), "server.port"); + File dirFile = new File(server.getDir(), "server.dir"); + + ServerAccess.saveFile(server.getDir().getAbsolutePath(), dirFile); + ServerAccess.saveFile(server.getPort().toString(), portFile); + ServerAccess.saveFile(server.getPort().toString(), portFile); + + Assert.assertTrue(portFile.exists()); + Assert.assertTrue(dirFile.exists()); + Assert.assertTrue(server.getDir().listFiles().length > 1); + + String portFileContent = ServerAccess.getContentOfStream(new FileInputStream(portFile)); + String dirFileContent = ServerAccess.getContentOfStream(new FileInputStream(dirFile)); + + URL portUrl = new URL("http", "localhost", server.getPort(), "/server.port"); + URL dirUrl = new URL("http", "localhost", server.getPort(), "/server.dir"); + + String portUrlContent = ServerAccess.getContentOfStream(portUrl.openConnection().getInputStream()); + String dirUrlContent = ServerAccess.getContentOfStream(dirUrl.openConnection().getInputStream()); + + Assert.assertEquals(portUrlContent.trim(), portFileContent.trim()); + Assert.assertEquals(dirUrlContent.trim(), dirFileContent.trim()); + Assert.assertEquals(new File(dirUrlContent.trim()), server.getDir()); + Assert.assertEquals(new Integer(portUrlContent.trim()), server.getPort()); + + URL fastUrl = new URL("http", "localhost", server.getPort(), "/simpletest1.jnlp"); + URL slowUrl = new URL("http", "localhost", server.getPort(), "/XslowXsimpletest1.jnlp"); + + String fastUrlcontent = ServerAccess.getContentOfStream(fastUrl.openConnection().getInputStream()); + String slowUrlContent = ServerAccess.getContentOfStream(slowUrl.openConnection().getInputStream()); + Assert.assertEquals(fastUrlcontent, slowUrlContent); + + } + + @Test + public void splitArrayTest0() throws Exception { + byte[] b = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14}; + byte[][] bb = TinyHttpdImpl.splitArray(b, 3); + //printArrays(bb); + byte[] b1 = {1, 2, 3, 4, 5}; + byte[] b2 = {6, 7, 8, 9, 10}; + byte[] b3 = {11, 12, 13, 14}; + Assert.assertEquals(3, bb.length); + Assert.assertArrayEquals(b1, bb[0]); + Assert.assertArrayEquals(b2, bb[1]); + Assert.assertArrayEquals(b3, bb[2]); + } + + @Test + public void splitArrayTest1() throws Exception { + byte[] b = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}; + byte[][] bb = TinyHttpdImpl.splitArray(b, 3); + //printArrays(bb); + byte[] b1 = {1, 2, 3, 4, 5}; + byte[] b2 = {6, 7, 8, 9, 10}; + byte[] b3 = {11, 12, 13}; + Assert.assertEquals(3, bb.length); + Assert.assertArrayEquals(b1, bb[0]); + Assert.assertArrayEquals(b2, bb[1]); + Assert.assertArrayEquals(b3, bb[2]); + } + + @Test + public void splitArrayTest2() throws Exception { + byte[] b = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; + byte[][] bb = TinyHttpdImpl.splitArray(b, 3); + //printArrays(bb); + byte[] b1 = {1, 2, 3, 4}; + byte[] b2 = {5, 6, 7, 8}; + byte[] b3 = {9, 10, 11, 12}; + Assert.assertEquals(3, bb.length); + Assert.assertArrayEquals(b1, bb[0]); + Assert.assertArrayEquals(b2, bb[1]); + Assert.assertArrayEquals(b3, bb[2]); + } + + private void printArrays(byte[][] bb) { + System.out.println("[][] l=" + bb.length); + for (int i = 0; i < bb.length; i++) { + byte[] bs = bb[i]; + System.out.println(i + ": l=" + bs.length); + for (int j = 0; j < bs.length; j++) { + byte c = bs[j]; + System.out.print(" " + j + ":" + c + " "); + } + System.out.println(""); + } + } +} diff --git a/tests/test-extensions/net/sourceforge/jnlp/ContentReader.java b/tests/test-extensions/net/sourceforge/jnlp/ContentReader.java new file mode 100644 index 0000000..464b778 --- /dev/null +++ b/tests/test-extensions/net/sourceforge/jnlp/ContentReader.java @@ -0,0 +1,133 @@ +/* ContentReader.java +Copyright (C) 2011,2012 Red Hat, Inc. + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License as published by +the Free Software Foundation, version 2. + +IcedTea is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to +the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. + */ + +package net.sourceforge.jnlp; + +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.Reader; + +/** + * Class to read content of stdout/stderr of process, and to cooperate with its running/terminated/finished statuses. + */ +class ContentReader implements Runnable { + + StringBuilder sb = new StringBuilder(); + private final InputStream is; + private boolean done; + ContentReaderListener listener; + + public String getContent() { + return sb.toString(); + } + + public ContentReader(InputStream is) throws IOException { + this.is = is; + } + + public ContentReader(InputStream is, ContentReaderListener l) throws IOException { + this.is = is; + this.listener = l; + } + + public void setListener(ContentReaderListener listener) { + this.listener = listener; + } + + public ContentReaderListener getListener() { + return listener; + } + + /** + * Blocks until the copy is complete, or until the thread is interrupted + */ + public synchronized void waitUntilDone() throws InterruptedException { + boolean interrupted = false; + // poll interrupted flag, while waiting for copy to complete + while (!(interrupted = Thread.interrupted()) && !done) { + wait(1000); + } + if (interrupted) { + ServerAccess.logNoReprint("Stream copier: throwing InterruptedException"); + //throw new InterruptedException(); + } + } + + @Override + public void run() { + try { + Reader br = new InputStreamReader(is, "UTF-8"); + StringBuilder line = new StringBuilder(); + while (true) { + int s = br.read(); + if (s < 0) { + if (line.length() > 0 && listener != null) { + listener.lineReaded(line.toString()); + } + break; + } + char ch = (char) s; + sb.append(ch); + line.append(ch); + if (ch == '\n') { + if (listener != null) { + listener.lineReaded(line.toString()); + } + line = new StringBuilder(); + } + if (listener != null) { + listener.charReaded(ch); + } + } + //do not want to bother output with terminations + //mostly compaling when assassin kill the process about StreamClosed + //do not want to bother output with terminations + //mostly compaling when assassin kill the process about StreamClosed + } catch (Exception ex) { + // logException(ex); + } finally { + try { + is.close(); + } catch (Exception ex) { + // ex.printStackTrace(); + } finally { + done = true; + } + } + } +} diff --git a/tests/test-extensions/net/sourceforge/jnlp/ContentReaderListener.java b/tests/test-extensions/net/sourceforge/jnlp/ContentReaderListener.java new file mode 100644 index 0000000..4427d84 --- /dev/null +++ b/tests/test-extensions/net/sourceforge/jnlp/ContentReaderListener.java @@ -0,0 +1,45 @@ +/* ContentReaderListener.java +Copyright (C) 2011,2012 Red Hat, Inc. + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License as published by +the Free Software Foundation, version 2. + +IcedTea is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to +the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. + */ + +package net.sourceforge.jnlp; + +public interface ContentReaderListener { + + public void charReaded(char ch); + public void lineReaded(String s); + +} diff --git a/tests/test-extensions/net/sourceforge/jnlp/LogItem.java b/tests/test-extensions/net/sourceforge/jnlp/LogItem.java new file mode 100644 index 0000000..dd99c04 --- /dev/null +++ b/tests/test-extensions/net/sourceforge/jnlp/LogItem.java @@ -0,0 +1,71 @@ +/* LogItem.java +Copyright (C) 2011,2012 Red Hat, Inc. + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License as published by +the Free Software Foundation, version 2. + +IcedTea is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to +the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. + */ + +package net.sourceforge.jnlp; + +import java.util.Date; + +class LogItem { + + public final Date timeStamp = new Date(); + public final StackTraceElement[] fullTrace = Thread.currentThread().getStackTrace(); + public final String text; + private static final String ITEM_ELEMENT = "item"; + private static final String ITEM_ID_ATTRIBUTE = "id"; + private static final String STAMP_ELEMENT = "stamp"; + private static final String TEXT_ELEMENT = "text"; + private static final String FULLTRACE_ELEMENT = "fulltrace"; + + public LogItem(String text) { + this.text = text; + } + + public StringBuilder toStringBuilder(int id) { + StringBuilder sb = new StringBuilder(); + sb.append(" <" + ITEM_ELEMENT + " " + ITEM_ID_ATTRIBUTE + "=\"").append(id).append("\">\n"); + sb.append(" <" + STAMP_ELEMENT + "><![CDATA[").append(timeStamp.toString()).append("]]></" + STAMP_ELEMENT + ">\n"); + sb.append(" <" + TEXT_ELEMENT + "><![CDATA[\n").append(text).append("\n]]></" + TEXT_ELEMENT + ">\n"); + sb.append(" <" + FULLTRACE_ELEMENT + "><![CDATA[\n"); + //five methods since call in log methods + getStacktrace method + for (int i = 6; i < fullTrace.length; i++) { + sb.append(fullTrace[i].toString()).append("\n"); + } + sb.append("\n]]> </" + FULLTRACE_ELEMENT + ">\n"); + sb.append(" </" + ITEM_ELEMENT + ">\n"); + return sb; + } +} diff --git a/tests/test-extensions/net/sourceforge/jnlp/LoggingBottleneck.java b/tests/test-extensions/net/sourceforge/jnlp/LoggingBottleneck.java new file mode 100644 index 0000000..3f4de4b --- /dev/null +++ b/tests/test-extensions/net/sourceforge/jnlp/LoggingBottleneck.java @@ -0,0 +1,215 @@ +/* LoggingBottleneck.java +Copyright (C) 2011,2012 Red Hat, Inc. + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License as published by +the Free Software Foundation, version 2. + +IcedTea is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to +the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. + */ + +package net.sourceforge.jnlp; + +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.OutputStreamWriter; +import java.io.Writer; +import java.lang.reflect.Method; +import java.util.HashMap; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; +import net.sourceforge.jnlp.annotations.TestInBrowsers; +import net.sourceforge.jnlp.browsertesting.BrowserTest; +import net.sourceforge.jnlp.browsertesting.Browsers; + +public class LoggingBottleneck { + + /** + * default singleton + */ + private static LoggingBottleneck loggingBottleneck; + private static final File DEFAULT_LOG_FILE = new File("ServerAccess-logs.xml"); + private static final File DEFAULT_STDERR_FILE = new File("stderr.log"); + private static final File DEFAULT_STDOUT_FILE = new File("stdout.log"); + private static final File DEFAULT_STDLOGS_FILE = new File("all.log"); + private static final String LOGS_ELEMENT = "logs"; + private static final String CLASSLOG_ELEMENT = "classlog"; + private static final String CLASSNAME_ATTRIBUTE = "className"; + private static final String TESTLOG_ELEMENT = "testLog"; + private static final String TESTMETHOD_ATTRIBUTE = "testMethod"; + private static final String FULLID_ATTRIBUTE = "fullId"; + private BufferedWriter DEFAULT_STDERR_WRITER; + private BufferedWriter DEFAULT_STDOUT_WRITER; + private BufferedWriter DEFAULT_STDLOGS_WRITER; + /** + * This is static copy of name of id of currentBrowser for logging purposes + */ + private String loggedBrowser = Browsers.none.toString(); + /** + * map of classes, each have map of methods, each have errorlist, outLIst, and allList (allist contains also not std or err messages) + * class.testMethod.logs + */ + final Map<String, Map<String, TestsLogs>> processLogs = new HashMap<String, Map<String, TestsLogs>>(100); + private boolean added = false; + + public static LoggingBottleneck getDefaultLoggingBottleneck() { + if (loggingBottleneck == null) { + loggingBottleneck = new LoggingBottleneck(); + } + return loggingBottleneck; + + } + + private LoggingBottleneck() { + try { + DEFAULT_STDOUT_WRITER = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(DEFAULT_STDOUT_FILE))); + DEFAULT_STDERR_WRITER = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(DEFAULT_STDERR_FILE))); + DEFAULT_STDLOGS_WRITER = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(DEFAULT_STDLOGS_FILE))); + } catch (Throwable t) { + t.printStackTrace(); + } + } + + void writeXmlLog() throws FileNotFoundException, IOException { + writeXmlLog(DEFAULT_LOG_FILE); + } + + void writeXmlLog(File f) throws FileNotFoundException, IOException { + Writer w = new OutputStreamWriter(new FileOutputStream(f)); + Set<Entry<String, Map<String, TestsLogs>>> classes = processLogs.entrySet(); + w.write("<" + LOGS_ELEMENT + ">"); + for (Entry<String, Map<String, TestsLogs>> classLog : classes) { + String className = classLog.getKey(); + w.write("<" + CLASSLOG_ELEMENT + " " + CLASSNAME_ATTRIBUTE + "=\"" + className + "\">"); + Set<Entry<String, TestsLogs>> testsLogs = classLog.getValue().entrySet(); + for (Entry<String, TestsLogs> testLog : testsLogs) { + String testName = testLog.getKey(); + String testLogs = testLog.getValue().toString(); + w.write("<" + TESTLOG_ELEMENT + " " + TESTMETHOD_ATTRIBUTE + "=\"" + testName + "\" " + FULLID_ATTRIBUTE + "=\"" + className + "." + testName + "\" >"); + w.write(testLogs); + w.write("</" + TESTLOG_ELEMENT + ">"); + } + w.write("</" + CLASSLOG_ELEMENT + ">"); + } + w.write("</" + LOGS_ELEMENT + ">"); + w.flush(); + w.close(); + } + + void addToXmlLog(String message, boolean printToOut, boolean printToErr, StackTraceElement ste) { + Map<String, TestsLogs> classLog = processLogs.get(ste.getClassName()); + if (classLog == null) { + classLog = new HashMap<String, TestsLogs>(50); + processLogs.put(ste.getClassName(), classLog); + } + String methodBrowseredName = ste.getMethodName(); + methodBrowseredName = modifyMethodWithForBrowser(methodBrowseredName, ste.getClassName()); + TestsLogs methodLog = classLog.get(methodBrowseredName); + if (methodLog == null) { + methodLog = new TestsLogs(); + classLog.put(methodBrowseredName, methodLog); + } + if (!added) { + Runtime.getRuntime().addShutdownHook(new Thread() { + + @Override + public void run() { + try { + LoggingBottleneck.getDefaultLoggingBottleneck().writeXmlLog(); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + }); + added = true; + } + methodLog.add(printToErr, printToOut, message); + } + + public String modifyMethodWithForBrowser(String methodBrowseredName, String className) { + try { + Class clazz = Class.forName(className); + /* + * By using this isAssignable to ensure corect class before invocation, + * then we lost possibility to track manualy set browsers, but it is correct, + * as method description is set only when annotation is used + */ + if (clazz != null && BrowserTest.class.isAssignableFrom(clazz)) { + Method testMethod = clazz.getMethod(methodBrowseredName); + if (testMethod != null) { + TestInBrowsers tib = testMethod.getAnnotation(TestInBrowsers.class); + if (tib != null) { + methodBrowseredName = methodBrowseredName + " - " + loggedBrowser; + } + } + } + } catch (Throwable ex) { + ex.printStackTrace(); + } + return methodBrowseredName; + } + + public void setLoggedBrowser(String loggedBrowser) { + this.loggedBrowser = loggedBrowser; + } + + public void logIntoPlaintextLog(String message, boolean printToOut, boolean printToErr) { + try { + if (printToOut) { + LoggingBottleneck.getDefaultLoggingBottleneck().stdout(message); + } + if (printToErr) { + LoggingBottleneck.getDefaultLoggingBottleneck().stderr(message); + } + LoggingBottleneck.getDefaultLoggingBottleneck().stdeall(message); + } catch (Throwable t) { + t.printStackTrace(); + } + } + + private void stdout(String idded) throws IOException { + DEFAULT_STDOUT_WRITER.write(idded); + DEFAULT_STDOUT_WRITER.newLine(); + } + + private void stderr(String idded) throws IOException { + DEFAULT_STDERR_WRITER.write(idded); + DEFAULT_STDERR_WRITER.newLine(); + } + + private void stdeall(String idded) throws IOException { + DEFAULT_STDLOGS_WRITER.write(idded); + DEFAULT_STDLOGS_WRITER.newLine(); + } +} diff --git a/tests/test-extensions/net/sourceforge/jnlp/ProcessAssasin.java b/tests/test-extensions/net/sourceforge/jnlp/ProcessAssasin.java new file mode 100644 index 0000000..c910311 --- /dev/null +++ b/tests/test-extensions/net/sourceforge/jnlp/ProcessAssasin.java @@ -0,0 +1,159 @@ +/* ProcessAssasin.java +Copyright (C) 2011,2012 Red Hat, Inc. + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License as published by +the Free Software Foundation, version 2. + +IcedTea is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to +the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. + */ + +package net.sourceforge.jnlp; + +/** + * class which timeout any ThreadedProcess. This killing of 'thread with process' replaced not working process.destroy(). + */ +class ProcessAssasin extends Thread { + + long timeout; + private final ThreadedProcess p; + //false == is disabled:( + private boolean canRun = true; + private boolean wasTerminated = false; + /** + * if this is true, then process is not destroyed after timeout, but just left to its own destiny. + * Its stdout/err is no longer recorded, and it is leaking system resources until it dies by itself + * The contorl is returned to main thread with all informations recorded untill now. + * You will be able to listen to std out from listeners still + */ + private boolean skipInstedOfDesroy = false; + + public ProcessAssasin(ThreadedProcess p, long timeout) { + this.p = (p); + this.timeout = timeout; + } + + public ProcessAssasin(ThreadedProcess p, long timeout, boolean skipInstedOfDesroy) { + this.p = (p); + this.timeout = timeout; + this.skipInstedOfDesroy = skipInstedOfDesroy; + } + + public void setCanRun(boolean canRun) { + this.canRun = canRun; + if (p != null) { + if (p.getP() != null) { + ServerAccess.logNoReprint("Stopping assassin for" + p.toString() + " " + p.getP().toString() + " " + p.getCommandLine() + ": "); + } else { + ServerAccess.logNoReprint("Stopping assassin for" + p.toString() + " " + p.getCommandLine() + ": "); + } + } else { + ServerAccess.logNoReprint("Stopping assassin for null job: "); + } + } + + public boolean isCanRun() { + return canRun; + } + + public boolean wasTerminated() { + return wasTerminated; + } + + public void setSkipInstedOfDesroy(boolean skipInstedOfDesroy) { + this.skipInstedOfDesroy = skipInstedOfDesroy; + } + + public boolean isSkipInstedOfDesroy() { + return skipInstedOfDesroy; + } + + @Override + public void run() { + long startTime = System.nanoTime() / ServerAccess.NANO_TIME_DELIMITER; + while (canRun) { + try { + long time = System.nanoTime() / ServerAccess.NANO_TIME_DELIMITER; + //ServerAccess.logOutputReprint(time - startTime); + //ServerAccess.logOutputReprint((time - startTime) > timeout); + if ((time - startTime) > timeout) { + try { + if (p != null) { + if (p.getP() != null) { + ServerAccess.logErrorReprint("Timed out " + p.toString() + " " + p.getP().toString() + " .. killing " + p.getCommandLine() + ": "); + } else { + ServerAccess.logErrorReprint("Timed out " + p.toString() + " " + "null .. killing " + p.getCommandLine() + ": "); + } + wasTerminated = true; + p.interrupt(); + while (!ServerAccess.terminated.contains(p)) { + Thread.sleep(100); + } + if (p.getP() != null) { + try { + if (!skipInstedOfDesroy) { + p.getP().destroy(); + } + } catch (Throwable ex) { + if (p.deadlyException == null) { + p.deadlyException = ex; + } + ex.printStackTrace(); + } + } + if (p.getP() != null) { + ServerAccess.logErrorReprint("Timed out " + p.toString() + " " + p.getP().toString() + " .. killed " + p.getCommandLine()); + } else { + ServerAccess.logErrorReprint("Timed out " + p.toString() + " null .. killed " + p.getCommandLine()); + } + } else { + ServerAccess.logErrorReprint("Timed out null job"); + } + break; + } finally { + p.setDestoyed(true); + } + } + Thread.sleep(100); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + if (p != null) { + if (p.getP() != null) { + ServerAccess.logNoReprint("assassin for" + p.toString() + " " + p.getP().toString() + " .. done " + p.getCommandLine() + " termination " + wasTerminated); + } else { + ServerAccess.logNoReprint("assassin for" + p.toString() + " null .. done " + p.getCommandLine() + " termination " + wasTerminated); + } + } else { + ServerAccess.logNoReprint("assassin for non existing job termination " + wasTerminated); + } + } +} diff --git a/tests/test-extensions/net/sourceforge/jnlp/ProcessResult.java b/tests/test-extensions/net/sourceforge/jnlp/ProcessResult.java new file mode 100644 index 0000000..d436f72 --- /dev/null +++ b/tests/test-extensions/net/sourceforge/jnlp/ProcessResult.java @@ -0,0 +1,69 @@ +/* ProcessResult.java +Copyright (C) 2011,2012 Red Hat, Inc. + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License as published by +the Free Software Foundation, version 2. + +IcedTea is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to +the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. + */ + +package net.sourceforge.jnlp; + +/** + * artefacts what are left by finished process + */ +public class ProcessResult { + + public final String stdout; + public final String notFilteredStdout; + public final String stderr; + public final Process process; + public final Integer returnValue; + public final boolean wasTerminated; + /* + * possible exception which caused Process not to be launched + */ + public final Throwable deadlyException; + + public ProcessResult(String stdout, String stderr, Process process, boolean wasTerminated, Integer r, Throwable deadlyException) { + this.notFilteredStdout = stdout; + if (stdout == null) { + this.stdout = null; + } else { + this.stdout = stdout.replaceAll("EMMA:.*\n?", ""); + } + this.stderr = stderr; + this.process = process; + this.wasTerminated = wasTerminated; + this.returnValue = r; + this.deadlyException = deadlyException; + } +} diff --git a/tests/netx/jnlp_testsengine/net/sourceforge/jnlp/ResourcesTest.java b/tests/test-extensions/net/sourceforge/jnlp/ResourcesTest.java index 097ac4f..097ac4f 100644 --- a/tests/netx/jnlp_testsengine/net/sourceforge/jnlp/ResourcesTest.java +++ b/tests/test-extensions/net/sourceforge/jnlp/ResourcesTest.java diff --git a/tests/test-extensions/net/sourceforge/jnlp/ServerAccess.java b/tests/test-extensions/net/sourceforge/jnlp/ServerAccess.java new file mode 100644 index 0000000..353d208 --- /dev/null +++ b/tests/test-extensions/net/sourceforge/jnlp/ServerAccess.java @@ -0,0 +1,828 @@ +/* ServerAccess.java +Copyright (C) 2011 Red Hat, Inc. + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License as published by +the Free Software Foundation, version 2. + +IcedTea is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to +the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. + */ +package net.sourceforge.jnlp; + +import java.io.BufferedReader; +import java.io.BufferedWriter; +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.OutputStream; +import java.io.OutputStreamWriter; +import java.io.PrintWriter; +import java.io.StringWriter; +import java.io.Writer; +import java.net.HttpURLConnection; +import java.net.MalformedURLException; +import java.net.ServerSocket; +import java.net.URL; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Set; +import net.sourceforge.jnlp.browsertesting.Browser; +import net.sourceforge.jnlp.browsertesting.BrowserFactory; +import net.sourceforge.jnlp.browsertesting.Browsers; +import org.junit.Assert; + +/** + * + * This class provides access to virtual server and stuff around. + * It can find unoccupied port, start server, provides its singleton instantiation, lunch parallel instantiations, + * read location of installed (tested javaws) see javaws.build.bin java property, + * location of server www root on file system (see test.server.dir java property), + * stubs for lunching javaws and for locating resources and read resources. + * + * It can also execute processes with timeout (@see PROCESS_TIMEOUT) (used during lunching javaws) + * Some protected apis are exported because public classes in this package are put to be tested by makefile. + * + * There are included test cases which show some basic usages. + * + * + */ +public class ServerAccess { + + public static final long NANO_TIME_DELIMITER=1000000l; + /** + * java property which value containing path to default (makefile by) directory with deployed resources + */ + public static final String TEST_SERVER_DIR = "test.server.dir"; + /** + * java property which value containing path to installed (makefile by) javaws binary + */ + public static final String JAVAWS_BUILD_BIN = "javaws.build.bin"; + /** property to set the different then default browser + */ + public static final String USED_BROWSERS = "used.browsers"; + public static final String DEFAULT_LOCALHOST_NAME = "localhost"; + /** + * server instance singleton + */ + private static ServerLauncher server; + /** + * inner version of engine + */ + private static final String version = "5"; + /** + * timeout to read 'remote' resources + * This can be changed in runtime, but will affect all following tasks + */ + public static int READ_TIMEOUT = 1000; + /** + * timeout in ms to let process to finish, before assassin will kill it. + * This can be changed in runtime, but will affect all following tasks + */ + public static long PROCESS_TIMEOUT = 20 * 1000;//ms + /** + * all terminated processes are stored here. As wee need to 'wait' to termination to be finished. + */ + static Set<Thread> terminated = new HashSet<Thread>(); + /** + * this flag is indicating whether output of executeProcess should be logged. By default true. + */ + public static boolean PROCESS_LOG = true; + public static boolean LOGS_REPRINT = false; + + private Browser currentBrowser; + public static final String UNSET_BROWSER="unset_browser"; + + /** + * main method of this class prints out random free port + * or runs server + * param "port" prints out the port + * nothing or number will run server on random(or on number specified) + * port in -Dtest.server.dir + */ + public static void main(String[] args) throws Exception { + if (args.length > 0 && args[0].equalsIgnoreCase("port")) { + int i = findFreePort(); + System.out.println(i); + System.exit(0); + } else { + int port = 44321; + if (args.length > 0) { + port=new Integer(args[0]); + } + getIndependentInstance(port); + while (true) { + Thread.sleep(1000); + } + + } + } + + /** + * utility method to find random free port + * + * @return - found random free port + * @throws IOException - if socket can't be opened or no free port exists + */ + public static int findFreePort() + throws IOException { + ServerSocket findPortTestingSocket = new ServerSocket(0); + int port = findPortTestingSocket.getLocalPort(); + findPortTestingSocket.close(); + return port; + } + public static final String HEADLES_OPTION="-headless"; + + /** + * we would like to have an singleton instance ASAP + */ + public ServerAccess() { + + getInstance(); + + + } + + /** + * + * @return cached instance. If none, then creates new + */ + public static ServerLauncher getInstance() { + if (server == null) { + server = getIndependentInstance(); + } + return server; + } + + /** + * + * @return new not cached iserver instance on random port, + * useful for testing application loading from different url then base + */ + public static ServerLauncher getIndependentInstance() { + return getIndependentInstance(true); + } + public static ServerLauncher getIndependentInstance(boolean daemon) { + String dir = (System.getProperty(TEST_SERVER_DIR)); + try{ + return getIndependentInstance(dir, findFreePort(),daemon); + }catch (Exception ex){ + throw new RuntimeException(ex); + } + } + + + /** + * + * @return new not cached iserver instance on random port, + * useful for testing application loading from different url then base + */ + + public static ServerLauncher getIndependentInstance(int port) { + return getIndependentInstance(port, true); + } + public static ServerLauncher getIndependentInstance(int port,boolean daemon) { + String dir = (System.getProperty(TEST_SERVER_DIR)); + return getIndependentInstance(dir,port,daemon); + } + + /** + * + * @return new not cached iserver instance on random port upon custom www root directory, + * useful for testing application loading from different url then base + */ + + public static ServerLauncher getIndependentInstance(String dir, int port) { + return getIndependentInstance(dir, port, true); + } + public static ServerLauncher getIndependentInstance(String dir, int port,boolean daemon) { + + + if (dir == null || dir.trim().length() == 0 || !new File(dir).exists() || !new File(dir).isDirectory()) { + throw new RuntimeException("test.server.dir property must be set to valid directory!"); + } + try { + ServerLauncher lServerLuncher = new ServerLauncher(port, new File(dir)); + Thread r=new Thread(lServerLuncher); + r.setDaemon(daemon); + r.start(); + return lServerLuncher; + } catch (Exception ex) { + throw new RuntimeException(ex); + } + + } + + /** + * + * @return - value passed inside as javaws binary location. See JAVAWS_BUILD_BIN + */ + public String getJavawsLocation() { + return System.getProperty(JAVAWS_BUILD_BIN); + } + + /** + * + * @return - bianry from where to lunch current browser + */ + public String getBrowserLocation() { + if (this.currentBrowser==null) return UNSET_BROWSER; + return this.currentBrowser.getBin(); + } + + public List<String> getBrowserParams() { + if (this.currentBrowser==null) return null; + List<String> l1=this.currentBrowser.getComaptibilitySwitches(); + List<String> l2=this.currentBrowser.getDefaultSwitches(); + List<String> l= new ArrayList(); + if (l1!=null)l.addAll(l1); + if (l2!=null)l.addAll(l2); + return l; + + } + + public Browsers getCurrentBrowsers() { + if (currentBrowser==null) return null; + return currentBrowser.getID(); + } + public Browser getCurrentBrowser() { + return currentBrowser; + } + + public void setCurrentBrowser(Browsers currentBrowser) { + this.currentBrowser = BrowserFactory.getFactory().getBrowser(currentBrowser); + if (this.currentBrowser == null) { + LoggingBottleneck.getDefaultLoggingBottleneck().setLoggedBrowser(UNSET_BROWSER); + } else { + LoggingBottleneck.getDefaultLoggingBottleneck().setLoggedBrowser(this.currentBrowser.getID().toString()); + } + } + + public void setCurrentBrowser(Browser currentBrowser) { + this.currentBrowser = currentBrowser; + if (this.currentBrowser == null) { + LoggingBottleneck.getDefaultLoggingBottleneck().setLoggedBrowser(UNSET_BROWSER); + } else { + LoggingBottleneck.getDefaultLoggingBottleneck().setLoggedBrowser(this.currentBrowser.getID().toString()); + } + } + + + + /** + * + * @return - value passed inside as javaws binary location as file. See JAVAWS_BUILD_BIN + */ + public File getJavawsFile() { + return new File(System.getProperty(JAVAWS_BUILD_BIN)); + } + + /** + * + * @return port on which is running cached server. If non singleton instance is running, new is created. + */ + public int getPort() { + if (server == null) { + getInstance(); + } + //if (!server.isRunning()) throw new RuntimeException("Server mysteriously died"); + return server.getPort(); + + } + + /** + * + * @return directory upon which is running cached server. If non singleton instance is running, new is created. + */ + public File getDir() { + if (server == null) { + getInstance(); + } + // if (!server.isRunning()) throw new RuntimeException("Server mysteriously died"); + return server.getDir(); + } + + /** + * + * @return url pointing to cached server resource. If non singleton instance is running, new is created. + */ + public URL getUrl(String resource) throws MalformedURLException { + if (server == null) { + getInstance(); + } + //if (!server.isRunning()) throw new RuntimeException("Server mysteriously died"); + return server.getUrl(resource); + } + + /** + * + * @return url pointing to cached server . If non singleton instance is running, new is created. + */ + public URL getUrl() throws MalformedURLException { + return getUrl(""); + + } + + /** + * + * @return whether cached server is alive. If non singleton instance is running, new is created. + */ + public boolean isRunning() { + if (server == null) { + getInstance(); + } + //if (!server.isRunning()) throw new RuntimeException("Server mysteriously died"); + return server.isRunning(); + + } + + /** + * Return resource from cached server + * + * @param resource to be located on cached server + * @return individual bytes of resource + * @throws IOException if connection can't be established or resource does not exist + */ + public ByteArrayOutputStream getResourceAsBytes(String resource) throws IOException { + return getResourceAsBytes(getUrl(resource)); + } + + /** + * Return resource from cached server + * + * @param resource to be located on cached server + * @return string constructed from resource + * @throws IOException if connection can't be established or resource does not exist + */ + public String getResourceAsString(String resource) throws IOException { + return getResourceAsString(getUrl(resource)); + } + + /** + * utility method which can read bytes of any stream + * + * @param input stream to be read + * @return individual bytes of resource + * @throws IOException if connection can't be established or resource does not exist + */ + public static ByteArrayOutputStream getBytesFromStream(InputStream is) throws IOException { + ByteArrayOutputStream buffer = new ByteArrayOutputStream(); + int nRead; + byte[] data = new byte[16384]; + while ((nRead = is.read(data, 0, data.length)) != -1) { + buffer.write(data, 0, nRead); + } + buffer.flush(); + return buffer; + } + + /** + * utility method which can read from any stream as one long String + * + * @param input stream + * @return stream as string + * @throws IOException if connection can't be established or resource does not exist + */ + public static String getContentOfStream(InputStream is,String encoding) throws IOException { + try { + BufferedReader br = new BufferedReader(new InputStreamReader(is, encoding)); + StringBuilder sb = new StringBuilder(); + while (true) { + String s = br.readLine(); + if (s == null) { + break; + } + sb.append(s).append("\n"); + + } + return sb.toString(); + } finally { + is.close(); + } + + } + + /** + * utility method which can read from any stream as one long String + * + * @param input stream + * @return stream as string + * @throws IOException if connection can't be established or resource does not exist + */ + public static String getContentOfStream(InputStream is) throws IOException { + return getContentOfStream(is, "UTF-8"); + + } + + /** + * utility method which can read bytes of resource from any url + * + * @param resource to be located on any url + * @return individual bytes of resource + * @throws IOException if connection can't be established or resource does not exist + */ + public static ByteArrayOutputStream getResourceAsBytes(URL u) throws IOException { + HttpURLConnection connection = (HttpURLConnection) u.openConnection(); + connection = (HttpURLConnection) u.openConnection(); + connection.setRequestMethod("GET"); + connection.setDoOutput(true); + connection.setReadTimeout(READ_TIMEOUT); + connection.connect(); + return getBytesFromStream(connection.getInputStream()); + + } + + /** + * utility method which can read string of resource from any url + * + * @param resource to be located on any url + * @return resource as string + * @throws IOException if connection can't be established or resource does not exist + */ + public static String getResourceAsString(URL u) throws IOException { + HttpURLConnection connection = (HttpURLConnection) u.openConnection(); + connection = (HttpURLConnection) u.openConnection(); + connection.setRequestMethod("GET"); + connection.setDoOutput(true); + connection.setReadTimeout(READ_TIMEOUT); + connection.connect(); + return getContentOfStream(connection.getInputStream()); + } + + /** + * helping dummy method to save String as file + * + * @param content + * @param f + * @throws IOException + */ + public static void saveFile(String content, File f) throws IOException { + saveFile(content, f, "utf-8"); + } + public static void saveFile(String content, File f,String encoding) throws IOException { + Writer output = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(f),encoding)); + output.write(content); + output.flush(); + output.close(); + } + + /** + * wrapping method to executeProcess (eg: javaws -headless http://localhost:port/resource) + * will execute default javaws (@see JAVAWS_BUILD_BIN) upon default url upon cached server (@see SERVER_NAME @see getPort(), @see getInstance()) + * with parameter -headless (no gui, no asking) + * @param resource name of resource + * @return result what left after running this process + * @throws Exception + */ + public ProcessResult executeJavawsHeadless(String resource) throws Exception { + return executeJavawsHeadless(null, resource); + } + public ProcessResult executeJavawsHeadless(String resource,ContentReaderListener stdoutl,ContentReaderListener stderrl) throws Exception { + return executeJavawsHeadless(null, resource,stdoutl,stderrl); + } + + /** + * wrapping method to executeProcess (eg: javaws arg arg -headless http://localhost:port/resource) + * will execute default javaws (@see JAVAWS_BUILD_BIN) upon default url upon cached server (@see SERVER_NAME @see getPort(), @see getInstance()) + * with parameter -headless (no gui, no asking) + * @param resource name of resource + * @param otherargs other arguments to be added to headless one + * @return result what left after running this process + * @throws Exception + */ + public ProcessResult executeJavawsHeadless(List<String> otherargs, String resource) throws Exception { + return executeJavawsHeadless(otherargs, resource,null,null); + } + public ProcessResult executeJavawsHeadless(List<String> otherargs, String resource,ContentReaderListener stdoutl,ContentReaderListener stderrl) throws Exception { + if (otherargs == null) { + otherargs = new ArrayList<String>(1); + } + List<String> headlesList = new ArrayList<String>(otherargs); + headlesList.add(HEADLES_OPTION); + return executeJavaws(headlesList, resource,stdoutl,stderrl); + } + + + /** + * wrapping method to executeProcess (eg: javaws http://localhost:port/resource) + * will execute default javaws (@see JAVAWS_BUILD_BIN) upon default url upon cached server (@see SERVER_NAME @see getPort(), @see getInstance()) + * @param resource name of resource + * @return result what left after running this process + * @throws Exception + */ + public ProcessResult executeJavaws(String resource) throws Exception { + return executeJavaws(null, resource); + } + public ProcessResult executeJavaws(String resource,ContentReaderListener stdoutl,ContentReaderListener stderrl) throws Exception { + return executeJavaws(null, resource,stdoutl,stderrl); + } + public ProcessResult executeBrowser(String resource) throws Exception { + return executeBrowser(getBrowserParams(), resource); + } + public ProcessResult executeBrowser(String resource,ContentReaderListener stdoutl,ContentReaderListener stderrl) throws Exception { + return executeBrowser(getBrowserParams(), resource,stderrl,stdoutl); + } + + /** + * wrapping method to executeProcess (eg: javaws arg arg http://localhost:port/resource) + * will execute default javaws (@see JAVAWS_BUILD_BIN) upon default url upon cached server (@see SERVER_NAME @see getPort(), @see getInstance())) + * @param resource name of resource + * @param otherargs other arguments to be added + * @return result what left after running this process + * @throws Exception + */ + public ProcessResult executeJavaws(List<String> otherargs, String resource) throws Exception { + return executeProcessUponURL(getJavawsLocation(), otherargs, getUrlUponThisInstance(resource)); + } + public ProcessResult executeJavaws(List<String> otherargs, String resource,ContentReaderListener stdoutl,ContentReaderListener stderrl) throws Exception { + return executeProcessUponURL(getJavawsLocation(), otherargs, getUrlUponThisInstance(resource),stdoutl,stderrl); + } + + public ProcessResult executeBrowser(List<String> otherargs, String resource) throws Exception { + return executeProcessUponURL(getBrowserLocation(), otherargs, getUrlUponThisInstance(resource)); + } + public ProcessResult executeBrowser(List<String> otherargs, String resource,ContentReaderListener stdoutl,ContentReaderListener stderrl) throws Exception { + return executeProcessUponURL(getBrowserLocation(), otherargs, getUrlUponThisInstance(resource),stdoutl,stderrl); + } + + public ProcessResult executeBrowser(Browser b,List<String> otherargs, String resource) throws Exception { + return executeProcessUponURL(b.getBin(), otherargs, getUrlUponThisInstance(resource)); + } + public ProcessResult executeBrowser(Browser b,List<String> otherargs, String resource,ContentReaderListener stdoutl,ContentReaderListener stderrl) throws Exception { + return executeProcessUponURL(b.getBin(), otherargs, getUrlUponThisInstance(resource),stdoutl,stderrl); + } + + /** + * Ctreate resource on http, on 'localhost' on port on which this instance is running + * @param resource + * @return + * @throws MalformedURLException + */ + public URL getUrlUponThisInstance(String resource) throws MalformedURLException { + if (!resource.startsWith("/")) { + resource = "/" + resource; + } + return new URL("http", server.getServerName(), getPort(), resource); + } + + /** + * wrapping method to executeProcess (eg: javaws arg arg arg url) + * will execute default javaws (@see JAVAWS_BUILD_BIN) upon any server + * @param u url of resource upon any server + * @param javaws arguments + * @return result what left after running this process + * @throws Exception + */ + public ProcessResult executeJavawsUponUrl(List<String> otherargs, URL u) throws Exception { + return executeProcessUponURL(getJavawsLocation(), otherargs, u); + } + public ProcessResult executeJavawsUponUrl(List<String> otherargs, URL u,ContentReaderListener stdoutl,ContentReaderListener stderrl) throws Exception { + return executeProcessUponURL(getJavawsLocation(), otherargs, u,stdoutl,stderrl); + } + + /** + * wrapping utility method to executeProcess (eg: any_binary arg arg arg url) + * + * will execute any process upon url upon any server + * @param u url of resource upon any server + * @param javaws arguments + * @return result what left after running this process + * @throws Exception + */ + public static ProcessResult executeProcessUponURL(String toBeExecuted, List<String> otherargs, URL u) throws Exception { + return executeProcessUponURL(toBeExecuted, otherargs, u,null,null); + } + + public static ProcessResult executeProcessUponURL(String toBeExecuted, List<String> otherargs, URL u,ContentReaderListener stdoutl,ContentReaderListener stderrl) throws Exception { + Assert.assertNotNull(u); + Assert.assertNotNull(toBeExecuted); + Assert.assertTrue(toBeExecuted.trim().length() > 1); + if (otherargs == null) { + otherargs = new ArrayList<String>(1); + } + List<String> urledArgs = new ArrayList<String>(otherargs); + urledArgs.add(0, toBeExecuted); + urledArgs.add(u.toString()); + return executeProcess(urledArgs, stdoutl, stderrl); + } + + public static ProcessResult executeProcess(final List<String> args) throws Exception { + return executeProcess(args, null); + } + public static ProcessResult executeProcess(final List<String> args,ContentReaderListener stdoutl,ContentReaderListener stderrl) throws Exception { + return executeProcess(args, null,stdoutl,stderrl); + } + /** + * utility method to lunch process, get its stdout/stderr, its return value and to kill it if running to long (@see PROCESS_TIMEOUT) + * + * + * Small bacground: + * This method creates thread inside which exec will be executed. Then creates assassin thread with given timeout to kill the previously created thread if necessary. + * Starts assassin thread, starts process thread. Wait until process is running, then starts content readers. + * Closes input of process. + * Wait until process is running (no matter if it terminate itself (correctly or badly), or is terminated by its assassin. + * Construct result from readed stdout, stderr, process return value, assassin successfully + * + * @param args binary with args to be executed + * @param dir optional, directory where this process will run + * @return what left from process - process itself, its stdout, stderr and return value and whether it was terminated by assassin. + * @throws Exception + */ + public static ProcessResult executeProcess(final List<String> args,File dir) throws Exception { + return executeProcess(args, dir, null, null); + } + + private static String createConnectionMessage(ThreadedProcess t) { + return "Connecting " + t.getCommandLine(); + } + + /** + * Proceed message s to logging with request to reprint to System.err + * @param s + */ + public static void logErrorReprint(String s) { + log(s, false, true); + } + + /** + * Proceed message s to logging with request to reprint to System.out + * @param s + */ + public static void logOutputReprint(String s) { + log(s, true, false); + } + + /** + * Proceed message s to logging withhout request to reprint + * @param s + */ + public static void logNoReprint(String s) { + log(s, false, false); + } + + private static void log(String message, boolean printToOut, boolean printToErr) { + String idded; + StackTraceElement ste = getTestMethod(); + String fullId = ste.getClassName() + "." + ste.getMethodName(); + fullId = LoggingBottleneck.getDefaultLoggingBottleneck().modifyMethodWithForBrowser(ste.getMethodName(), ste.getClassName()); + if (message.contains("\n")) { + idded = fullId + ": \n" + message + "\n" + fullId + " ---"; + } else { + idded = fullId + ": " + message; + + } + if (LOGS_REPRINT) { + if (printToOut) { + System.out.println(idded); + } + if (printToErr) { + System.err.println(idded); + } + } + LoggingBottleneck.getDefaultLoggingBottleneck().logIntoPlaintextLog(idded, printToOut,printToErr); + LoggingBottleneck.getDefaultLoggingBottleneck().addToXmlLog(message,printToOut,printToErr,ste); + } + + public static void logException(Throwable t){ + logException(t, true); + } + public static void logException(Throwable t, boolean print){ + try{ + StringWriter sw = new StringWriter(); + PrintWriter pw = new PrintWriter(sw); + t.printStackTrace(pw); + log(sw.toString(), false, print); + pw.close(); + sw.close(); + }catch(Exception ex){ + throw new RuntimeException(ex); + } + } + + private static StackTraceElement getTestMethod() { + return getTestMethod(Thread.currentThread().getStackTrace()); + } + + private static StackTraceElement getTestMethod(StackTraceElement[] stack) { + //0 is always thread + //1 is net.sourceforge.jnlp.ServerAccess + StackTraceElement result = stack[1]; + String baseClass = stack[1].getClassName(); + int i = 2; + for (; i < stack.length; i++) { + result = stack[i];//at least moving up + if(stack[i].getClassName().contains("$")){ + continue; + } + if (!baseClass.equals(stack[i].getClassName())) { + break; + } + } + //if nothing left in stack then we have been in ServerAccess already + //so the target method is the highest form it and better to return it + //rather then die to ArrayOutOfBounds + if(i >= stack.length){ + return result; + } + //now we are out of net.sourceforge.jnlp.ServerAccess + //method we need (the test) is highest from following class + baseClass = stack[i].getClassName(); + for (; i < stack.length; i++) { + if(stack[i].getClassName().contains("$")){ + continue; + } + if (!baseClass.equals(stack[i].getClassName())) { + break; + } + result = stack[i]; + } + + return result; + } + + public static ProcessResult executeProcess(final List<String> args, File dir, ContentReaderListener stdoutl, ContentReaderListener stderrl) throws Exception { + ThreadedProcess t = new ThreadedProcess(args, dir); + if (PROCESS_LOG) { + String connectionMesaage = createConnectionMessage(t); + log(connectionMesaage, true, true); + } + ProcessAssasin pa = new ProcessAssasin(t, PROCESS_TIMEOUT); + pa.start(); + t.start(); + while (t.getP() == null && t.deadlyException == null) { + Thread.sleep(100); + } + if (t.deadlyException != null) { + pa.setCanRun(false); + return new ProcessResult("", "", null, true, Integer.MIN_VALUE, t.deadlyException); + } + ContentReader crs = new ContentReader(t.getP().getInputStream(),stdoutl); + ContentReader cre = new ContentReader(t.getP().getErrorStream(),stderrl); + + OutputStream out = t.getP().getOutputStream(); + if (out != null) { + out.close(); + } + + new Thread(crs).start(); + new Thread(cre).start(); + while (t.isRunning()) { + Thread.sleep(100); + } + + while (!t.isDestoyed()) { + Thread.sleep(100); + } + pa.setCanRun(false); + // ServerAccess.logOutputReprint(t.getP().exitValue()); when process is killed, this throws exception + + ProcessResult pr=new ProcessResult(crs.getContent(), cre.getContent(), t.getP(), pa.wasTerminated(), t.getExitCode(), null); + if (PROCESS_LOG) { + log(pr.stdout, true, false); + log(pr.stderr, false, true); + } + return pr; + } + + /** + * this is temprary solution until refactoring is fully done + * Use net.sourceforge.jnlp.ProcessResult instead + */ + @Deprecated + public static class ProcessResult extends net.sourceforge.jnlp.ProcessResult { + + public ProcessResult(String stdout, String stderr, Process process, boolean wasTerminated, Integer r, Throwable deadlyException) { + super(stdout, stderr, process, wasTerminated, r, deadlyException); + } + } + } diff --git a/tests/test-extensions/net/sourceforge/jnlp/ServerLauncher.java b/tests/test-extensions/net/sourceforge/jnlp/ServerLauncher.java new file mode 100644 index 0000000..92634cc --- /dev/null +++ b/tests/test-extensions/net/sourceforge/jnlp/ServerLauncher.java @@ -0,0 +1,120 @@ +/* ServerLauncher.java +Copyright (C) 2011,2012 Red Hat, Inc. + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License as published by +the Free Software Foundation, version 2. + +IcedTea is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to +the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. + */ + +package net.sourceforge.jnlp; + +import java.io.File; +import java.net.MalformedURLException; +import java.net.ServerSocket; +import java.net.URL; + +/** + * wrapper around tiny http server to separate lunch configurations and servers. + * to allow terminations and stuff around. + */ +public class ServerLauncher implements Runnable { + + /** + * default url name part. + * This can be changed in runtime, but will affect all following tasks upon those server + */ + private String serverName = ServerAccess.DEFAULT_LOCALHOST_NAME; + private boolean running; + private final Integer port; + private final File dir; + + public String getServerName() { + return serverName; + } + + public void setServerName(String serverName) { + this.serverName = serverName; + } + + public ServerLauncher(Integer port, File dir) { + this.port = port; + this.dir = dir; + System.err.println("port: " + port); + System.err.println("dir: " + dir); + } + + public boolean isRunning() { + return running; + } + + public Integer getPort() { + return port; + } + + public File getDir() { + return dir; + } + + public ServerLauncher(File dir) { + this(8181, dir); + } + + public ServerLauncher(Integer port) { + this(port, new File(System.getProperty("user.dir"))); + } + + public ServerLauncher() { + this(8181, new File(System.getProperty("user.dir"))); + } + + public void run() { + running = true; + try { + ServerSocket s = new ServerSocket(port); + while (running) { + new TinyHttpdImpl(s.accept(), dir, port); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + running = false; + } + } + + public URL getUrl(String resource) throws MalformedURLException { + return new URL("http", getServerName(), getPort(), resource); + } + + public URL getUrl() throws MalformedURLException { + return getUrl(""); + } +} diff --git a/tests/test-extensions/net/sourceforge/jnlp/TestsLogs.java b/tests/test-extensions/net/sourceforge/jnlp/TestsLogs.java new file mode 100644 index 0000000..3277dfe --- /dev/null +++ b/tests/test-extensions/net/sourceforge/jnlp/TestsLogs.java @@ -0,0 +1,85 @@ +/* TestsLogs.java +Copyright (C) 2011,2012 Red Hat, Inc. + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License as published by +the Free Software Foundation, version 2. + +IcedTea is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to +the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. + */ + +package net.sourceforge.jnlp; + +import java.util.LinkedList; +import java.util.List; + +class TestsLogs { + + public final List<LogItem> outs = new LinkedList<LogItem>(); + public final List<LogItem> errs = new LinkedList<LogItem>(); + public final List<LogItem> all = new LinkedList<LogItem>(); + private static final String LOG_ELEMENT = "log"; + private static final String LOG_ID_ATTRIBUTE = "id"; + + synchronized void add(boolean err, boolean out, String text) { + if (text == null) { + text = "null"; + } + LogItem li = new LogItem(text); + if (out) { + outs.add(li); + } + if (err) { + errs.add(li); + } + all.add(li); + + } + + @Override + public String toString() { + StringBuilder sb = listToStringBuilder(outs, "out"); + sb.append(listToStringBuilder(errs, "err")); + sb.append(listToStringBuilder(all, "all")); + return sb.toString(); + } + + private StringBuilder listToStringBuilder(List<LogItem> l, String id) { + StringBuilder sb = new StringBuilder(); + sb.append("<" + LOG_ELEMENT + " " + LOG_ID_ATTRIBUTE + "=\"").append(id).append("\">\n"); + int i = 0; + for (LogItem logItem : l) { + i++; + sb.append(logItem.toStringBuilder(i)); + } + sb.append("</" + LOG_ELEMENT + ">\n"); + return sb; + } +} diff --git a/tests/test-extensions/net/sourceforge/jnlp/ThreadedProcess.java b/tests/test-extensions/net/sourceforge/jnlp/ThreadedProcess.java new file mode 100644 index 0000000..c37d842 --- /dev/null +++ b/tests/test-extensions/net/sourceforge/jnlp/ThreadedProcess.java @@ -0,0 +1,140 @@ +/* ThreadedProcess.java +Copyright (C) 2011,2012 Red Hat, Inc. + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License as published by +the Free Software Foundation, version 2. + +IcedTea is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to +the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. + */ + +package net.sourceforge.jnlp; + +import java.io.File; +import java.util.List; + +/** + * + * wrapper around Runtime.getRuntime().exec(...) which ensures that process is run inside its own, by us controlled, thread. + * Process builder caused some unexpected and weird behavior :/ + */ +class ThreadedProcess extends Thread { + + Process p = null; + List<String> args; + Integer exitCode; + Boolean running; + File dir; + Throwable deadlyException = null; + /* + * before removing this "useless" variable + * check DeadLockTestTest.testDeadLockTestTerminated2 + */ + private boolean destoyed = false; + + public boolean isDestoyed() { + return destoyed; + } + + public void setDestoyed(boolean destoyed) { + this.destoyed = destoyed; + } + + public Boolean isRunning() { + return running; + } + + public Integer getExitCode() { + return exitCode; + } + + public ThreadedProcess(List<String> args) { + this.args = args; + } + + public ThreadedProcess(List<String> args, File dir) { + this.args = args; + this.dir = dir; + } + + public String getCommandLine() { + String commandLine = "unknown command"; + try { + if (args != null && args.size() > 0) { + commandLine = ""; + for (String string : args) { + commandLine = commandLine + " " + string; + } + } + } catch (Exception ex) { + ex.printStackTrace(); + } finally { + return commandLine; + } + } + + public Process getP() { + return p; + } + + @Override + public void run() { + try { + running = true; + Runtime r = Runtime.getRuntime(); + if (dir == null) { + p = r.exec(args.toArray(new String[0])); + } else { + p = r.exec(args.toArray(new String[0]), new String[0], dir); + } + try { + exitCode = p.waitFor(); + Thread.sleep(500); //this is giving to fast done proecesses's e/o readers time to read all. I would like to know better solution :-/ + } finally { + destoyed = true; + } + } catch (Exception ex) { + if (ex instanceof InterruptedException) { + //add to the set of terminated threaded processes + deadlyException = ex; + ServerAccess.logException(deadlyException, false); + ServerAccess.terminated.add(this); + } else { + //happens when non-existing process is launched, is causing p null! + ServerAccess.terminated.add(this); + deadlyException = ex; + ServerAccess.logException(deadlyException, false); + throw new RuntimeException(ex); + } + } finally { + running = false; + } + } +} diff --git a/tests/test-extensions/net/sourceforge/jnlp/TinyHttpdImpl.java b/tests/test-extensions/net/sourceforge/jnlp/TinyHttpdImpl.java new file mode 100644 index 0000000..34870ab --- /dev/null +++ b/tests/test-extensions/net/sourceforge/jnlp/TinyHttpdImpl.java @@ -0,0 +1,174 @@ +/* TinyHttpdImpl.java +Copyright (C) 2011,2012 Red Hat, Inc. + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License as published by +the Free Software Foundation, version 2. + +IcedTea is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to +the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. + */ + +package net.sourceforge.jnlp; + +import java.io.BufferedReader; +import java.io.DataOutputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.InputStreamReader; +import java.net.Socket; +import java.net.SocketException; +import java.net.URLDecoder; +import java.util.StringTokenizer; + +/** + * based on http://www.mcwalter.org/technology/java/httpd/tiny/index.html + * Very small implementation of http return headers for our served resources + * Originally Licenced under GPLv2.0 + * + * When resource starts with XslowX prefix, then resouce (without XslowX) + * is returned, but its delivery is delayed + */ +class TinyHttpdImpl extends Thread { + + Socket c; + private final File dir; + private final int port; + private boolean canRun = true; + private static final String XSX = "/XslowX"; + + public TinyHttpdImpl(Socket s, File f, int port) { + c = s; + this.dir = f; + this.port = port; + start(); + } + + public void setCanRun(boolean canRun) { + this.canRun = canRun; + } + + public int getPort() { + return port; + } + + @Override + public void run() { + try { + BufferedReader i = new BufferedReader(new InputStreamReader(c.getInputStream())); + DataOutputStream o = new DataOutputStream(c.getOutputStream()); + try { + while (canRun) { + String s = i.readLine(); + if (s.length() < 1) { + break; + } + if (s.startsWith("GET")) { + StringTokenizer t = new StringTokenizer(s, " "); + t.nextToken(); + String op = t.nextToken(); + String p = op; + if (p.startsWith(XSX)) { + p = p.replace(XSX, "/"); + } + ServerAccess.logNoReprint("Getting: " + p); + p = URLDecoder.decode(p, "UTF-8"); + ServerAccess.logNoReprint("Serving: " + p); + p = (".".concat((p.endsWith("/")) ? p.concat("index.html") : p)).replace('/', File.separatorChar); + File pp = new File(dir, p); + int l = (int) pp.length(); + byte[] b = new byte[l]; + FileInputStream f = new FileInputStream(pp); + f.read(b); + String content = ""; + String ct = "Content-Type: "; + if (p.toLowerCase().endsWith(".jnlp")) { + content = ct + "application/x-java-jnlp-file\n"; + } else if (p.toLowerCase().endsWith(".html")) { + content = ct + "text/html\n"; + } else if (p.toLowerCase().endsWith(".jar")) { + content = ct + "application/x-jar\n"; + } + o.writeBytes("HTTP/1.0 200 OK\nConten" + "t-Length:" + l + "\n" + content + "\n"); + if (op.startsWith(XSX)) { + byte[][] bb = splitArray(b, 10); + for (int j = 0; j < bb.length; j++) { + Thread.sleep(2000); + byte[] bs = bb[j]; + o.write(bs, 0, bs.length); + } + } else { + o.write(b, 0, l); + } + } + } + } catch (SocketException e) { + ServerAccess.logException(e, false); + } catch (Exception e) { + o.writeBytes("HTTP/1.0 404 ERROR\n\n\n"); + ServerAccess.logException(e, false); + } + o.close(); + } catch (Exception e) { + ServerAccess.logException(e, false); + } + } + + /** + * This function splits input array to severasl pieces + * from byte[length] splitt to n pieces s is retrunrd byte[n][length/n], except + * last piece which contains length%n + * + * @param input - array to be splitted + * @param pieces - to how many pieces it should be broken + * @return inidividual pices of original array, which concatet again givs original array + */ + public static byte[][] splitArray(byte[] input, int pieces) { + int rest = input.length; + int rowLength = rest / pieces; + if (rest % pieces > 0) { + rowLength++; + } + if (pieces * rowLength >= rest + rowLength) { + pieces--; + } + int i = 0, j = 0; + byte[][] array = new byte[pieces][]; + array[0] = new byte[rowLength]; + for (byte b : input) { + if (i >= rowLength) { + i = 0; + array[++j] = new byte[Math.min(rowLength, rest)]; + } + array[j][i++] = b; + rest--; + } + return array; + } +} diff --git a/tests/netx/jnlp_testsengine/net/sourceforge/jnlp/annotations/Bug.java b/tests/test-extensions/net/sourceforge/jnlp/annotations/Bug.java index ac157d9..ac157d9 100644 --- a/tests/netx/jnlp_testsengine/net/sourceforge/jnlp/annotations/Bug.java +++ b/tests/test-extensions/net/sourceforge/jnlp/annotations/Bug.java diff --git a/tests/netx/jnlp_testsengine/net/sourceforge/jnlp/annotations/KnownToFail.java b/tests/test-extensions/net/sourceforge/jnlp/annotations/KnownToFail.java index e7c2464..e7c2464 100644 --- a/tests/netx/jnlp_testsengine/net/sourceforge/jnlp/annotations/KnownToFail.java +++ b/tests/test-extensions/net/sourceforge/jnlp/annotations/KnownToFail.java diff --git a/tests/netx/jnlp_testsengine/net/sourceforge/jnlp/annotations/NeedsDisplay.java b/tests/test-extensions/net/sourceforge/jnlp/annotations/NeedsDisplay.java index e8b9d49..e8b9d49 100644 --- a/tests/netx/jnlp_testsengine/net/sourceforge/jnlp/annotations/NeedsDisplay.java +++ b/tests/test-extensions/net/sourceforge/jnlp/annotations/NeedsDisplay.java diff --git a/tests/netx/jnlp_testsengine/net/sourceforge/jnlp/annotations/TestInBrowsers.java b/tests/test-extensions/net/sourceforge/jnlp/annotations/TestInBrowsers.java index b4ea2a3..b4ea2a3 100644 --- a/tests/netx/jnlp_testsengine/net/sourceforge/jnlp/annotations/TestInBrowsers.java +++ b/tests/test-extensions/net/sourceforge/jnlp/annotations/TestInBrowsers.java diff --git a/tests/netx/jnlp_testsengine/net/sourceforge/jnlp/browsertesting/Browser.java b/tests/test-extensions/net/sourceforge/jnlp/browsertesting/Browser.java index 81db960..81db960 100644 --- a/tests/netx/jnlp_testsengine/net/sourceforge/jnlp/browsertesting/Browser.java +++ b/tests/test-extensions/net/sourceforge/jnlp/browsertesting/Browser.java diff --git a/tests/netx/jnlp_testsengine/net/sourceforge/jnlp/browsertesting/BrowserFactory.java b/tests/test-extensions/net/sourceforge/jnlp/browsertesting/BrowserFactory.java index 7171afc..7171afc 100644 --- a/tests/netx/jnlp_testsengine/net/sourceforge/jnlp/browsertesting/BrowserFactory.java +++ b/tests/test-extensions/net/sourceforge/jnlp/browsertesting/BrowserFactory.java diff --git a/tests/netx/jnlp_testsengine/net/sourceforge/jnlp/browsertesting/BrowserTest.java b/tests/test-extensions/net/sourceforge/jnlp/browsertesting/BrowserTest.java index 232b63a..232b63a 100644 --- a/tests/netx/jnlp_testsengine/net/sourceforge/jnlp/browsertesting/BrowserTest.java +++ b/tests/test-extensions/net/sourceforge/jnlp/browsertesting/BrowserTest.java diff --git a/tests/netx/jnlp_testsengine/net/sourceforge/jnlp/browsertesting/BrowserTestRunner.java b/tests/test-extensions/net/sourceforge/jnlp/browsertesting/BrowserTestRunner.java index 36350e8..36350e8 100644 --- a/tests/netx/jnlp_testsengine/net/sourceforge/jnlp/browsertesting/BrowserTestRunner.java +++ b/tests/test-extensions/net/sourceforge/jnlp/browsertesting/BrowserTestRunner.java diff --git a/tests/netx/jnlp_testsengine/net/sourceforge/jnlp/browsertesting/Browsers.java b/tests/test-extensions/net/sourceforge/jnlp/browsertesting/Browsers.java index 8d85241..8d85241 100644 --- a/tests/netx/jnlp_testsengine/net/sourceforge/jnlp/browsertesting/Browsers.java +++ b/tests/test-extensions/net/sourceforge/jnlp/browsertesting/Browsers.java diff --git a/tests/netx/jnlp_testsengine/net/sourceforge/jnlp/browsertesting/browsers/Chrome.java b/tests/test-extensions/net/sourceforge/jnlp/browsertesting/browsers/Chrome.java index 2668d65..2668d65 100644 --- a/tests/netx/jnlp_testsengine/net/sourceforge/jnlp/browsertesting/browsers/Chrome.java +++ b/tests/test-extensions/net/sourceforge/jnlp/browsertesting/browsers/Chrome.java diff --git a/tests/netx/jnlp_testsengine/net/sourceforge/jnlp/browsertesting/browsers/Chromium.java b/tests/test-extensions/net/sourceforge/jnlp/browsertesting/browsers/Chromium.java index 616d38a..616d38a 100644 --- a/tests/netx/jnlp_testsengine/net/sourceforge/jnlp/browsertesting/browsers/Chromium.java +++ b/tests/test-extensions/net/sourceforge/jnlp/browsertesting/browsers/Chromium.java diff --git a/tests/netx/jnlp_testsengine/net/sourceforge/jnlp/browsertesting/browsers/Epiphany.java b/tests/test-extensions/net/sourceforge/jnlp/browsertesting/browsers/Epiphany.java index 3adc3d8..3adc3d8 100644 --- a/tests/netx/jnlp_testsengine/net/sourceforge/jnlp/browsertesting/browsers/Epiphany.java +++ b/tests/test-extensions/net/sourceforge/jnlp/browsertesting/browsers/Epiphany.java diff --git a/tests/netx/jnlp_testsengine/net/sourceforge/jnlp/browsertesting/browsers/Firefox.java b/tests/test-extensions/net/sourceforge/jnlp/browsertesting/browsers/Firefox.java index 8458bce..8458bce 100644 --- a/tests/netx/jnlp_testsengine/net/sourceforge/jnlp/browsertesting/browsers/Firefox.java +++ b/tests/test-extensions/net/sourceforge/jnlp/browsertesting/browsers/Firefox.java diff --git a/tests/netx/jnlp_testsengine/net/sourceforge/jnlp/browsertesting/browsers/LinuxBrowser.java b/tests/test-extensions/net/sourceforge/jnlp/browsertesting/browsers/LinuxBrowser.java index edc95e0..edc95e0 100644 --- a/tests/netx/jnlp_testsengine/net/sourceforge/jnlp/browsertesting/browsers/LinuxBrowser.java +++ b/tests/test-extensions/net/sourceforge/jnlp/browsertesting/browsers/LinuxBrowser.java diff --git a/tests/netx/jnlp_testsengine/net/sourceforge/jnlp/browsertesting/browsers/Midory.java b/tests/test-extensions/net/sourceforge/jnlp/browsertesting/browsers/Midory.java index fc563fb..fc563fb 100644 --- a/tests/netx/jnlp_testsengine/net/sourceforge/jnlp/browsertesting/browsers/Midory.java +++ b/tests/test-extensions/net/sourceforge/jnlp/browsertesting/browsers/Midory.java diff --git a/tests/netx/jnlp_testsengine/net/sourceforge/jnlp/browsertesting/browsers/MozillaFamilyLinuxBrowser.java b/tests/test-extensions/net/sourceforge/jnlp/browsertesting/browsers/MozillaFamilyLinuxBrowser.java index c8d1e85..c8d1e85 100644 --- a/tests/netx/jnlp_testsengine/net/sourceforge/jnlp/browsertesting/browsers/MozillaFamilyLinuxBrowser.java +++ b/tests/test-extensions/net/sourceforge/jnlp/browsertesting/browsers/MozillaFamilyLinuxBrowser.java diff --git a/tests/netx/jnlp_testsengine/net/sourceforge/jnlp/browsertesting/browsers/Opera.java b/tests/test-extensions/net/sourceforge/jnlp/browsertesting/browsers/Opera.java index edbf57f..edbf57f 100644 --- a/tests/netx/jnlp_testsengine/net/sourceforge/jnlp/browsertesting/browsers/Opera.java +++ b/tests/test-extensions/net/sourceforge/jnlp/browsertesting/browsers/Opera.java |