GraphResetDebugTest.java revision 13304:5e9c41536bd2
1/*
2 * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation.
8 *
9 * This code is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 */
23package org.graalvm.compiler.core.test;
24
25import org.graalvm.compiler.debug.DebugContext;
26import org.graalvm.compiler.debug.DebugOptions;
27import org.graalvm.compiler.debug.DebugContext.Scope;
28import org.graalvm.compiler.nodes.StructuredGraph;
29import org.graalvm.compiler.nodes.StructuredGraph.AllowAssumptions;
30import org.graalvm.compiler.options.OptionKey;
31import org.graalvm.compiler.options.OptionValues;
32import org.graalvm.util.EconomicMap;
33import org.junit.Assert;
34import org.junit.Test;
35
36public class GraphResetDebugTest extends GraalCompilerTest {
37
38    public static void testSnippet() {
39    }
40
41    @SuppressWarnings("try")
42    @Test
43    public void test1() {
44        EconomicMap<OptionKey<?>, Object> map = EconomicMap.create();
45        // Configure with an option that enables scopes
46        map.put(DebugOptions.DumpOnError, true);
47        DebugContext debug = getDebugContext(new OptionValues(map));
48        StructuredGraph graph = parseEager("testSnippet", AllowAssumptions.YES, debug);
49        boolean resetSucceeded = false;
50        try (Scope scope = debug.scope("some scope")) {
51            graph.resetDebug(DebugContext.DISABLED);
52            resetSucceeded = true;
53        } catch (AssertionError expected) {
54        }
55        Assert.assertFalse(resetSucceeded);
56    }
57}
58