Home | History | Annotate | Download | only in run-tests
      1 # Copyright (C) 2014 The Android Open Source Project
      2 #
      3 # Licensed under the Apache License, Version 2.0 (the "License");
      4 # you may not use this file except in compliance with the License.
      5 # You may obtain a copy of the License at
      6 #
      7 #      http://www.apache.org/licenses/LICENSE-2.0
      8 #
      9 # Unless required by applicable law or agreed to in writing, software
     10 # distributed under the License is distributed on an "AS IS" BASIS,
     11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     12 # See the License for the specific language governing permissions and
     13 # limitations under the License.
     14 
     15 LOCAL_PATH := $(call my-dir)
     16 include $(CLEAR_VARS)
     17 
     18 # shim classes. We use one that exposes the common functionality.
     19 LOCAL_SHIM_CLASSES := \
     20   src/902-hello-transformation/src/art/Redefinition.java \
     21   src/903-hello-tagging/src/art/Main.java \
     22   src/989-method-trace-throw/src/art/Trace.java \
     23   src/993-breakpoints/src/art/Breakpoint.java \
     24   src/1902-suspend/src/art/Suspension.java \
     25   src/1911-get-local-var-table/src/art/Locals.java \
     26   src/1912-get-set-local-primitive/src/art/StackTrace.java \
     27   src/1923-frame-pop/src/art/FramePop.java \
     28   src/1927-exception-event/src/art/Exceptions.java \
     29   src/1930-monitor-info/src/art/Monitors.java \
     30   src/1934-jvmti-signal-thread/src/art/Threads.java \
     31 
     32 LOCAL_SRC_FILES := $(LOCAL_SHIM_CLASSES)
     33 
     34 # Actual test classes.
     35 LOCAL_SRC_FILES += \
     36   src/901-hello-ti-agent/src/art/Test901.java \
     37   src/902-hello-transformation/src/art/Test902.java \
     38   src/903-hello-tagging/src/art/Test903.java \
     39   src/904-object-allocation/src/art/Test904.java \
     40   src/905-object-free/src/art/Test905.java \
     41   src/906-iterate-heap/src/art/Test906.java \
     42   src/907-get-loaded-classes/src/art/Test907.java \
     43     src/907-get-loaded-classes/src/art/Cerr.java \
     44   src/908-gc-start-finish/src/art/Test908.java \
     45   src/910-methods/src/art/Test910.java \
     46   src/911-get-stack-trace/src/art/Test911.java \
     47     src/911-get-stack-trace/src/art/AllTraces.java \
     48     src/911-get-stack-trace/src/art/ControlData.java \
     49     src/911-get-stack-trace/src/art/Frames.java \
     50     src/911-get-stack-trace/src/art/OtherThread.java \
     51     src/911-get-stack-trace/src/art/PrintThread.java \
     52     src/911-get-stack-trace/src/art/Recurse.java \
     53     src/911-get-stack-trace/src/art/SameThread.java \
     54     src/911-get-stack-trace/src/art/ThreadListTraces.java \
     55   src/912-classes/src-art/art/Test912.java \
     56     src/912-classes/src-art/art/DexData.java \
     57   src/913-heaps/src/art/Test913.java \
     58   src/914-hello-obsolescence/src/art/Test914.java \
     59   src/915-obsolete-2/src/art/Test915.java \
     60   src/917-fields-transformation/src/art/Test917.java \
     61   src/918-fields/src/art/Test918.java \
     62   src/919-obsolete-fields/src/art/Test919.java \
     63   src/920-objects/src/art/Test920.java \
     64   src/922-properties/src/art/Test922.java \
     65   src/923-monitors/src/art/Test923.java \
     66   src/924-threads/src/art/Test924.java \
     67   src/925-threadgroups/src/art/Test925.java \
     68   src/926-multi-obsolescence/src/art/Test926.java \
     69   src/927-timers/src/art/Test927.java \
     70   src/928-jni-table/src/art/Test928.java \
     71   src/930-hello-retransform/src/art/Test930.java \
     72   src/931-agent-thread/src/art/Test931.java \
     73   src/932-transform-saves/src/art/Test932.java \
     74   src/933-misc-events/src/art/Test933.java \
     75   src/940-recursive-obsolete/src/art/Test940.java \
     76   src/942-private-recursive/src/art/Test942.java \
     77   src/944-transform-classloaders/src/art/Test944.java \
     78   src/945-obsolete-native/src/art/Test945.java \
     79   src/947-reflect-method/src/art/Test947.java \
     80   src/951-threaded-obsolete/src/art/Test951.java \
     81   src/982-ok-no-retransform/src/art/Test982.java \
     82   src/983-source-transform-verify/src/art/Test983.java \
     83   src/984-obsolete-invoke/src/art/Test984.java \
     84   src/985-re-obsolete/src/art/Test985.java \
     85   src/986-native-method-bind/src/art/Test986.java \
     86   src/988-method-trace/src/art/Test988.java \
     87     src/988-method-trace/src/art/Test988Intrinsics.java \
     88   src/989-method-trace-throw/src/art/Test989.java \
     89   src/990-field-trace/src/art/Test990.java \
     90   src/991-field-trace-2/src/art/Test991.java \
     91   src/992-source-data/src/art/Test992.java \
     92     src/992-source-data/src/art/Target2.java \
     93   src/993-breakpoints/src/art/Test993.java \
     94   src/994-breakpoint-line/src/art/Test994.java \
     95   src/995-breakpoints-throw/src/art/Test995.java \
     96   src/996-breakpoint-obsolete/src/art/Test996.java \
     97   src/997-single-step/src/art/Test997.java \
     98   src/1900-track-alloc/src/art/Test1900.java \
     99   src/1901-get-bytecodes/src/art/Test1901.java \
    100   src/1902-suspend/src/art/Test1902.java \
    101   src/1903-suspend-self/src/art/Test1903.java \
    102   src/1904-double-suspend/src/art/Test1904.java \
    103   src/1906-suspend-list-me-first/src/art/Test1906.java \
    104   src/1907-suspend-list-self-twice/src/art/Test1907.java \
    105   src/1908-suspend-native-resume-self/src/art/Test1908.java \
    106   src/1909-per-agent-tls/src/art/Test1909.java \
    107   src/1910-transform-with-default/src/art/Test1910.java \
    108   src/1911-get-local-var-table/src/art/Test1911.java \
    109   src/1912-get-set-local-primitive/src/art/Test1912.java \
    110   src/1913-get-set-local-objects/src/art/Test1913.java \
    111   src/1914-get-local-instance/src/art/Test1914.java \
    112   src/1915-get-set-local-current-thread/src/art/Test1915.java \
    113   src/1916-get-set-current-frame/src/art/Test1916.java \
    114   src/1917-get-stack-frame/src/art/Test1917.java \
    115   src/1920-suspend-native-monitor/src/art/Test1920.java \
    116   src/1921-suspend-native-recursive-monitor/src/art/Test1921.java \
    117   src/1922-owned-monitors-info/src/art/Test1922.java \
    118   src/1923-frame-pop/src/art/Test1923.java \
    119   src/1924-frame-pop-toggle/src/art/Test1924.java \
    120   src/1925-self-frame-pop/src/art/Test1925.java \
    121   src/1926-missed-frame-pop/src/art/Test1926.java \
    122   src/1927-exception-event/src/art/Test1927.java \
    123   src/1928-exception-event-exception/src/art/Test1928.java \
    124   src/1930-monitor-info/src/art/Test1930.java \
    125   src/1931-monitor-events/src/art/Test1931.java \
    126   src/1932-monitor-events-misc/src/art/Test1932.java \
    127   src/1933-monitor-current-contended/src/art/Test1933.java \
    128   src/1934-jvmti-signal-thread/src/art/Test1934.java \
    129   src/1936-thread-end-events/src/art/Test1936.java \
    130   src/1937-transform-soft-fail/src/art/Test1937.java \
    131   src/1939-proxy-frames/src/art/Test1939.java \
    132   src/1941-dispose-stress/src/art/Test1941.java \
    133   src/1942-suspend-raw-monitor-exit/src/art/Test1942.java \
    134   src/1943-suspend-raw-monitor-wait/src/art/Test1943.java \
    135 
    136 JVMTI_RUN_TEST_GENERATED_NUMBERS := \
    137   901 \
    138   902 \
    139   903 \
    140   904 \
    141   905 \
    142   906 \
    143   907 \
    144   908 \
    145   910 \
    146   911 \
    147   912 \
    148   913 \
    149   914 \
    150   915 \
    151   917 \
    152   918 \
    153   919 \
    154   920 \
    155   922 \
    156   923 \
    157   924 \
    158   925 \
    159   926 \
    160   927 \
    161   928 \
    162   930 \
    163   931 \
    164   932 \
    165   933 \
    166   940 \
    167   942 \
    168   944 \
    169   945 \
    170   947 \
    171   951 \
    172   982 \
    173   983 \
    174   984 \
    175   985 \
    176   986 \
    177   988 \
    178   989 \
    179   990 \
    180   991 \
    181   992 \
    182   993 \
    183   994 \
    184   995 \
    185   996 \
    186   997 \
    187   1900 \
    188   1901 \
    189   1902 \
    190   1903 \
    191   1904 \
    192   1906 \
    193   1907 \
    194   1908 \
    195   1909 \
    196   1910 \
    197   1911 \
    198   1912 \
    199   1913 \
    200   1914 \
    201   1915 \
    202   1916 \
    203   1917 \
    204   1920 \
    205   1921 \
    206   1922 \
    207   1923 \
    208   1924 \
    209   1925 \
    210   1926 \
    211   1927 \
    212   1928 \
    213   1930 \
    214   1931 \
    215   1932 \
    216   1933 \
    217   1934 \
    218   1936 \
    219   1937 \
    220   1939 \
    221   1941 \
    222   1942 \
    223   1943 \
    224 
    225 # Try to enforce that the directories correspond to the Java files we pull in.
    226 JVMTI_RUN_TEST_DIR_CHECK := $(sort $(foreach DIR,$(addprefix src/,$(JVMTI_RUN_TEST_GENERATED_NUMBERS)), \
    227   $(filter $(DIR)%,$(LOCAL_SRC_FILES))))
    228 ifneq ($(sort $(LOCAL_SRC_FILES)),$(JVMTI_RUN_TEST_DIR_CHECK))
    229   $(error Missing file, compare $(sort $(LOCAL_SRC_FILES)) with $(JVMTI_RUN_TEST_DIR_CHECK))
    230 endif
    231 
    232 LOCAL_MODULE_CLASS := JAVA_LIBRARIES
    233 LOCAL_MODULE_TAGS := optional
    234 LOCAL_JAVA_LANGUAGE_VERSION := 1.8
    235 LOCAL_MODULE := run-test-jvmti-java
    236 
    237 GENERATED_SRC_DIR := $(call local-generated-sources-dir)
    238 JVMTI_RUN_TEST_GENERATED_FILES := \
    239   $(foreach NR,$(JVMTI_RUN_TEST_GENERATED_NUMBERS),$(GENERATED_SRC_DIR)/results.$(NR).expected.txt)
    240 
    241 define GEN_JVMTI_RUN_TEST_GENERATED_FILE
    242 
    243 GEN_INPUT := $(wildcard $(LOCAL_PATH)/src/$(1)*/expected.txt)
    244 ifeq (true,$(ANDROID_COMPILE_WITH_JACK))
    245 GEN_EXTRA_DIFF := $(wildcard $(LOCAL_PATH)/src/$(1)*/expected_jack.diff)
    246 else ifeq (true,$(USE_D8))
    247 GEN_EXTRA_DIFF := $(wildcard $(LOCAL_PATH)/src/$(1)*/expected_d8.diff)
    248 else
    249 GEN_EXTRA_DIFF :=
    250 endif
    251 
    252 GEN_OUTPUT := $(GENERATED_SRC_DIR)/results.$(1).expected.txt
    253 $$(GEN_OUTPUT): PRIVATE_GEN_EXTRA_DIFF := $$(GEN_EXTRA_DIFF)
    254 $$(GEN_OUTPUT): $$(GEN_INPUT) $$(GEN_EXTRA_DIFF)
    255 	cp $$< $$@
    256 ifneq (,$$(GEN_EXTRA_DIFF))
    257 	(cd $$(dir $$@) && patch $$(notdir $$@)) < $$(PRIVATE_GEN_EXTRA_DIFF)
    258 endif
    259 
    260 GEN_INPUT :=
    261 GEN_OUTPUT :=
    262 
    263 endef
    264 
    265 $(foreach NR,$(JVMTI_RUN_TEST_GENERATED_NUMBERS),\
    266   $(eval $(call GEN_JVMTI_RUN_TEST_GENERATED_FILE,$(NR))))
    267 LOCAL_JAVA_RESOURCE_FILES := $(JVMTI_RUN_TEST_GENERATED_FILES)
    268 
    269 # Avoid linking against any @hide APIs.
    270 LOCAL_SDK_VERSION := current
    271 
    272 include $(BUILD_JAVA_LIBRARY)
    273 
    274 include $(CLEAR_VARS)
    275 include $(call all-makefiles-under,$(LOCAL_PATH))
    276