JDK-8179318 : rewrite serviceability shell tests to java version
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: svc
  • Affected Version: 7,8,9,10
  • Priority: P4
  • Status: Closed
  • Resolution: Won't Fix
  • Submitted: 2017-04-26
  • Updated: 2018-08-21
  • Resolved: 2018-08-21
Related Reports
Duplicate :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Description
shell tests are known to be error-prone and hard to debug, furthermore in most cases a shell script part does not do much, therefore they should be rewritten to java version.
Comments
Closing this enhancement as "WNF" as it replaced with multiple enhancements that covers its own area.
21-08-2018

I've separated the following enhancements out of this one: JDK-8209813 rewrite JFR shell tests to java version JDK-8209814 rewrite java.lang.instrument shell tests to java version JDK-8209815 rewrite management shell tests to java version JDK-8209816 rewrite sun/tools shell tests to java version My plan is to close this issue now.
21-08-2018

We need five separate bugs for each component/subcomponent: JDI: already filed by Paru https://bugs.openjdk.java.net/browse/JDK-8201652 instrument management tools JFR Igor, could you, please, remove the JDI tests from the comment as I'm copying them to the JDK-8201652? I've unassigned myself from this one because my plan was to work on JDK-8201652. Moved this enhancement to 12 for now.
13-06-2018

This enhancement needs to be split into two or more bugs, so that the shell tests can be rewritten in stages. Created a separate enhancement for com/sun/jdi tests : https://bugs.openjdk.java.net/browse/JDK-8201652
17-04-2018

as of today(25th Apr 2017) there is one test in hotspot/test/serviceability: $ ack -l "@run shell" ./test/serviceability/ test/serviceability/7170638/SDTProbesGNULinuxTest.sh and 114 tests in :jdk_svc test groups: $ jtreg -showGroups -dir:$(pwd)/test/ :jdk_svc | tail +2 | tr ' ' '\n' | tail +2 | xargs -I{} ack -l "@run shell" test/{} test/com/sun/jdi/ArrayLengthDumpTest.sh test/com/sun/jdi/BreakpointWithFullGC.sh test/com/sun/jdi/CatchAllTest.sh test/com/sun/jdi/CatchCaughtTest.sh test/com/sun/jdi/CatchPatternTest.sh test/com/sun/jdi/CommandCommentDelimiter.sh test/com/sun/jdi/DeferredStepTest.sh test/com/sun/jdi/DeoptimizeWalk.sh test/com/sun/jdi/EvalArgs.sh test/com/sun/jdi/EvalArraysAsList.sh test/com/sun/jdi/EvalInterfaceStatic.sh test/com/sun/jdi/GetLocalVariables3Test.sh test/com/sun/jdi/GetLocalVariables4Test.sh test/com/sun/jdi/ImmutableResourceTest.sh test/com/sun/jdi/JdbArgTest.sh test/com/sun/jdi/JdbExprTest.sh test/com/sun/jdi/JdbLockTest.sh test/com/sun/jdi/JdbMethodExitTest.sh test/com/sun/jdi/JdbMissStep.sh test/com/sun/jdi/JdbReadTwiceTest.sh test/com/sun/jdi/JdbVarargsTest.sh test/com/sun/jdi/JITDebug.sh test/com/sun/jdi/MixedSuspendTest.sh test/com/sun/jdi/NotAField.sh test/com/sun/jdi/NullLocalVariable.sh test/com/sun/jdi/PrivateTransportTest.sh test/com/sun/jdi/redefine/RedefineTest.java test/com/sun/jdi/Redefine-g.sh test/com/sun/jdi/RedefineAbstractClass.sh test/com/sun/jdi/RedefineAddPrivateMethod.sh test/com/sun/jdi/RedefineAnnotation.sh test/com/sun/jdi/RedefineChangeClassOrder.sh test/com/sun/jdi/RedefineClasses.sh test/com/sun/jdi/RedefineClearBreakpoint.sh test/com/sun/jdi/RedefineException.sh test/com/sun/jdi/RedefineFinal.sh test/com/sun/jdi/RedefineImplementor.sh test/com/sun/jdi/RedefineIntConstantToLong.sh test/com/sun/jdi/redefineMethod/RedefineTest.java test/com/sun/jdi/RedefineMulti.sh test/com/sun/jdi/RedefinePop.sh test/com/sun/jdi/RedefineStep.sh test/com/sun/jdi/RedefineTTYLineNumber.sh test/com/sun/jdi/StringConvertTest.sh test/com/sun/jdi/WatchFramePop.sh test/com/sun/jdi/ZZZcleanup.sh test/com/sun/management/UnixOperatingSystemMXBean/GetMaxFileDescriptorCount.sh test/com/sun/management/UnixOperatingSystemMXBean/GetOpenFileDescriptorCount.sh test/java/lang/instrument/AddTransformerTest.java test/java/lang/instrument/AppendToBootstrapClassPathTest.java test/java/lang/instrument/appendToClassLoaderSearch/CircularityErrorTest.sh test/java/lang/instrument/appendToClassLoaderSearch/ClassUnloadTest.sh test/java/lang/instrument/appendToClassLoaderSearch/run_tests.sh test/java/lang/instrument/AppendToClassPathTest.java test/java/lang/instrument/BootClassPath/BootClassPathTest.sh test/java/lang/instrument/BootstrapClassPathTest.java test/java/lang/instrument/CustomSystemLoader/Agent.java test/java/lang/instrument/DaemonThread/TestDaemonThread.java test/java/lang/instrument/FromShutdownHook.java test/java/lang/instrument/GetAllLoadedClassesTest.java test/java/lang/instrument/GetInitiatedClassesTest.java test/java/lang/instrument/GetObjectSizeTest.java test/java/lang/instrument/IsModifiableClassAgent.java test/java/lang/instrument/ManifestTest.sh test/java/lang/instrument/ManyMethodsBenchmarkAgent.java test/java/lang/instrument/modules/AppendToClassPathModuleTest.java test/java/lang/instrument/NativeMethodPrefixAgent.java test/java/lang/instrument/NoTransformerAddedTest.java test/java/lang/instrument/NullGetObjectSizeTest.java test/java/lang/instrument/NullRedefineClassesTests.java test/java/lang/instrument/NullTransformerAddTest.java test/java/lang/instrument/NullTransformerRemoveTest.java test/java/lang/instrument/ParallelTransformerLoader.sh test/java/lang/instrument/PremainClass/InheritAgent0001.java test/java/lang/instrument/PremainClass/InheritAgent0010.java test/java/lang/instrument/PremainClass/InheritAgent0011.java test/java/lang/instrument/PremainClass/InheritAgent0100.java test/java/lang/instrument/PremainClass/InheritAgent0101.java test/java/lang/instrument/PremainClass/InheritAgent0110.java test/java/lang/instrument/PremainClass/InheritAgent0111.java test/java/lang/instrument/PremainClass/InheritAgent1000.java test/java/lang/instrument/PremainClass/InheritAgent1001.java test/java/lang/instrument/PremainClass/InheritAgent1010.java test/java/lang/instrument/PremainClass/InheritAgent1011.java test/java/lang/instrument/PremainClass/InheritAgent1100.java test/java/lang/instrument/PremainClass/InheritAgent1101.java test/java/lang/instrument/PremainClass/InheritAgent1110.java test/java/lang/instrument/PremainClass/InheritAgent1111.java test/java/lang/instrument/PremainClass/NoPremainAgentTest.java test/java/lang/instrument/PremainClass/ZeroArgPremainAgentTest.java test/java/lang/instrument/RedefineBigClass.sh test/java/lang/instrument/RedefineClassesDisabledTest.java test/java/lang/instrument/RedefineClassesTests.java test/java/lang/instrument/RedefineClassWithNativeMethod.sh test/java/lang/instrument/RedefineMethodAddInvoke.sh test/java/lang/instrument/RedefineMethodDelInvoke.sh test/java/lang/instrument/RedefineMethodInBacktrace.sh test/java/lang/instrument/RedefineMethodWithAnnotations.sh test/java/lang/instrument/RedefineModuleTest.java test/java/lang/instrument/RedefineSubclassWithTwoInterfaces.sh test/java/lang/instrument/RemoveAbsentTransformerTest.java test/java/lang/instrument/RemoveTransformerTest.java test/java/lang/instrument/RetransformAgent.java test/java/lang/instrument/RetransformBigClass.sh test/java/lang/instrument/SingleTransformerTest.java test/java/lang/instrument/StressGetObjectSizeTest.sh test/java/lang/instrument/TestAgentWithLimitMods.java test/java/lang/instrument/TransformerManagementThreadAddTests.java test/java/lang/instrument/TransformerManagementThreadRemoveTests.java test/java/lang/instrument/TransformMethodTest.java test/java/lang/instrument/VerifyLocalVariableTableOnRetransformTest.sh test/java/lang/management/MemoryMXBean/LowMemoryTest2.sh test/java/lang/management/MemoryMXBean/MemoryManagementConcMarkSweepGC.sh test/java/lang/management/MemoryMXBean/MemoryManagementParallelGC.sh test/java/lang/management/MemoryMXBean/MemoryManagementSerialGC.sh test/java/lang/management/MemoryMXBean/MemoryTestAllGC.sh test/java/lang/management/MemoryMXBean/PendingAllGC.sh test/java/lang/management/OperatingSystemMXBean/TestSystemLoadAvg.sh test/java/lang/management/RuntimeMXBean/TestInputArgument.sh test/sun/management/jmxremote/bootstrap/RmiBootstrapTest.sh test/sun/management/jmxremote/bootstrap/RmiSslBootstrapTest.sh test/sun/management/jmxremote/bootstrap/RmiSslNoKeyStoreTest.sh test/sun/tools/jstat/jstatClassloadOutput1.sh test/sun/tools/jstat/jstatClassOutput1.sh test/sun/tools/jstat/jstatCompilerOutput1.sh test/sun/tools/jstat/jstatFileURITest1.sh test/sun/tools/jstat/jstatGcCapacityOutput1.sh test/sun/tools/jstat/jstatGcCauseOutput1.sh test/sun/tools/jstat/jstatGcMetaCapacityOutput1.sh test/sun/tools/jstat/jstatGcNewCapacityOutput1.sh test/sun/tools/jstat/jstatGcNewOutput1.sh test/sun/tools/jstat/jstatGcOldCapacityOutput1.sh test/sun/tools/jstat/jstatGcOldOutput1.sh test/sun/tools/jstat/jstatGcOutput1.sh test/sun/tools/jstat/jstatHelp.sh test/sun/tools/jstat/jstatLineCounts1.sh test/sun/tools/jstat/jstatLineCounts2.sh test/sun/tools/jstat/jstatLineCounts3.sh test/sun/tools/jstat/jstatLineCounts4.sh test/sun/tools/jstat/jstatOptions1.sh test/sun/tools/jstat/jstatPrintCompilationOutput1.sh test/sun/tools/jstat/jstatSnap1.sh test/sun/tools/jstat/jstatSnap2.sh test/sun/tools/jstat/jstatTimeStamp1.sh
26-04-2017