6943915: Adjust jdk/test/Makefile to deal with .dll and .so libraries needing execute permissions

And adjustments to test problem list.

Reviewed-by: jjg
This commit is contained in:
Kelly O'Hair 2010-05-12 21:35:55 -07:00
parent 5ef47408fb
commit 56131863a7
4 changed files with 116 additions and 74 deletions

View File

@ -37,11 +37,14 @@ GET=
AWK = awk
CAT = cat
CD = cd
CHMOD = chmod
CP = cp
CUT = cut
DIRNAME = dirname
ECHO = echo
EGREP = egrep
EXPAND = expand
FIND = find
MKDIR = mkdir
PWD = pwd
SED = sed
@ -234,6 +237,35 @@ ifeq ($(OS_NAME),solaris)
endif
endif
# Temp file to hold list of shared library files possibly needing execute
# permissions at runtime.
SHARED_LIBRARY_LIST=$(ABS_TEST_OUTPUT_DIR)/shared_libraries.txt
# Macro that may change execute permissions on library files and check for them.
# Files in repositories should not really have execute permissions, however
# windows dll files require execute permission. Adding execute permission
# may happen automatically on windows when using certain versions of mercurial
# but it cannot be guaranteed. And blindly adding execute permission might
# be seen as a mercurial 'change', so we avoid adding execute permission to
# repository files. Testing from a plain source tree may need the chmod a+x.
# Used on select directories.
define CheckLibraryExecutePermissions # dir
$(MKDIR) -p `$(DIRNAME) $(SHARED_LIBRARY_LIST)`
$(RM) $(SHARED_LIBRARY_LIST)
$(FIND) $1 -name \*.dll -o -name \*.DLL -o -name \*.so > $(SHARED_LIBRARY_LIST)
if [ -s $(SHARED_LIBRARY_LIST) -a ! -d $(TEST_ROOT)/../.hg ] ; then \
$(ECHO) "$(CHMOD) a+x `$(CAT) $(SHARED_LIBRARY_LIST)`"; \
$(CHMOD) a+x `$(CAT) $(SHARED_LIBRARY_LIST)`; \
fi
if [ -s $(SHARED_LIBRARY_LIST) ] ; then \
for i in `$(CAT) $(SHARED_LIBRARY_LIST)` ; do \
if [ ! -x $${i} ] ; then \
$(ECHO) "WARNING: File does not have execute permission: $${i}"; \
fi; \
done; \
fi
endef
# Expect JPRT to set JPRT_ARCHIVE_BUNDLE (path to zip bundle for results)
ARCHIVE_BUNDLE = $(ABS_TEST_OUTPUT_DIR)/ARCHIVE_BUNDLE.zip
ifdef JPRT_ARCHIVE_BUNDLE
@ -242,7 +274,7 @@ endif
# How to create the test bundle (pass or fail, we want to create this)
# Follow command with ";$(BUNDLE_UP_AND_EXIT)", so it always gets executed.
ZIP_UP_RESULTS = ( $(MKDIR) -p `dirname $(ARCHIVE_BUNDLE)` \
ZIP_UP_RESULTS = ( $(MKDIR) -p `$(DIRNAME) $(ARCHIVE_BUNDLE)` \
&& $(CD) $(ABS_TEST_OUTPUT_DIR) \
&& $(ZIP) -q -r $(ARCHIVE_BUNDLE) . )
SUMMARY_TXT = $(shell $(GETMIXEDPATH) "$(ABS_TEST_OUTPUT_DIR)")/JTreport/text/summary.txt
@ -483,6 +515,7 @@ jdk_nio1: java/nio/file
JDK_ALL_TARGETS += jdk_nio2
jdk_nio2: java/nio/Buffer java/nio/ByteOrder \
java/nio/channels java/nio/BufferPoolMXBean java/nio/MappedByteBuffer
$(call CheckLibraryExecutePermissions,java/nio/channels)
$(call RunOthervmBatch)
# Stable othervm testruns (minus items from PROBLEM_LIST)
@ -516,6 +549,7 @@ jdk_security2: javax/crypto com/sun/crypto
# Using samevm has serious problems with these tests
JDK_ALL_TARGETS += jdk_security3
jdk_security3: com/sun/security lib/security javax/security sun/security
$(call CheckLibraryExecutePermissions,sun/security)
$(call RunOthervmBatch)
# All security tests
@ -542,6 +576,7 @@ jdk_tools1: com/sun/jdi
# Using samevm has serious problems with these tests
JDK_ALL_TARGETS += jdk_tools2
jdk_tools2: com/sun/tools sun/jvmstat sun/tools tools vm com/sun/servicetag com/sun/tracing
$(call CheckLibraryExecutePermissions,tools/launcher)
$(call RunOthervmBatch)
# All tools tests

View File

@ -356,10 +356,6 @@ java/lang/management/ThreadMXBean/ThreadStateTest.java generic-all
# RuntimeException: Uptime of the JVM is more than 30 minutes (32 minutes).
java/lang/management/RuntimeMXBean/UpTime.java generic-all
# Times out on solaris sparc occasionally, in samevm mode
java/lang/Runtime/exec/ExecWithDir.java generic-all
java/lang/ProcessBuilder/Basic.java generic-all
# Solaris sparc, samevm, java.lang.Exception: Read from closed pipe hangs
java/lang/Runtime/exec/SleepyCat.java generic-all
@ -431,6 +427,15 @@ java/lang/ClassLoader/deadlock/TestCrossDelegate.sh generic-all
# jdk_management
# Filed 6951284, fails on linux 64bit Fedora 9, peak thread count differences
java/lang/management/ThreadMXBean/ResetPeakThreadCount.java generic-all
# Started failing on linux and solaris (filed 6950927)
# com.sun.tools.attach.AttachNotSupportedException:
# Unable to open socket file:
# target process not responding or HotSpot VM not loaded
sun/management/jmxremote/bootstrap/JvmstatCountersTest.java generic-all
# Fails on linux: KO: StringMonitor notification missed or not emitted
javax/management/monitor/NonComparableAttributeValueTest.java generic-all
@ -935,6 +940,19 @@ java/rmi/server/UnicastRemoteObject/unexportObject/UnexportLeak.java generic-all
# jdk_security
# Filed 6951285, not sure how often this fails, last was Linux 64bit Fedora 9
sun/security/krb5/auto/MaxRetries.java generic-all
# Filed 6950930, fails on windows 32bit c1 and windows 64bit
sun/security/krb5/auto/IgnoreChannelBinding.java windows-all
# Filed 6950931, failing on all windows systems
sun/security/tools/jarsigner/crl.sh windows-all
# Filed 6950929, only seemed to fail on solaris sparcv9 (-d64)
# Failed on Linux -server 32bit too, making generic
sun/security/krb5/auto/BadKdc4.java generic-all
# Failing on Solaris i586, 3/9/2010, not a -samevm issue (jdk_security3)
sun/security/pkcs11/Secmod/AddPrivateKey.java solaris-i586
sun/security/pkcs11/ec/ReadCertificates.java solaris-i586
@ -986,12 +1004,6 @@ sun/security/krb5/auto/ok-as-delegate-xrealm.sh generic-all
# Fails on Windows 2000, ExceptionInInitializerError
sun/security/mscapi/AccessKeyStore.sh generic-all
# Fails on Windows 2000, UnsatisfiedLinkError: libnspr4.dll: Access is denied
sun/security/pkcs11/KeyAgreement/TestDH.java generic-all
# Fails on Windows 2000, UnsatisfiedLinkError: libnspr4.dll: Access is denied
sun/security/pkcs11/fips/ClientJSSEServerJSSE.java generic-all
# Fails on Solaris 10, KrbException: Additional pre-authentication required (25)
sun/security/krb5/auto/basic.sh generic-all
@ -1022,10 +1034,6 @@ com/sun/crypto/provider/Cipher/DES/PaddingTest.java generic-all
# Othervm, sparc, NoRouteToHostException: Cannot assign requested address
sun/security/ssl/javax/net/ssl/NewAPIs/SessionCacheSizeTests.java generic-all
# ProviderException: sun.security.pkcs11.wrapper.PKCS11Exception: CKR_DEVICE_ERROR
# Does not seem to run on windows machines? dll missing?
sun/security/pkcs11/rsa/TestKeyPairGenerator.java generic-all
# Times out on windows X64, othervm mode
# Solaris sparc and sparcv9 -server, timeout
sun/security/ssl/javax/net/ssl/NewAPIs/SessionTimeOutTests.java generic-all
@ -1041,7 +1049,6 @@ sun/security/ssl/sanity/ciphersuites/CheckCipherSuites.java generic-all
sun/security/tools/jarsigner/oldsig.sh generic-all
# Various failures on Linux Fedora 9 X64, othervm mode
# Does not seem to run on windows machines? dll missing?
sun/security/ssl/sanity/interop/ClientJSSEServerJSSE.java generic-all
# Linux i586 -server, buffer too short to hold shared secret?
@ -1078,9 +1085,6 @@ java/security/Signature/TestInitSignWithMyOwnRandom.java generic-all
java/security/UnresolvedPermission/AccessorMethods.java generic-all
java/security/UnresolvedPermission/Equals.java generic-all
# Do not seem to run on windows machines? dll missing?
sun/security/krb5/auto/IgnoreChannelBinding.java windows-all
# Fails on OpenSolaris, missing classes, slow on Solaris sparc
sun/security/ec/TestEC.java generic-all
@ -1088,65 +1092,12 @@ sun/security/ec/TestEC.java generic-all
sun/security/mscapi/IsSunMSCAPIAvailable.sh windows-x64
sun/security/mscapi/RSAEncryptDecrypt.sh windows-x64
# Do not seem to run on windows machines? dll missing?
sun/security/pkcs11/Cipher/ReinitCipher.java windows-all
sun/security/pkcs11/Cipher/TestRSACipher.java windows-all
sun/security/pkcs11/Cipher/TestRSACipherWrap.java windows-all
sun/security/pkcs11/Cipher/TestSymmCiphers.java windows-all
sun/security/pkcs11/Cipher/TestSymmCiphersNoPad.java windows-all
# Do not seem to run on windows machines? dll missing?
sun/security/pkcs11/ec/ReadCertificates.java windows-all
sun/security/pkcs11/ec/ReadPKCS12.java windows-all
sun/security/pkcs11/ec/TestCurves.java windows-all
sun/security/pkcs11/ec/TestECDH.java windows-all
sun/security/pkcs11/ec/TestECDSA.java windows-all
sun/security/pkcs11/ec/TestECGenSpec.java windows-all
sun/security/pkcs11/ec/TestKeyFactory.java windows-all
sun/security/pkcs11/fips/TrustManagerTest.java windows-all
# Do not seem to run on windows machines? dll missing?
sun/security/pkcs11/KeyAgreement/TestShort.java windows-all
sun/security/pkcs11/KeyGenerator/DESParity.java windows-all
# Exception in test solaris-sparc -client -server, no windows
sun/security/pkcs11/KeyGenerator/TestKeyGenerator.java windows-all solaris-all
# Do not seem to run on windows machines? dll missing?
sun/security/pkcs11/KeyStore/Basic.sh windows-all
sun/security/pkcs11/KeyStore/ClientAuth.sh windows-all
sun/security/pkcs11/KeyGenerator/TestKeyGenerator.java solaris-all
# Solaris sparc client, fails to compile?
sun/security/pkcs11/KeyStore/SecretKeysBasic.sh solaris-all
# Do not seem to run on windows machines? dll missing?
sun/security/pkcs11/Mac/ReinitMac.java windows-all
sun/security/pkcs11/MessageDigest/ByteBuffers.java windows-all
sun/security/pkcs11/MessageDigest/DigestKAT.java windows-all
sun/security/pkcs11/MessageDigest/ReinitDigest.java windows-all
sun/security/pkcs11/Provider/ConfigQuotedString.sh windows-all
sun/security/pkcs11/Provider/Login.sh windows-all
sun/security/pkcs11/rsa/KeyWrap.java windows-all
sun/security/pkcs11/rsa/TestCACerts.java windows-all
sun/security/pkcs11/rsa/TestKeyFactory.java windows-all
sun/security/pkcs11/rsa/TestSignatures.java windows-all
sun/security/pkcs11/SampleTest.java windows-all
sun/security/pkcs11/Secmod/AddPrivateKey.java windows-all
sun/security/pkcs11/Secmod/AddTrustedCert.java windows-all
sun/security/pkcs11/Secmod/Crypto.java windows-all
sun/security/pkcs11/Secmod/GetPrivateKey.java windows-all
sun/security/pkcs11/Secmod/JksSetPrivateKey.java windows-all
sun/security/pkcs11/Secmod/TrustAnchors.java windows-all
sun/security/pkcs11/SecureRandom/Basic.java windows-all
sun/security/pkcs11/Serialize/SerializeProvider.java windows-all
sun/security/pkcs11/Signature/ByteBuffers.java windows-all
sun/security/pkcs11/Signature/ReinitSignature.java windows-all
sun/security/pkcs11/Signature/TestDSA.java windows-all
sun/security/pkcs11/tls/TestKeyMaterial.java windows-all
sun/security/pkcs11/tls/TestMasterSecret.java windows-all
sun/security/pkcs11/tls/TestPremaster.java windows-all
sun/security/pkcs11/tls/TestPRF.java windows-all
# Fails on OpenSolaris java.net.BindException: Address already in use
sun/security/pkcs11/sslecc/ClientJSSEServerJSSE.java generic-all
@ -1164,6 +1115,58 @@ sun/security/tools/jarsigner/emptymanifest.sh windows-all
sun/security/tools/keytool/importreadall.sh solaris-all
sun/security/tools/keytool/selfissued.sh solaris-all
# This is a problem with JPRT not being able to run these tests due to a dll
# permission problem that has not been figured out:
sun/security/pkcs11/SampleTest.java windows-i586
sun/security/pkcs11/Secmod/AddPrivateKey.java windows-i586
sun/security/pkcs11/Cipher/ReinitCipher.java windows-i586
sun/security/pkcs11/Cipher/TestRSACipher.java windows-i586
sun/security/pkcs11/Cipher/TestRSACipherWrap.java windows-i586
sun/security/pkcs11/Cipher/TestSymmCiphers.java windows-i586
sun/security/pkcs11/Cipher/TestSymmCiphersNoPad.java windows-i586
sun/security/pkcs11/KeyAgreement/TestShort.java windows-i586
sun/security/pkcs11/KeyGenerator/DESParity.java windows-i586
sun/security/pkcs11/KeyGenerator/TestKeyGenerator.java windows-i586
sun/security/pkcs11/KeyStore/Basic.sh windows-i586
sun/security/pkcs11/KeyStore/ClientAuth.sh windows-i586
sun/security/pkcs11/Mac/ReinitMac.java windows-i586
sun/security/pkcs11/MessageDigest/ByteBuffers.java windows-i586
sun/security/pkcs11/MessageDigest/DigestKAT.java windows-i586
sun/security/pkcs11/MessageDigest/ReinitDigest.java windows-i586
sun/security/pkcs11/Provider/ConfigQuotedString.sh windows-i586
sun/security/pkcs11/Provider/Login.sh windows-i586
sun/security/pkcs11/Sampl/pkcs11/Secmod/AddPrivateKey.java windows-i586
sun/security/pkcs11/Secmod/AddTrustedCert.java windows-i586
sun/security/pkcs11/Secmod/Crypto.java windows-i586
sun/security/pkcs11/Secmod/GetPrivateKey.java windows-i586
sun/security/pkcs11/Secmod/JksSetPrivateKey.java windows-i586
sun/security/pkcs11/Secmod/TrustAnchors.java windows-i586
sun/security/pkcs11/SecureRandom/Basic.java windows-i586
sun/security/pkcs11/SecureRandom/TestDeserialization.java windows-i586
sun/security/pkcs11/Serialize/SerializeProvider.java windows-i586
sun/security/pkcs11/Signature/ByteBuffers.java windows-i586
sun/security/pkcs11/Signature/ReinitSignature.java windows-i586
sun/security/pkcs11/Signature/TestDSA.java windows-i586
sun/security/pkcs11/Signature/TestRSAKeyLength.java windows-i586
sun/security/pkcs11/ec/ReadCertificates.java windows-i586
sun/security/pkcs11/ec/ReadPKCS12.java windows-i586
sun/security/pkcs11/ec/TestCurves.java windows-i586
sun/security/pkcs11/ec/TestECDH.java windows-i586
sun/security/pkcs11/ec/TestECDSA.java windows-i586
sun/security/pkcs11/ec/TestECGenSpec.java windows-i586
sun/security/pkcs11/ec/TestKeyFactory.java windows-i586
sun/security/pkcs11/fips/ClientJSSEServerJSSE.java windows-i586
sun/security/pkcs11/fips/TrustManagerTest.java windows-i586
sun/security/pkcs11/rsa/KeyWrap.java windows-i586
sun/security/pkcs11/rsa/TestCACerts.java windows-i586
sun/security/pkcs11/rsa/TestKeyFactory.java windows-i586
sun/security/pkcs11/rsa/TestKeyPairGenerator.java windows-i586
sun/security/pkcs11/rsa/TestSignatures.java windows-i586
sun/security/pkcs11/tls/TestKeyMaterial.java windows-i586
sun/security/pkcs11/tls/TestMasterSecret.java windows-i586
sun/security/pkcs11/tls/TestPRF.java windows-i586
sun/security/pkcs11/tls/TestPremaster.java windows-i586
############################################################################
# jdk_swing (not using samevm)
@ -1188,6 +1191,9 @@ java/text/Bidi/Bug6665028.java linux-x64
# jdk_tools
# Filed bug 6951287, failed on Linux 64bit, sometimes?
com/sun/jdi/PopAndInvokeTest.java generic-all
# Some of the tools tests kind of require "othervm" or if they don't will
# always be firing up another VM anyway due to the nature of tools testing.
# So most if not all tools tests are now being run with "othervm" mode.

View File

@ -28,7 +28,7 @@
* 6464154 6523983 6206031 4960438 6631352 6631966 6850957 6850958
* 4947220
* @summary Basic tests for Process and Environment Variable code
* @run main/othervm Basic
* @run main/othervm/timeout=300 Basic
* @author Martin Buchholz
*/

View File

@ -23,6 +23,7 @@
/* @test
* @bug 4750978
* @run main/othervm/timeout=300 ExecWithDir
* @summary Ensure that we can fork-and-exec repeatedly when a new working
* directory is specified
*/