1#!/bin/bash
2#
3# Copyright (C) 2008 The Android Open Source Project
4#
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9#     http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16
17# Test with full DWARF debugging information.
18# Check full signatures of methods.
19${RUN} "$@" -Xcompiler-option --generate-debug-info \
20  --args --test-local --args --test-remote
21return_status1=$?
22
23# The option jitthreshold:0 ensures that if we run the test in JIT mode,
24# there will be JITed frames on the callstack (it synchronously JITs on first use).
25${RUN} "$@" -Xcompiler-option --generate-debug-info \
26  --runtime-option -Xjitthreshold:0 \
27  --args --test-local --args --test-remote
28return_status2=$?
29
30# Test with minimal compressed debugging information.
31# Check only method names (parameters are omitted to save space).
32# Check only remote unwinding since decompression is disabled in local unwinds (b/27391690).
33${RUN} "$@" -Xcompiler-option --generate-mini-debug-info \
34  --runtime-option -Xjitthreshold:0 \
35  --args --test-remote
36return_status3=$?
37
38# Make sure we don't silently ignore an early failure.
39(exit $return_status1) && (exit $return_status2) && (exit $return_status3)
40