--- a/test/jtreg-ext/requires/VMProps.java Tue Jun 26 09:52:21 2018 -0400
+++ b/test/jtreg-ext/requires/VMProps.java Mon Jun 25 23:04:21 2018 +0200
@@ -73,6 +73,12 @@
map.put("vm.debug", vmDebug());
map.put("vm.jvmci", vmJvmci());
map.put("vm.emulatedClient", vmEmulatedClient());
+ // vm.hasSA is "true" if the VM contains the serviceability agent
+ // and jhsdb.
+ map.put("vm.hasSA", vmHasSA());
+ // vm.hasSAandCanAttach is "true" if the VM contains the serviceability agent
+ // and jhsdb and it can attach to the VM.
+ map.put("vm.hasSAandCanAttach", vmHasSAandCanAttach());
map.put("vm.cpu.features", cpuFeatures());
map.put("vm.rtm.cpu", vmRTMCPU());
map.put("vm.rtm.os", vmRTMOS());
@@ -259,6 +265,28 @@
}
/**
+ * @return "true" if VM has a serviceability agent.
+ */
+ protected String vmHasSA() {
+ return "" + Platform.hasSA();
+ }
+
+ /**
+ * @return "true" if VM has a serviceability agent and it can
+ * attach to the VM.
+ */
+ protected String vmHasSAandCanAttach() {
+ try {
+ return "" + Platform.shouldSAAttach();
+ } catch (IOException e) {
+ System.out.println("Checking whether SA can attach to the VM failed.");
+ e.printStackTrace();
+ // Run the tests anyways.
+ return "true";
+ }
+ }
+
+ /**
* @return true if VM runs RTM supported OS and false otherwise.
*/
protected String vmRTMOS() {