1f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project#!/bin/bash
2f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project#
3f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project# Copyright (C) 2007 The Android Open Source Project
4f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project#
5f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project# Licensed under the Apache License, Version 2.0 (the "License");
6f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project# you may not use this file except in compliance with the License.
7f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project# You may obtain a copy of the License at
8f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project#
9f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project#     http://www.apache.org/licenses/LICENSE-2.0
10f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project#
11f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project# Unless required by applicable law or agreed to in writing, software
12f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project# distributed under the License is distributed on an "AS IS" BASIS,
13f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project# See the License for the specific language governing permissions and
15f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project# limitations under the License.
16f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
17f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project# The tests that don't specify "--debug" are expected to
18f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project# throw exceptions.  If --debug is on we'll get a stack
19f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project# trace, which is unpredictable and doesn't work well with
20f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project# expected.txt vs. out.txt comparisons.
21f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
22f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project# Bad magic (throws an expection)
23f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectdx         --dump --strict class-bad-magic.txt
24f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
25f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project# Too small (throws an exception)
26f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectdx         --dump --strict class-version-44.0.txt
27f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectdx         --dump --strict class-version-44.65535.txt
28f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
29f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project# Just right
30f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectdx --debug --dump --width=100 class-version-45.0.txt
31f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectdx --debug --dump --width=100 class-version-45.65535.txt
32f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectdx --debug --dump --width=100 class-version-48.0.txt
33f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectdx --debug --dump --width=100 class-version-48.65535.txt
34f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectdx --debug --dump --width=100 class-version-49.0.txt
35f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectdx --debug --dump --width=100 class-version-49.1.txt
36f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectdx --debug --dump --width=100 class-version-49.65535.txt
37f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectdx --debug --dump --width=100 class-version-50.0.txt
38f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
39f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project# Too big (throws an exception)
40f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectdx         --dump --strict class-version-50.1.txt
41f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectdx         --dump --strict class-version-50.65535.txt
42f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectdx         --dump --strict class-version-51.0.txt
43f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
44f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project# Show that we can dump the access flags even when they
45f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project# don't make any sense.
46f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectdx --debug --dump --width=100 small-class.txt
47