< prev index next >

src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.lir.test/src/org/graalvm/compiler/hotspot/lir/test/BenchmarkCounterOverflowTest.java

Print this page

        

*** 1,7 **** /* ! * Copyright (c) 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 * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. --- 1,7 ---- /* ! * Copyright (c) 2018, 2019, 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 * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation.
*** 25,37 **** --- 25,40 ---- package org.graalvm.compiler.hotspot.lir.test; import static org.graalvm.compiler.test.SubprocessUtil.getVMCommandLine; import static org.graalvm.compiler.test.SubprocessUtil.withoutDebuggerArguments; + import java.io.File; import java.util.ArrayList; import java.util.Iterator; import java.util.List; + import java.util.regex.Matcher; + import java.util.regex.Pattern; import org.graalvm.compiler.api.directives.GraalDirectives; import org.graalvm.compiler.core.common.LIRKind; import org.graalvm.compiler.hotspot.HotSpotBackend; import org.graalvm.compiler.hotspot.debug.BenchmarkCounters;
*** 119,140 **** } Assert.assertNotEquals("Expected non-zero exit status", 0, proc.exitCode); Iterator<String> it = proc.output.iterator(); while (it.hasNext()) { String line = it.next(); if (line.contains("Problematic frame:")) { if (!it.hasNext()) { // no more line break; } line = it.next(); if (line.contains(BenchmarkCounterOverflowTest.class.getName() + ".test")) { ! return; } Assert.fail("Unexpected stack trace: " + line); } } ! Assert.fail(String.format("Could not find method in output:%n%s", proc)); } } --- 122,167 ---- } Assert.assertNotEquals("Expected non-zero exit status", 0, proc.exitCode); Iterator<String> it = proc.output.iterator(); + boolean foundProblematicFrame = false; while (it.hasNext()) { String line = it.next(); if (line.contains("Problematic frame:")) { if (!it.hasNext()) { // no more line break; } line = it.next(); if (line.contains(BenchmarkCounterOverflowTest.class.getName() + ".test")) { ! foundProblematicFrame = true; ! break; } Assert.fail("Unexpected stack trace: " + line); } } ! // find and delete hserr file ! while (it.hasNext()) { ! String line = it.next(); ! if (line.contains("An error report file with more information is saved as:")) { ! if (!it.hasNext()) { ! // no more line ! break; ! } ! line = it.next(); ! Pattern pattern = Pattern.compile("^# (.*hs_err_pid.*log)$"); ! Matcher matcher = pattern.matcher(line); ! if (matcher.matches()) { ! File hserrFile = new File(matcher.group(1)); ! if (hserrFile.exists()) { ! if (VERBOSE) { ! System.out.println("Deleting error report file:" + hserrFile.getAbsolutePath()); ! } ! hserrFile.delete(); ! } ! } ! } ! } ! Assert.assertTrue(String.format("Could not find method in output:%n%s", proc), foundProblematicFrame); } }
< prev index next >