8205605: [testbug][aix] Various test adaption to aix pecularities

Reviewed-by: lfoltan, coleenp
This commit is contained in:
Goetz Lindenmaier 2018-06-25 13:37:01 +02:00
parent 87c6761704
commit 123fee1d38
4 changed files with 37 additions and 7 deletions
test/hotspot/jtreg
runtime
8176717
jni/CalleeSavedRegisters
whitebox
serviceability/jvmti/CanGenerateAllClassHook

@ -45,6 +45,8 @@ import java.util.stream.Stream;
* @test TestInheritFD
* @bug 8176717 8176809
* @summary a new process should not inherit open file descriptors
* @comment On Aix lsof requires root privileges.
* @requires os.family != "aix"
* @library /test/lib
* @modules java.base/jdk.internal.misc
* java.management

@ -1,5 +1,5 @@
/*
* Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -21,9 +21,13 @@
* questions.
*
*/
/*
/**
* @test
* @bug 8067744
* @comment Test uses custom launcher that starts VM in primordial thread. This is
* not possible on aix.
* @requires os.family != "aix"
* @library /test/lib
* @modules java.base/jdk.internal.misc
* @run main/native FPRegs

@ -21,7 +21,7 @@
* questions.
*/
/*
/**
* @test WBStackSize
* @summary verify that whitebox functions getThreadFullStackSize() and getThreadRemainingStackSize are working
* @modules java.base/jdk.internal.misc
@ -43,6 +43,7 @@
*/
import sun.hotspot.WhiteBox;
import jdk.test.lib.Platform;
public class WBStackSize {
@ -83,18 +84,40 @@ public class WBStackSize {
}
public static void main(String[] args) {
long pageSize = wb.getVMPageSize();
long configStackSize = wb.getIntxVMFlag("ThreadStackSize") * K;
System.out.println("ThreadStackSize VM option: " + configStackSize);
long stackProtectionSize = wb.getIntxVMFlag("StackShadowPages") * wb.getVMPageSize();
long stackProtectionSize = wb.getIntxVMFlag("StackShadowPages") * pageSize;
System.out.println("Size of protected shadow pages: " + stackProtectionSize);
long actualStackSize = wb.getThreadStackSize();
System.out.println("Full stack size: " + actualStackSize);
if (Math.abs(actualStackSize - configStackSize) > configStackSize * 0.1) {
throw new RuntimeException("getThreadFullStackSize value [" + actualStackSize
+ "] should be within 90%..110% of ThreadStackSize value");
if (!Platform.isAix()) {
if (Math.abs(actualStackSize - configStackSize) > configStackSize * 0.1) {
throw new RuntimeException("getThreadStackSize value [" + actualStackSize
+ "] should be within 90%..110% of ThreadStackSize value");
}
} else {
// AIX pthread implementation returns stacks with sizes varying a lot.
// We add +64K to assure stacks are not too small, thus we get
// even more variation to bigger sizes. So only check the lower bound.
// Allow for at least one page deviation.
long slack = (long)(configStackSize * 0.1);
if (slack < pageSize) {
if (configStackSize - actualStackSize > pageSize) {
throw new RuntimeException("getThreadStackSize value [" + actualStackSize
+ "] should not be more than one page smaller than "
+ "ThreadStackSize value");
}
} else {
if (configStackSize - actualStackSize > slack) {
throw new RuntimeException("getThreadStackSize value [" + actualStackSize
+ "] should not be less than 90% of ThreadStackSize value");
}
}
}
long remainingStackSize = wb.getThreadRemainingStackSize();

@ -27,6 +27,7 @@
* @summary Tests that jvmtiEnv::GetPotentialCapabilities reports
* can_generate_all_class_hook_events capability with CDS (-Xshare:on)
* at ONLOAD and LIVE phases
* @requires vm.cds
* @library /test/lib
* @compile CanGenerateAllClassHook.java
* @run main/othervm/native CanGenerateAllClassHook