diff options
author | mikaelpeltier <mikaelpeltier@google.com> | 2015-05-19 17:08:52 +0200 |
---|---|---|
committer | Mikael Peltier <mikaelpeltier@google.com> | 2015-05-21 11:40:06 +0000 |
commit | 0c0d4821eed54edbeca16e8deae5b4da57a89c3c (patch) | |
tree | bf21427111718560ac0f9fbbd4e00269559dceae /jack-tests/tests | |
parent | 2a9ba9420757bba501858d56eada436716fb0d41 (diff) | |
download | toolchain_jack-0c0d4821eed54edbeca16e8deae5b4da57a89c3c.zip toolchain_jack-0c0d4821eed54edbeca16e8deae5b4da57a89c3c.tar.gz toolchain_jack-0c0d4821eed54edbeca16e8deae5b4da57a89c3c.tar.bz2 |
NullLiteral is allown to have throw statement as parent
- Rework checkValidity of JLiteral to be more precise
Bug: 19534642
Change-Id: I0be226832680b99ba66f5b7acda0c7f7097fea82
(cherry picked from commit 51d872af9b65433731804c7933448337494af67e)
Diffstat (limited to 'jack-tests/tests')
3 files changed, 75 insertions, 0 deletions
diff --git a/jack-tests/tests/com/android/jack/throwstatement/ThrowstatementTests.java b/jack-tests/tests/com/android/jack/throwstatement/ThrowstatementTests.java index e1e0b87..21c277f 100644 --- a/jack-tests/tests/com/android/jack/throwstatement/ThrowstatementTests.java +++ b/jack-tests/tests/com/android/jack/throwstatement/ThrowstatementTests.java @@ -32,18 +32,30 @@ public class ThrowstatementTests extends RuntimeTest { AbstractTestTools.getTestRootDir("com.android.jack.throwstatement.test001"), "com.android.jack.throwstatement.test001.dx.Tests"); + private RuntimeTestInfo TEST002 = new RuntimeTestInfo( + AbstractTestTools.getTestRootDir("com.android.jack.throwstatement.test002"), + "com.android.jack.throwstatement.test002.dx.Tests"); + @BeforeClass public static void setUpClass() { ThrowstatementTests.class.getClassLoader().setDefaultAssertionStatus(true); } + @Test @Category(RuntimeRegressionTest.class) public void test001() throws Exception { new RuntimeTestHelper(TEST001).compileAndRunTest(); } + @Test + @Category(RuntimeRegressionTest.class) + public void test002() throws Exception { + new RuntimeTestHelper(TEST002).compileAndRunTest(); + } + @Override protected void fillRtTestInfos() { rtTestInfos.add(TEST001); + rtTestInfos.add(TEST002); } } diff --git a/jack-tests/tests/com/android/jack/throwstatement/test002/dx/Tests.java b/jack-tests/tests/com/android/jack/throwstatement/test002/dx/Tests.java new file mode 100644 index 0000000..955017a --- /dev/null +++ b/jack-tests/tests/com/android/jack/throwstatement/test002/dx/Tests.java @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2015 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.throwstatement.test002.dx; + +import com.android.jack.throwstatement.test002.jack.ThrowStmt; + +import org.junit.Assert; +import org.junit.Test; + +/** + * Tests about throw. + */ +public class Tests { + + @Test + public void throwException() { + try { + ThrowStmt.throwNullException(); + Assert.fail(); + } catch (NullPointerException e) { + } + } +} diff --git a/jack-tests/tests/com/android/jack/throwstatement/test002/jack/ThrowStmt.java b/jack-tests/tests/com/android/jack/throwstatement/test002/jack/ThrowStmt.java new file mode 100644 index 0000000..53cc0a2 --- /dev/null +++ b/jack-tests/tests/com/android/jack/throwstatement/test002/jack/ThrowStmt.java @@ -0,0 +1,26 @@ +/* + * Copyright (C) 2015 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.throwstatement.test002.jack; + +/** + * Throw tests. + */ +public class ThrowStmt { + + public static void throwNullException() { + throw null; + } +} |