diff options
author | Jean-Marie Henaff <jmhenaff@google.com> | 2014-12-04 17:00:47 +0100 |
---|---|---|
committer | Jean-Marie Henaff <jmhenaff@google.com> | 2014-12-04 17:00:47 +0100 |
commit | 1b7ad32cc33344201bb9de7a39ce91e531fac817 (patch) | |
tree | b6ef2a11593249ec07d03daeacd1a61922c45487 /jack/tests | |
parent | c1ddf0d7194136ff3acacd16cad0dc7722bd6feb (diff) | |
download | toolchain_jack-1b7ad32cc33344201bb9de7a39ce91e531fac817.tar.gz toolchain_jack-1b7ad32cc33344201bb9de7a39ce91e531fac817.tar.bz2 toolchain_jack-1b7ad32cc33344201bb9de7a39ce91e531fac817.zip |
Add dependency on test targets to ensure things are rebuilt
Bug: 18617376
Change-Id: I0d13830b99dded1d494d725433b28458d1bbcacc
Diffstat (limited to 'jack/tests')
-rw-r--r-- | jack/tests/com/android/jack/analysis/dfa/reachingdefs/ReachingDefsTest.java | 77 | ||||
-rw-r--r-- | jack/tests/com/android/jack/analysis/dfa/reachingdefs/Test001ReachingDefinitionsChecker.java | 47 |
2 files changed, 47 insertions, 77 deletions
diff --git a/jack/tests/com/android/jack/analysis/dfa/reachingdefs/ReachingDefsTest.java b/jack/tests/com/android/jack/analysis/dfa/reachingdefs/ReachingDefsTest.java deleted file mode 100644 index e2d5aaf4..00000000 --- a/jack/tests/com/android/jack/analysis/dfa/reachingdefs/ReachingDefsTest.java +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Copyright (C) 2012 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.jack.analysis.dfa.reachingdefs; - -import com.android.jack.Main; -import com.android.jack.analysis.DefinitionMarker; -import com.android.jack.cfg.BasicBlock; -import com.android.jack.cfg.ControlFlowGraph; -import com.android.jack.cfg.SwitchBasicBlock; -import com.android.jack.ir.ast.JAsgOperation; -import com.android.jack.ir.ast.JIntLiteral; -import com.android.jack.ir.ast.JMethod; -import com.android.jack.ir.ast.JVariableRef; -import com.android.sched.util.codec.ImplementationName; - -import junit.framework.Assert; - -import org.junit.BeforeClass; - -import javax.annotation.Nonnull; - -/** - * JUnit test for reaching definitions. - */ -public class ReachingDefsTest { - - @BeforeClass - public static void setUpClass() { - Main.class.getClassLoader().setDefaultAssertionStatus(true); - } - - @ImplementationName(iface = ReachingDefinitionsChecker.class, name = "test001Checker") - public static class Test001ReachingDefinitionsChecker implements ReachingDefinitionsChecker { - - @Override - public void check(@Nonnull JMethod method) { - ControlFlowGraph cfg = method.getMarker(ControlFlowGraph.class); - assert cfg != null; - - for (BasicBlock bb : cfg.getNodes()) { - if (bb instanceof SwitchBasicBlock) { - Assert.assertEquals(4, bb.getSuccessors().size()); - for (BasicBlock succ : bb.getSuccessors()) { - ReachingDefsMarker rdm = succ.getMarker(ReachingDefsMarker.class); - assert rdm != null; - boolean foundResultDef = false; - for (DefinitionMarker dm : rdm.getReachingDefs()) { - if (dm.hasValue()) { - JAsgOperation asg = (JAsgOperation) dm.getDefinition(); - if (asg.getLhs() instanceof JVariableRef - && ((JVariableRef) asg.getLhs()).getTarget().getName().equals("result") - && asg.getRhs() instanceof JIntLiteral) { - foundResultDef = true; - } - } - } - Assert.assertTrue(foundResultDef); - } - } - } - } - } -} diff --git a/jack/tests/com/android/jack/analysis/dfa/reachingdefs/Test001ReachingDefinitionsChecker.java b/jack/tests/com/android/jack/analysis/dfa/reachingdefs/Test001ReachingDefinitionsChecker.java new file mode 100644 index 00000000..4bf2d95a --- /dev/null +++ b/jack/tests/com/android/jack/analysis/dfa/reachingdefs/Test001ReachingDefinitionsChecker.java @@ -0,0 +1,47 @@ +package com.android.jack.analysis.dfa.reachingdefs; + +import com.android.jack.analysis.DefinitionMarker; +import com.android.jack.cfg.BasicBlock; +import com.android.jack.cfg.ControlFlowGraph; +import com.android.jack.cfg.SwitchBasicBlock; +import com.android.jack.ir.ast.JAsgOperation; +import com.android.jack.ir.ast.JIntLiteral; +import com.android.jack.ir.ast.JMethod; +import com.android.jack.ir.ast.JVariableRef; +import com.android.sched.util.codec.ImplementationName; + +import junit.framework.Assert; + +import javax.annotation.Nonnull; + +@ImplementationName(iface = ReachingDefinitionsChecker.class, name = "test001Checker") +public class Test001ReachingDefinitionsChecker implements ReachingDefinitionsChecker { + + @Override + public void check(@Nonnull JMethod method) { + ControlFlowGraph cfg = method.getMarker(ControlFlowGraph.class); + assert cfg != null; + + for (BasicBlock bb : cfg.getNodes()) { + if (bb instanceof SwitchBasicBlock) { + Assert.assertEquals(4, bb.getSuccessors().size()); + for (BasicBlock succ : bb.getSuccessors()) { + ReachingDefsMarker rdm = succ.getMarker(ReachingDefsMarker.class); + assert rdm != null; + boolean foundResultDef = false; + for (DefinitionMarker dm : rdm.getReachingDefs()) { + if (dm.hasValue()) { + JAsgOperation asg = (JAsgOperation) dm.getDefinition(); + if (asg.getLhs() instanceof JVariableRef + && ((JVariableRef) asg.getLhs()).getTarget().getName().equals("result") + && asg.getRhs() instanceof JIntLiteral) { + foundResultDef = true; + } + } + } + Assert.assertTrue(foundResultDef); + } + } + } + } +}
\ No newline at end of file |