This commit is contained in:
robm 2022-02-22 14:33:09 +00:00
commit fbb4ebe74f
7 changed files with 46 additions and 17 deletions

View File

@ -35,8 +35,8 @@ BUILD_INFO_PROPERTIES := $(TEST_IMAGE_DIR)/build-info.properties
$(BUILD_INFO_PROPERTIES):
$(call MakeTargetDir)
$(ECHO) "# Build info properties for JDK tests" > $@
$(ECHO) "build.workspace.root=$(call FixPath, $(WORKSPACE_ROOT))" >> $@
$(ECHO) "build.output.root=$(call FixPath, $(OUTPUTDIR))" >> $@
$(ECHO) 'build.workspace.root=$(call FixPath, $(WORKSPACE_ROOT))' >> $@
$(ECHO) 'build.output.root=$(call FixPath, $(OUTPUTDIR))' >> $@
README := $(TEST_IMAGE_DIR)/Readme.txt

View File

@ -782,10 +782,8 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_CPU_DEP],
test "x$ENABLE_REPRODUCIBLE_BUILD" = xtrue; then
# There is a known issue with the pathmap if the mapping is made to the
# empty string. Add a minimal string "s" as prefix to work around this.
workspace_root_win=`$FIXPATH_BASE print "${WORKSPACE_ROOT%/}"`
# PATHMAP_FLAGS is also added to LDFLAGS in flags-ldflags.m4.
PATHMAP_FLAGS="-pathmap:${workspace_root_win//\//\\\\}=s \
-pathmap:${workspace_root_win}=s"
PATHMAP_FLAGS="-pathmap:${WORKSPACE_ROOT}=s"
FILE_MACRO_CFLAGS="$PATHMAP_FLAGS"
FLAGS_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [${FILE_MACRO_CFLAGS}],
PREFIX: $3,

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2015, 2021, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2015, 2022, 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
@ -365,9 +365,9 @@ bool LogConfiguration::parse_command_line_arguments(const char* opts) {
// Find the next colon or quote
char* next = strpbrk(str, ":\"");
#ifdef _WINDOWS
// Skip over Windows paths such as "C:\..."
// Handle both C:\... and file=C:\..."
if (next != NULL && next[0] == ':' && next[1] == '\\') {
// Skip over Windows paths such as "C:\..." and "C:/...".
// Handles both "C:\..." and "file=C:\...".
if (next != NULL && next[0] == ':' && (next[1] == '\\' || next[1] == '/')) {
if (next == str + 1 || (strncmp(str, "file=", 5) == 0)) {
next = strpbrk(next + 1, ":\"");
}

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2016, 2021, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2016, 2022, 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
@ -359,6 +359,29 @@ TEST_VM_F(LogConfigurationTest, parse_command_line_arguments) {
ret = jio_snprintf(buf, sizeof(buf), ":%s", TestLogFileName);
ASSERT_NE(-1, ret);
EXPECT_TRUE(LogConfiguration::parse_command_line_arguments(buf));
#ifdef _WINDOWS
// We need to test the special-case parsing for drive letters in
// log file paths e.g. c:\log.txt and c:/log.txt. Our temp directory
// based TestLogFileName should already be the \ format (we print it
// below to visually verify) so we only need to convert to /.
printf("Checked: %s\n", buf);
// First disable logging so the current log file will be closed and we
// can delete it, so that UL won't try to perform log file rotation.
// The rotated file would not be auto-deleted.
set_log_config(TestLogFileName, "all=off");
delete_file(TestLogFileName);
// now convert \ to /
char* current_pos = strchr(buf,'\\');
while (current_pos != nullptr) {
*current_pos = '/';
current_pos = strchr(current_pos + 1, '\\');
}
printf("Checking: %s\n", buf);
EXPECT_TRUE(LogConfiguration::parse_command_line_arguments(buf));
#endif
}
// Test split up log configuration arguments

View File

@ -96,6 +96,13 @@ public class AbsPathsInImage {
if (buildOutputRoot == null) {
throw new Error("Could not find build output root, test cannot run");
}
// Validate the root paths
if (!Paths.get(buildWorkspaceRoot).isAbsolute()) {
throw new Error("Workspace root is not an absolute path: " + buildWorkspaceRoot);
}
if (!Paths.get(buildOutputRoot).isAbsolute()) {
throw new Error("Output root is not an absolute path: " + buildOutputRoot);
}
List<byte[]> searchPatterns = new ArrayList<>();
expandPatterns(searchPatterns, buildWorkspaceRoot);

View File

@ -34,6 +34,9 @@ import javax.print.PrintServiceLookup;
* @test
* @bug 8273831
* @summary Tests custom class loader cleanup
* @library /javax/swing/regtesthelpers
* @build Util
* @run main/timeout=60/othervm -mx32m FlushCustomClassLoader
*/
public final class FlushCustomClassLoader {
@ -42,12 +45,8 @@ public final class FlushCustomClassLoader {
int attempt = 0;
while (loader.get() != null) {
if (++attempt > 10) {
throw new RuntimeException("Too many attempts: " + attempt);
}
System.gc();
Thread.sleep(1000);
System.out.println("Not freed, attempt: " + attempt);
Util.generateOOME();
System.out.println("Not freed, attempt: " + attempt++);
}
}

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2017, 2021, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2017, 2022, 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
@ -264,6 +264,8 @@ public class VerifyCACerts {
add("luxtrustglobalrootca [jdk]");
// Valid until: Wed Mar 17 11:33:33 PDT 2021
add("quovadisrootca [jdk]");
// Valid until: Sat May 21 04:00:00 GMT 2022
add("geotrustglobalca [jdk]");
}
};