diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index e6c019b0b5..891844a3d4 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -430,8 +430,8 @@ jobs: shell: bash -e -l {0} run: | cd integration_tests - ./run_tests.py -b c_sym cpython_sym llvm_sym - ./run_tests.py -b c_sym cpython_sym llvm_sym -f + ./run_tests.py -b c_sym cpython_sym llvm_sym llvm_jit + ./run_tests.py -b c_sym cpython_sym llvm_sym llvm_jit -f integration_tests_cpython: name: Run Integration tests with Python ${{ matrix.python-version }} diff --git a/integration_tests/CMakeLists.txt b/integration_tests/CMakeLists.txt index b7f2691eda..d73d3520a3 100644 --- a/integration_tests/CMakeLists.txt +++ b/integration_tests/CMakeLists.txt @@ -76,9 +76,8 @@ message("LPYTHON_RTLIB_DIR: ${LPYTHON_RTLIB_DIR}") message("LPYTHON_RTLIB_LIBRARY: ${LPYTHON_RTLIB_LIBRARY}") -macro(RUN_UTIL RUN_FAIL RUN_NAME RUN_FILE_NAME RUN_LABELS RUN_EXTRAFILES RUN_NOMOD RUN_EXTRA_ARGS RUN_COPY_TO_BIN RUN_SKIP_ON_JIT) +macro(RUN_UTIL RUN_FAIL RUN_NAME RUN_FILE_NAME RUN_LABELS RUN_EXTRAFILES RUN_NOMOD RUN_EXTRA_ARGS RUN_COPY_TO_BIN) set(fail ${${RUN_FAIL}}) - set(skip_jit ${${RUN_SKIP_ON_JIT}}) set(name ${${RUN_NAME}}) set(file_name ${${RUN_FILE_NAME}}) set(labels ${${RUN_LABELS}}) @@ -102,21 +101,21 @@ macro(RUN_UTIL RUN_FAIL RUN_NAME RUN_FILE_NAME RUN_LABELS RUN_EXTRAFILES RUN_NOM set_target_properties(${name} PROPERTIES LINKER_LANGUAGE C) target_link_libraries(${name} lpython_rtlib) add_test(${name} ${CMAKE_CURRENT_BINARY_DIR}/${name}) + if (labels) + set_tests_properties(${name} PROPERTIES LABELS "${labels}") + endif() + if (${fail}) + set_tests_properties(${name} PROPERTIES WILL_FAIL TRUE) + endif() + elseif (KIND STREQUAL "llvm_jit") add_test( - NAME "${name}_jit" + NAME ${name} COMMAND ${LPYTHON} --jit ${extra_args} ${CMAKE_CURRENT_SOURCE_DIR}/${file_name}.py) if (labels) set_tests_properties(${name} PROPERTIES LABELS "${labels}") - set_tests_properties("${name}_jit" PROPERTIES LABELS "${labels}") endif() if (${fail}) set_tests_properties(${name} PROPERTIES WILL_FAIL TRUE) - set_tests_properties("${name}_jit" PROPERTIES WILL_FAIL TRUE) - endif() - if (${skip_jit}) - set_tests_properties("${name}_jit" PROPERTIES SKIP_RETURN_CODE ${skip_jit}) - elseif (DEFINED ${RUN_EXTRAFILES} AND NOT ${RUN_FAIL}) - set_tests_properties("${name}_jit" PROPERTIES SKIP_RETURN_CODE 1) endif() elseif (KIND STREQUAL "llvm_py") add_custom_command( @@ -129,21 +128,11 @@ macro(RUN_UTIL RUN_FAIL RUN_NAME RUN_FILE_NAME RUN_LABELS RUN_EXTRAFILES RUN_NOM set_target_properties(${name} PROPERTIES LINKER_LANGUAGE C) target_link_libraries(${name} lpython_rtlib Python::Python) add_test(${name} ${CMAKE_CURRENT_BINARY_DIR}/${name}) - add_test( - NAME "${name}_jit" - COMMAND ${LPYTHON} --jit ${extra_args} ${CMAKE_CURRENT_SOURCE_DIR}/${file_name}.py) if (labels) set_tests_properties(${name} PROPERTIES LABELS "${labels}") - set_tests_properties("${name}_jit" PROPERTIES LABELS "${labels}") endif() if (${fail}) set_tests_properties(${name} PROPERTIES WILL_FAIL TRUE) - set_tests_properties("${name}_jit" PROPERTIES WILL_FAIL TRUE) - endif() - if (${skip_jit}) - set_tests_properties("${name}_jit" PROPERTIES SKIP_RETURN_CODE ${skip_jit}) - elseif (DEFINED ${RUN_EXTRAFILES} AND NOT ${RUN_FAIL}) - set_tests_properties("${name}_jit" PROPERTIES SKIP_RETURN_CODE 1) endif() elseif(KIND STREQUAL "llvm_sym") add_custom_command( @@ -160,21 +149,11 @@ macro(RUN_UTIL RUN_FAIL RUN_NAME RUN_FILE_NAME RUN_LABELS RUN_EXTRAFILES RUN_NOM endif() target_link_libraries(${name} lpython_rtlib ${SYMENGINE_LIB}) add_test(${name} ${CMAKE_CURRENT_BINARY_DIR}/${name}) - add_test( - NAME "${name}_jit" - COMMAND ${LPYTHON} --enable-symengine --jit ${extra_args} ${CMAKE_CURRENT_SOURCE_DIR}/${file_name}.py) if (labels) set_tests_properties(${name} PROPERTIES LABELS "${labels}") - set_tests_properties("${name}_jit" PROPERTIES LABELS "${labels}") endif() if (${fail}) set_tests_properties(${name} PROPERTIES WILL_FAIL TRUE) - set_tests_properties("${name}_jit" PROPERTIES WILL_FAIL TRUE) - endif() - if (${skip_jit}) - set_tests_properties("${name}_jit" PROPERTIES SKIP_RETURN_CODE ${skip_jit}) - elseif (DEFINED ${RUN_EXTRAFILES} AND NOT ${RUN_FAIL}) - set_tests_properties("${name}_jit" PROPERTIES SKIP_RETURN_CODE 1) endif() elseif(KIND STREQUAL "c") add_custom_command( @@ -342,27 +321,14 @@ macro(RUN_UTIL RUN_FAIL RUN_NAME RUN_FILE_NAME RUN_LABELS RUN_EXTRAFILES RUN_NOM endmacro(RUN_UTIL) macro(RUN) - set(options FAIL NOFAST NOMOD ENABLE_CPYTHON LINK_NUMPY NO_WARNINGS) - set(oneValueArgs NAME IMPORT_PATH COPY_TO_BIN REQ_PY_VER SKIP_ON_JIT) - set(multiValueArgs LABELS EXTRAFILES) + set(options FAIL NOFAST NOMOD) + set(oneValueArgs NAME IMPORT_PATH COPY_TO_BIN REQ_PY_VER) + set(multiValueArgs LABELS EXTRAFILES EXTRA_ARGS) cmake_parse_arguments(RUN "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} ) - set(RUN_EXTRA_ARGS "") set(RUN_FILE_NAME ${RUN_NAME}) - if (RUN_LINK_NUMPY) - set(RUN_EXTRA_ARGS ${RUN_EXTRA_ARGS} --link-numpy) - endif() - - if (RUN_ENABLE_CPYTHON) - set(RUN_EXTRA_ARGS ${RUN_EXTRA_ARGS} --enable-cpython) - endif() - - if (RUN_NO_WARNINGS) - set(RUN_EXTRA_ARGS ${RUN_EXTRA_ARGS} --no-warnings) - endif() - if (RUN_IMPORT_PATH) # Only one import path supported for now # Later add support for multiple import paths by looping over and appending to extra args @@ -382,14 +348,14 @@ macro(RUN) endif() if (NOT FAST) - RUN_UTIL(RUN_FAIL RUN_NAME RUN_FILE_NAME RUN_LABELS RUN_EXTRAFILES RUN_NOMOD RUN_EXTRA_ARGS RUN_COPY_TO_BIN RUN_SKIP_ON_JIT) + RUN_UTIL(RUN_FAIL RUN_NAME RUN_FILE_NAME RUN_LABELS RUN_EXTRAFILES RUN_NOMOD RUN_EXTRA_ARGS RUN_COPY_TO_BIN) endif() if ((FAST) AND (NOT RUN_NOFAST)) set(RUN_EXTRA_ARGS ${RUN_EXTRA_ARGS} --fast) set(RUN_NAME "${RUN_NAME}_FAST") list(REMOVE_ITEM RUN_LABELS cpython cpython_sym) # remove cpython, cpython_sym, from --fast test - RUN_UTIL(RUN_FAIL RUN_NAME RUN_FILE_NAME RUN_LABELS RUN_EXTRAFILES RUN_NOMOD RUN_EXTRA_ARGS RUN_COPY_TO_BIN RUN_SKIP_ON_JIT) + RUN_UTIL(RUN_FAIL RUN_NAME RUN_FILE_NAME RUN_LABELS RUN_EXTRAFILES RUN_NOMOD RUN_EXTRA_ARGS RUN_COPY_TO_BIN) endif() endmacro(RUN) @@ -451,227 +417,227 @@ endmacro(COMPILE) # Test zero and non-zero exit code and assert statements -RUN(NAME array_01_decl LABELS cpython llvm c) -RUN(NAME array_02_decl LABELS cpython llvm c) -RUN(NAME array_03_decl LABELS cpython llvm c) -RUN(NAME variable_decl_01 LABELS cpython llvm c) -RUN(NAME variable_decl_02 LABELS cpython llvm c) -RUN(NAME variable_decl_03 LABELS cpython llvm c) -RUN(NAME array_expr_01 LABELS cpython llvm c) -RUN(NAME array_expr_02 LABELS cpython llvm c NOFAST) -RUN(NAME array_expr_03 LABELS cpython llvm c) -RUN(NAME array_expr_04 LABELS cpython llvm c) -RUN(NAME array_expr_05 LABELS cpython llvm c) -RUN(NAME array_expr_06 LABELS cpython llvm c) -RUN(NAME array_expr_07 LABELS cpython llvm c) -RUN(NAME array_expr_08 LABELS cpython llvm c) -RUN(NAME array_expr_09 LABELS cpython llvm c) -RUN(NAME array_expr_10 LABELS cpython llvm c) -RUN(NAME array_size_01 LABELS cpython llvm c) -RUN(NAME array_size_02 LABELS cpython llvm c) -RUN(NAME array_01 LABELS cpython llvm wasm c) +RUN(NAME array_01_decl LABELS cpython llvm llvm_jit c) +RUN(NAME array_02_decl LABELS cpython llvm llvm_jit c) +RUN(NAME array_03_decl LABELS cpython llvm llvm_jit c) +RUN(NAME variable_decl_01 LABELS cpython llvm llvm_jit c) +RUN(NAME variable_decl_02 LABELS cpython llvm llvm_jit c) +RUN(NAME variable_decl_03 LABELS cpython llvm llvm_jit c) +RUN(NAME array_expr_01 LABELS cpython llvm llvm_jit c) +RUN(NAME array_expr_02 LABELS cpython llvm llvm_jit c NOFAST) +RUN(NAME array_expr_03 LABELS cpython llvm llvm_jit c) +RUN(NAME array_expr_04 LABELS cpython llvm llvm_jit c) +RUN(NAME array_expr_05 LABELS cpython llvm llvm_jit c) +RUN(NAME array_expr_06 LABELS cpython llvm llvm_jit c) +RUN(NAME array_expr_07 LABELS cpython llvm llvm_jit c) +RUN(NAME array_expr_08 LABELS cpython llvm llvm_jit c) +RUN(NAME array_expr_09 LABELS cpython llvm llvm_jit c) +RUN(NAME array_expr_10 LABELS cpython llvm llvm_jit c) +RUN(NAME array_size_01 LABELS cpython llvm llvm_jit c) +RUN(NAME array_size_02 LABELS cpython llvm llvm_jit c) +RUN(NAME array_01 LABELS cpython llvm llvm_jit wasm c) RUN(NAME array_02 LABELS cpython wasm c) -RUN(NAME array_03 LABELS cpython llvm c) -RUN(NAME array_04 LABELS cpython llvm c) -RUN(NAME array_05 LABELS cpython llvm c) -RUN(NAME array_06 LABELS cpython llvm) -RUN(NAME bindc_01 LABELS cpython llvm c) -RUN(NAME bindc_02 LABELS cpython llvm c) -RUN(NAME bindc_04 LABELS llvm c NOFAST) -RUN(NAME bindc_07 LABELS cpython llvm c NOFAST) -RUN(NAME bindc_08 LABELS cpython llvm c) -RUN(NAME bindc_09 LABELS cpython llvm c) -RUN(NAME bindc_09b LABELS cpython llvm c) -RUN(NAME bindc_10 LABELS cpython llvm c NOFAST) +RUN(NAME array_03 LABELS cpython llvm llvm_jit c) +RUN(NAME array_04 LABELS cpython llvm llvm_jit c) +RUN(NAME array_05 LABELS cpython llvm llvm_jit c) +RUN(NAME array_06 LABELS cpython llvm llvm_jit) +RUN(NAME bindc_01 LABELS cpython llvm llvm_jit c) +RUN(NAME bindc_02 LABELS cpython llvm llvm_jit c) +RUN(NAME bindc_04 LABELS llvm llvm_jit c NOFAST) +RUN(NAME bindc_07 LABELS cpython llvm llvm_jit c NOFAST) +RUN(NAME bindc_08 LABELS cpython llvm llvm_jit c) +RUN(NAME bindc_09 LABELS cpython llvm llvm_jit c) +RUN(NAME bindc_09b LABELS cpython llvm llvm_jit c) +RUN(NAME bindc_10 LABELS cpython llvm llvm_jit c NOFAST) RUN(NAME bindc_11 LABELS cpython) # This is CPython test only -RUN(NAME exit_01 LABELS cpython llvm c NOFAST) -RUN(NAME exit_02 FAIL LABELS cpython llvm c NOFAST) -RUN(NAME exit_03 LABELS cpython llvm c wasm wasm_x86 wasm_x64) -RUN(NAME exit_04 FAIL LABELS cpython llvm c wasm wasm_x86 wasm_x64) -RUN(NAME exit_01b LABELS cpython llvm c wasm wasm_x86 wasm_x64) -RUN(NAME exit_02b FAIL LABELS cpython llvm c wasm wasm_x86 wasm_x64) -RUN(NAME exit_02c FAIL LABELS cpython llvm c) +RUN(NAME exit_01 LABELS cpython llvm llvm_jit c NOFAST) +RUN(NAME exit_02 FAIL LABELS cpython llvm llvm_jit c NOFAST) +RUN(NAME exit_03 LABELS cpython llvm llvm_jit c wasm wasm_x86 wasm_x64) +RUN(NAME exit_04 FAIL LABELS cpython llvm llvm_jit c wasm wasm_x86 wasm_x64) +RUN(NAME exit_01b LABELS cpython llvm llvm_jit c wasm wasm_x86 wasm_x64) +RUN(NAME exit_02b FAIL LABELS cpython llvm llvm_jit c wasm wasm_x86 wasm_x64) +RUN(NAME exit_02c FAIL LABELS cpython llvm llvm_jit c) # Test all four backends -RUN(NAME print_01 LABELS cpython llvm c wasm) # wasm not yet supports sep and end keywords +RUN(NAME print_01 LABELS cpython llvm llvm_jit c wasm) # wasm not yet supports sep and end keywords RUN(NAME print_03 LABELS x86 c wasm wasm_x86 wasm_x64) # simple test case specifically for x86, wasm_x86 and wasm_x64 -RUN(NAME print_04 LABELS cpython llvm c) -RUN(NAME print_06 LABELS cpython llvm c) -RUN(NAME print_05 LABELS cpython llvm c wasm wasm_x64) -RUN(NAME print_float LABELS cpython llvm c wasm wasm_x64) -RUN(NAME print_list_tuple_01 LABELS cpython llvm c NOFAST) -RUN(NAME print_list_tuple_02 LABELS cpython llvm c NOFAST) -RUN(NAME print_list_tuple_03 LABELS cpython llvm c NOFAST) -RUN(NAME test_list_item_mixed_print LABELS cpython llvm c NOFAST) +RUN(NAME print_04 LABELS cpython llvm llvm_jit c) +RUN(NAME print_06 LABELS cpython llvm llvm_jit c) +RUN(NAME print_05 LABELS cpython llvm llvm_jit c wasm wasm_x64) +RUN(NAME print_float LABELS cpython llvm llvm_jit c wasm wasm_x64) +RUN(NAME print_list_tuple_01 LABELS cpython llvm llvm_jit c NOFAST) +RUN(NAME print_list_tuple_02 LABELS cpython llvm llvm_jit c NOFAST) +RUN(NAME print_list_tuple_03 LABELS cpython llvm llvm_jit c NOFAST) +RUN(NAME test_list_item_mixed_print LABELS cpython llvm llvm_jit c NOFAST) # CPython and LLVM -RUN(NAME const_01 LABELS cpython llvm c wasm) -RUN(NAME const_02 LABELS cpython llvm c wasm) +RUN(NAME const_01 LABELS cpython llvm llvm_jit c wasm) +RUN(NAME const_02 LABELS cpython llvm llvm_jit c wasm) RUN(NAME const_03 LABELS cpython llvm c EXTRAFILES const_03b.c) -RUN(NAME const_04 LABELS cpython llvm c) -RUN(NAME expr_01 LABELS cpython llvm c wasm wasm_x64) -RUN(NAME expr_02 LABELS cpython llvm c wasm wasm_x64) -RUN(NAME expr_03 LABELS cpython llvm c wasm wasm_x64) -RUN(NAME expr_04 LABELS cpython llvm c wasm NOFAST) -RUN(NAME expr_05 LABELS cpython llvm c NOFAST) -RUN(NAME expr_06 LABELS cpython llvm c NOFAST) -RUN(NAME expr_07 LABELS cpython llvm c) -RUN(NAME expr_08 LABELS llvm c NOFAST) -RUN(NAME expr_09 LABELS cpython llvm c) -RUN(NAME expr_10 LABELS cpython llvm c) -RUN(NAME expr_11 LABELS cpython llvm c wasm) -RUN(NAME expr_12 LABELS llvm c) +RUN(NAME const_04 LABELS cpython llvm llvm_jit c) +RUN(NAME expr_01 LABELS cpython llvm llvm_jit c wasm wasm_x64) +RUN(NAME expr_02 LABELS cpython llvm llvm_jit c wasm wasm_x64) +RUN(NAME expr_03 LABELS cpython llvm llvm_jit c wasm wasm_x64) +RUN(NAME expr_04 LABELS cpython llvm llvm_jit c wasm NOFAST) +RUN(NAME expr_05 LABELS cpython llvm llvm_jit c NOFAST) +RUN(NAME expr_06 LABELS cpython llvm llvm_jit c NOFAST) +RUN(NAME expr_07 LABELS cpython llvm llvm_jit c) +RUN(NAME expr_08 LABELS llvm llvm_jit c NOFAST) +RUN(NAME expr_09 LABELS cpython llvm llvm_jit c) +RUN(NAME expr_10 LABELS cpython llvm llvm_jit c) +RUN(NAME expr_11 LABELS cpython llvm llvm_jit c wasm) +RUN(NAME expr_12 LABELS llvm llvm_jit c) RUN(NAME expr_13 LABELS llvm c EXTRAFILES expr_13b.c NOFAST) -RUN(NAME expr_14 LABELS cpython llvm c) -RUN(NAME expr_15 LABELS cpython llvm c) -RUN(NAME expr_16 LABELS cpython llvm c) -RUN(NAME expr_17 LABELS cpython llvm c) -RUN(NAME expr_18 FAIL LABELS cpython llvm c) -RUN(NAME expr_19 LABELS cpython llvm c) -RUN(NAME expr_20 LABELS cpython llvm c) -RUN(NAME expr_21 LABELS cpython llvm c) -RUN(NAME expr_22 LABELS cpython llvm c) -RUN(NAME expr_23 LABELS cpython llvm c) +RUN(NAME expr_14 LABELS cpython llvm llvm_jit c) +RUN(NAME expr_15 LABELS cpython llvm llvm_jit c) +RUN(NAME expr_16 LABELS cpython llvm llvm_jit c) +RUN(NAME expr_17 LABELS cpython llvm llvm_jit c) +RUN(NAME expr_18 FAIL LABELS cpython llvm llvm_jit c) +RUN(NAME expr_19 LABELS cpython llvm llvm_jit c) +RUN(NAME expr_20 LABELS cpython llvm llvm_jit c) +RUN(NAME expr_21 LABELS cpython llvm llvm_jit c) +RUN(NAME expr_22 LABELS cpython llvm llvm_jit c) +RUN(NAME expr_23 LABELS cpython llvm llvm_jit c) RUN(NAME expr_24 LABELS cpython wasm) # mandelbrot -RUN(NAME expr_01u LABELS cpython llvm c NOFAST) -RUN(NAME expr_02u LABELS cpython llvm c NOFAST) -RUN(NAME expr_03u LABELS cpython llvm c NOFAST) -RUN(NAME expr_04u LABELS cpython llvm c) - -RUN(NAME loop_01 LABELS cpython llvm c) -RUN(NAME loop_02 LABELS cpython llvm c wasm wasm_x86 wasm_x64) -RUN(NAME loop_03 LABELS cpython llvm c wasm wasm_x64) -RUN(NAME loop_04 LABELS cpython llvm c) -RUN(NAME loop_05 LABELS cpython llvm c) -RUN(NAME loop_06 LABELS cpython llvm c NOFAST) -RUN(NAME loop_07 LABELS cpython llvm c) -RUN(NAME loop_08 LABELS cpython llvm c) -RUN(NAME loop_09 LABELS cpython llvm) -RUN(NAME loop_10 LABELS cpython llvm) -RUN(NAME if_01 LABELS cpython llvm c wasm wasm_x86 wasm_x64) -RUN(NAME if_02 LABELS cpython llvm c wasm wasm_x86 wasm_x64) -RUN(NAME if_03 FAIL LABELS cpython llvm c NOFAST) -RUN(NAME print_02 LABELS cpython llvm c) -RUN(NAME test_types_01 LABELS cpython llvm c) -RUN(NAME test_types_02 LABELS cpython llvm c wasm) -RUN(NAME test_str_01 LABELS cpython llvm c) -RUN(NAME test_str_02 LABELS cpython llvm c) -RUN(NAME test_str_03 LABELS cpython llvm c) -RUN(NAME test_str_04 LABELS cpython llvm c wasm) -RUN(NAME test_str_05 LABELS cpython llvm c) -RUN(NAME test_list_01 LABELS cpython llvm c) -RUN(NAME test_list_02 LABELS cpython llvm c) -RUN(NAME test_list_03 LABELS cpython llvm c NOFAST) -RUN(NAME test_list_04 LABELS cpython llvm c NOFAST) -RUN(NAME test_list_05 LABELS cpython llvm c NOFAST) -RUN(NAME test_list_06 LABELS cpython llvm c) -RUN(NAME test_list_07 LABELS cpython llvm c NOFAST) -RUN(NAME test_list_08 LABELS cpython llvm c NOFAST) -RUN(NAME test_list_09 LABELS cpython llvm c NOFAST) -RUN(NAME test_list_10 LABELS cpython llvm c NOFAST) -RUN(NAME test_list_11 LABELS cpython llvm c) -RUN(NAME test_list_section LABELS cpython llvm c NOFAST) -RUN(NAME test_list_section2 LABELS cpython llvm c NOFAST) -RUN(NAME test_list_count LABELS cpython llvm) -RUN(NAME test_list_index LABELS cpython llvm) -RUN(NAME test_list_index2 LABELS cpython llvm) -RUN(NAME test_list_repeat LABELS cpython llvm c NOFAST) -RUN(NAME test_list_repeat2 LABELS cpython llvm c NOFAST) -RUN(NAME test_list_reverse LABELS cpython llvm) -RUN(NAME test_list_pop LABELS cpython llvm NOFAST) # TODO: Remove NOFAST from here. -RUN(NAME test_list_pop2 LABELS cpython llvm NOFAST) # TODO: Remove NOFAST from here. -RUN(NAME test_list_pop3 LABELS cpython llvm) -RUN(NAME test_list_compare LABELS cpython llvm) -RUN(NAME test_list_concat LABELS cpython llvm c NOFAST) -RUN(NAME test_list_reserve LABELS cpython llvm) -RUN(NAME test_const_list LABELS cpython llvm) -RUN(NAME test_tuple_01 LABELS cpython llvm c) -RUN(NAME test_tuple_02 LABELS cpython llvm c NOFAST) -RUN(NAME test_tuple_03 LABELS cpython llvm c) -RUN(NAME test_tuple_04 LABELS cpython llvm c) -RUN(NAME test_tuple_concat LABELS cpython llvm) -RUN(NAME test_tuple_nested LABELS cpython llvm) -RUN(NAME test_dict_01 LABELS cpython llvm c) -RUN(NAME test_dict_02 LABELS cpython llvm c NOFAST) -RUN(NAME test_dict_03 LABELS cpython llvm NOFAST) -RUN(NAME test_dict_04 LABELS cpython llvm NOFAST) -RUN(NAME test_dict_05 LABELS cpython llvm c) -RUN(NAME test_dict_06 LABELS cpython llvm c) -RUN(NAME test_dict_07 LABELS cpython llvm c) -RUN(NAME test_dict_08 LABELS cpython llvm c) -RUN(NAME test_dict_09 LABELS cpython llvm c) -RUN(NAME test_dict_10 LABELS cpython llvm c) -RUN(NAME test_dict_11 LABELS cpython llvm c) -RUN(NAME test_dict_12 LABELS cpython llvm c) -RUN(NAME test_dict_13 LABELS cpython llvm c) -RUN(NAME test_dict_bool LABELS cpython llvm) -RUN(NAME test_dict_increment LABELS cpython llvm) -RUN(NAME test_dict_keys_values LABELS cpython llvm) -RUN(NAME test_dict_nested1 LABELS cpython llvm) -RUN(NAME test_set_len LABELS cpython llvm) -RUN(NAME test_set_add LABELS cpython llvm) -RUN(NAME test_set_remove LABELS cpython llvm) -RUN(NAME test_set_discard LABELS cpython llvm) -RUN(NAME test_global_set LABELS cpython llvm) -RUN(NAME test_for_loop LABELS cpython llvm c) -RUN(NAME modules_01 LABELS cpython llvm c wasm wasm_x86 wasm_x64) -RUN(NAME modules_02 LABELS cpython llvm c wasm wasm_x86 wasm_x64) -RUN(NAME test_import_01 LABELS cpython llvm c) -RUN(NAME test_import_02 LABELS cpython llvm c) -RUN(NAME test_import_03 LABELS cpython llvm c) -RUN(NAME test_import_04 LABELS cpython llvm c) -RUN(NAME test_import_05 LABELS cpython llvm c wasm wasm_x86 wasm_x64) -RUN(NAME test_import_06 LABELS cpython llvm) -RUN(NAME test_import_07 LABELS cpython llvm c) -RUN(NAME test_math LABELS cpython llvm NOFAST) -RUN(NAME test_numpy_01 LABELS cpython llvm c) -RUN(NAME test_numpy_02 LABELS cpython llvm c) -RUN(NAME test_numpy_03 LABELS cpython llvm c) -RUN(NAME test_numpy_04 LABELS cpython llvm c) -RUN(NAME elemental_01 LABELS cpython llvm c NOFAST) -RUN(NAME elemental_02 LABELS cpython llvm c NOFAST) -RUN(NAME elemental_03 LABELS cpython llvm c NOFAST) -RUN(NAME elemental_04 LABELS cpython llvm c NOFAST) -RUN(NAME elemental_05 LABELS cpython llvm c NOFAST) -RUN(NAME elemental_06 LABELS cpython llvm c NOFAST) -RUN(NAME elemental_07 LABELS cpython llvm c NOFAST) -RUN(NAME elemental_08 LABELS cpython llvm c NOFAST) -RUN(NAME elemental_09 LABELS cpython llvm c NOFAST) -RUN(NAME elemental_10 LABELS cpython llvm c NOFAST) -RUN(NAME elemental_11 LABELS cpython llvm c NOFAST) -RUN(NAME elemental_12 LABELS cpython llvm c NOFAST) -RUN(NAME elemental_13 LABELS cpython llvm c NOFAST) -RUN(NAME test_random LABELS cpython llvm NOFAST) -RUN(NAME test_random_02 LABELS cpython llvm NOFAST) -RUN(NAME test_os LABELS cpython llvm c NOFAST) -RUN(NAME test_builtin LABELS cpython llvm c) -RUN(NAME test_builtin_abs LABELS cpython llvm c) -RUN(NAME test_builtin_bool LABELS cpython llvm c) -RUN(NAME test_builtin_pow LABELS cpython llvm c NO_WARNINGS) -RUN(NAME test_builtin_int LABELS cpython llvm c) -RUN(NAME test_builtin_len LABELS cpython llvm c) -RUN(NAME test_builtin_str LABELS cpython llvm c) -RUN(NAME test_builtin_oct LABELS cpython llvm c) -RUN(NAME test_builtin_hex LABELS cpython llvm c) -RUN(NAME test_builtin_bin LABELS cpython llvm c) -RUN(NAME test_builtin_float LABELS cpython llvm c) -RUN(NAME test_builtin_str_02 LABELS cpython llvm c NOFAST) -RUN(NAME test_builtin_round LABELS cpython llvm c) -RUN(NAME test_builtin_divmod LABELS cpython llvm c) -RUN(NAME test_builtin_sum LABELS cpython llvm c) -RUN(NAME test_math1 LABELS cpython llvm c) -RUN(NAME test_math_02 LABELS cpython llvm NOFAST) -RUN(NAME test_math_03 LABELS llvm) #1595: TODO: Test using CPython (3.11 recommended) -RUN(NAME test_pass_compare LABELS cpython llvm c) -RUN(NAME test_c_interop_01 LABELS cpython llvm c) +RUN(NAME expr_01u LABELS cpython llvm llvm_jit c NOFAST) +RUN(NAME expr_02u LABELS cpython llvm llvm_jit c NOFAST) +RUN(NAME expr_03u LABELS cpython llvm llvm_jit c NOFAST) +RUN(NAME expr_04u LABELS cpython llvm llvm_jit c) + +RUN(NAME loop_01 LABELS cpython llvm llvm_jit c) +RUN(NAME loop_02 LABELS cpython llvm llvm_jit c wasm wasm_x86 wasm_x64) +RUN(NAME loop_03 LABELS cpython llvm llvm_jit c wasm wasm_x64) +RUN(NAME loop_04 LABELS cpython llvm llvm_jit c) +RUN(NAME loop_05 LABELS cpython llvm llvm_jit c) +RUN(NAME loop_06 LABELS cpython llvm llvm_jit c NOFAST) +RUN(NAME loop_07 LABELS cpython llvm llvm_jit c) +RUN(NAME loop_08 LABELS cpython llvm llvm_jit c) +RUN(NAME loop_09 LABELS cpython llvm llvm_jit) +RUN(NAME loop_10 LABELS cpython llvm llvm_jit) +RUN(NAME if_01 LABELS cpython llvm llvm_jit c wasm wasm_x86 wasm_x64) +RUN(NAME if_02 LABELS cpython llvm llvm_jit c wasm wasm_x86 wasm_x64) +RUN(NAME if_03 FAIL LABELS cpython llvm llvm_jit c NOFAST) +RUN(NAME print_02 LABELS cpython llvm llvm_jit c) +RUN(NAME test_types_01 LABELS cpython llvm llvm_jit c) +RUN(NAME test_types_02 LABELS cpython llvm llvm_jit c wasm) +RUN(NAME test_str_01 LABELS cpython llvm llvm_jit c) +RUN(NAME test_str_02 LABELS cpython llvm llvm_jit c) +RUN(NAME test_str_03 LABELS cpython llvm llvm_jit c) +RUN(NAME test_str_04 LABELS cpython llvm llvm_jit c wasm) +RUN(NAME test_str_05 LABELS cpython llvm llvm_jit c) +RUN(NAME test_list_01 LABELS cpython llvm llvm_jit c) +RUN(NAME test_list_02 LABELS cpython llvm llvm_jit c) +RUN(NAME test_list_03 LABELS cpython llvm llvm_jit c NOFAST) +RUN(NAME test_list_04 LABELS cpython llvm llvm_jit c NOFAST) +RUN(NAME test_list_05 LABELS cpython llvm llvm_jit c NOFAST) +RUN(NAME test_list_06 LABELS cpython llvm llvm_jit c) +RUN(NAME test_list_07 LABELS cpython llvm llvm_jit c NOFAST) +RUN(NAME test_list_08 LABELS cpython llvm llvm_jit c NOFAST) +RUN(NAME test_list_09 LABELS cpython llvm llvm_jit c NOFAST) +RUN(NAME test_list_10 LABELS cpython llvm llvm_jit c NOFAST) +RUN(NAME test_list_11 LABELS cpython llvm llvm_jit c) +RUN(NAME test_list_section LABELS cpython llvm llvm_jit c NOFAST) +RUN(NAME test_list_section2 LABELS cpython llvm llvm_jit c NOFAST) +RUN(NAME test_list_count LABELS cpython llvm llvm_jit) +RUN(NAME test_list_index LABELS cpython llvm llvm_jit) +RUN(NAME test_list_index2 LABELS cpython llvm llvm_jit) +RUN(NAME test_list_repeat LABELS cpython llvm llvm_jit c NOFAST) +RUN(NAME test_list_repeat2 LABELS cpython llvm llvm_jit c NOFAST) +RUN(NAME test_list_reverse LABELS cpython llvm llvm_jit) +RUN(NAME test_list_pop LABELS cpython llvm llvm_jit NOFAST) # TODO: Remove NOFAST from here. +RUN(NAME test_list_pop2 LABELS cpython llvm llvm_jit NOFAST) # TODO: Remove NOFAST from here. +RUN(NAME test_list_pop3 LABELS cpython llvm llvm_jit) +RUN(NAME test_list_compare LABELS cpython llvm llvm_jit) +RUN(NAME test_list_concat LABELS cpython llvm llvm_jit c NOFAST) +RUN(NAME test_list_reserve LABELS cpython llvm llvm_jit) +RUN(NAME test_const_list LABELS cpython llvm llvm_jit) +RUN(NAME test_tuple_01 LABELS cpython llvm llvm_jit c) +RUN(NAME test_tuple_02 LABELS cpython llvm llvm_jit c NOFAST) +RUN(NAME test_tuple_03 LABELS cpython llvm llvm_jit c) +RUN(NAME test_tuple_04 LABELS cpython llvm llvm_jit c) +RUN(NAME test_tuple_concat LABELS cpython llvm llvm_jit) +RUN(NAME test_tuple_nested LABELS cpython llvm llvm_jit) +RUN(NAME test_dict_01 LABELS cpython llvm llvm_jit c) +RUN(NAME test_dict_02 LABELS cpython llvm llvm_jit c NOFAST) +RUN(NAME test_dict_03 LABELS cpython llvm llvm_jit NOFAST) +RUN(NAME test_dict_04 LABELS cpython llvm llvm_jit NOFAST) +RUN(NAME test_dict_05 LABELS cpython llvm llvm_jit c) +RUN(NAME test_dict_06 LABELS cpython llvm llvm_jit c) +RUN(NAME test_dict_07 LABELS cpython llvm llvm_jit c) +RUN(NAME test_dict_08 LABELS cpython llvm llvm_jit c) +RUN(NAME test_dict_09 LABELS cpython llvm llvm_jit c) +RUN(NAME test_dict_10 LABELS cpython llvm llvm_jit c) +RUN(NAME test_dict_11 LABELS cpython llvm llvm_jit c) +RUN(NAME test_dict_12 LABELS cpython llvm llvm_jit c) +RUN(NAME test_dict_13 LABELS cpython llvm llvm_jit c) +RUN(NAME test_dict_bool LABELS cpython llvm llvm_jit) +RUN(NAME test_dict_increment LABELS cpython llvm llvm_jit) +RUN(NAME test_dict_keys_values LABELS cpython llvm llvm_jit) +RUN(NAME test_dict_nested1 LABELS cpython llvm llvm_jit) +RUN(NAME test_set_len LABELS cpython llvm llvm_jit) +RUN(NAME test_set_add LABELS cpython llvm llvm_jit) +RUN(NAME test_set_remove LABELS cpython llvm llvm_jit) +RUN(NAME test_set_discard LABELS cpython llvm llvm_jit) +RUN(NAME test_global_set LABELS cpython llvm llvm_jit) +RUN(NAME test_for_loop LABELS cpython llvm llvm_jit c) +RUN(NAME modules_01 LABELS cpython llvm llvm_jit c wasm wasm_x86 wasm_x64) +RUN(NAME modules_02 LABELS cpython llvm llvm_jit c wasm wasm_x86 wasm_x64) +RUN(NAME test_import_01 LABELS cpython llvm llvm_jit c) +RUN(NAME test_import_02 LABELS cpython llvm llvm_jit c) +RUN(NAME test_import_03 LABELS cpython llvm llvm_jit c) +RUN(NAME test_import_04 LABELS cpython llvm llvm_jit c) +RUN(NAME test_import_05 LABELS cpython llvm llvm_jit c wasm wasm_x86 wasm_x64) +RUN(NAME test_import_06 LABELS cpython llvm llvm_jit) +RUN(NAME test_import_07 LABELS cpython llvm llvm_jit c) +RUN(NAME test_math LABELS cpython llvm llvm_jit NOFAST) +RUN(NAME test_numpy_01 LABELS cpython llvm llvm_jit c) +RUN(NAME test_numpy_02 LABELS cpython llvm llvm_jit c) +RUN(NAME test_numpy_03 LABELS cpython llvm llvm_jit c) +RUN(NAME test_numpy_04 LABELS cpython llvm llvm_jit c) +RUN(NAME elemental_01 LABELS cpython llvm llvm_jit c NOFAST) +RUN(NAME elemental_02 LABELS cpython llvm llvm_jit c NOFAST) +RUN(NAME elemental_03 LABELS cpython llvm llvm_jit c NOFAST) +RUN(NAME elemental_04 LABELS cpython llvm llvm_jit c NOFAST) +RUN(NAME elemental_05 LABELS cpython llvm llvm_jit c NOFAST) +RUN(NAME elemental_06 LABELS cpython llvm llvm_jit c NOFAST) +RUN(NAME elemental_07 LABELS cpython llvm llvm_jit c NOFAST) +RUN(NAME elemental_08 LABELS cpython llvm llvm_jit c NOFAST) +RUN(NAME elemental_09 LABELS cpython llvm llvm_jit c NOFAST) +RUN(NAME elemental_10 LABELS cpython llvm llvm_jit c NOFAST) +RUN(NAME elemental_11 LABELS cpython llvm llvm_jit c NOFAST) +RUN(NAME elemental_12 LABELS cpython llvm llvm_jit c NOFAST) +RUN(NAME elemental_13 LABELS cpython llvm llvm_jit c NOFAST) +RUN(NAME test_random LABELS cpython llvm llvm_jit NOFAST) +RUN(NAME test_random_02 LABELS cpython llvm llvm_jit NOFAST) +RUN(NAME test_os LABELS cpython llvm llvm_jit c NOFAST) +RUN(NAME test_builtin LABELS cpython llvm llvm_jit c) +RUN(NAME test_builtin_abs LABELS cpython llvm llvm_jit c) +RUN(NAME test_builtin_bool LABELS cpython llvm llvm_jit c) +RUN(NAME test_builtin_pow LABELS cpython llvm llvm_jit c EXTRA_ARGS --no-warnings) +RUN(NAME test_builtin_int LABELS cpython llvm llvm_jit c) +RUN(NAME test_builtin_len LABELS cpython llvm llvm_jit c) +RUN(NAME test_builtin_str LABELS cpython llvm llvm_jit c) +RUN(NAME test_builtin_oct LABELS cpython llvm llvm_jit c) +RUN(NAME test_builtin_hex LABELS cpython llvm llvm_jit c) +RUN(NAME test_builtin_bin LABELS cpython llvm llvm_jit c) +RUN(NAME test_builtin_float LABELS cpython llvm llvm_jit c) +RUN(NAME test_builtin_str_02 LABELS cpython llvm llvm_jit c NOFAST) +RUN(NAME test_builtin_round LABELS cpython llvm llvm_jit c) +RUN(NAME test_builtin_divmod LABELS cpython llvm llvm_jit c) +RUN(NAME test_builtin_sum LABELS cpython llvm llvm_jit c) +RUN(NAME test_math1 LABELS cpython llvm llvm_jit c) +RUN(NAME test_math_02 LABELS cpython llvm llvm_jit NOFAST) +RUN(NAME test_math_03 LABELS llvm llvm_jit) #1595: TODO: Test using CPython (3.11 recommended) +RUN(NAME test_pass_compare LABELS cpython llvm llvm_jit c) +RUN(NAME test_c_interop_01 LABELS cpython llvm llvm_jit c) RUN(NAME test_c_interop_02 LABELS cpython llvm c EXTRAFILES test_c_interop_02b.c) RUN(NAME test_c_interop_03 LABELS cpython llvm c EXTRAFILES test_c_interop_03b.c) -RUN(NAME test_c_interop_04 LABELS cpython llvm c +RUN(NAME test_c_interop_04 LABELS cpython llvm llvm_jit c EXTRAFILES test_c_interop_04b.c) RUN(NAME test_c_interop_05 LABELS llvm c EXTRAFILES test_c_interop_05b.c) @@ -681,192 +647,192 @@ RUN(NAME bindc_05 LABELS llvm c EXTRAFILES bindc_05b.c) RUN(NAME bindc_06 LABELS llvm c EXTRAFILES bindc_06b.c) -RUN(NAME bindpy_01 LABELS cpython c_py ENABLE_CPYTHON NOFAST COPY_TO_BIN bindpy_01_module.py) -RUN(NAME bindpy_02 LABELS cpython c_py LINK_NUMPY COPY_TO_BIN bindpy_02_module.py) -RUN(NAME bindpy_03 LABELS cpython c_py LINK_NUMPY NOFAST COPY_TO_BIN bindpy_03_module.py) -RUN(NAME bindpy_04 LABELS cpython c_py LINK_NUMPY NOFAST COPY_TO_BIN bindpy_04_module.py) -RUN(NAME bindpy_05 LABELS llvm_py c_py ENABLE_CPYTHON COPY_TO_BIN bindpy_05_module.py REQ_PY_VER 3.10) -RUN(NAME test_generics_01 LABELS cpython llvm c NOFAST) -RUN(NAME test_cmath LABELS cpython llvm c NOFAST) -RUN(NAME test_complex_01 LABELS cpython llvm c wasm wasm_x64) -RUN(NAME test_complex_02 LABELS cpython llvm c) -RUN(NAME test_ConstantEllipsis LABLES cpython llvm c) -RUN(NAME test_max_min LABELS cpython llvm c) -RUN(NAME test_global LABELS cpython llvm c) -RUN(NAME test_global_decl LABELS cpython llvm c) -RUN(NAME test_ifexp_01 LABELS cpython llvm c) -RUN(NAME test_ifexp_02 LABELS cpython llvm c) -RUN(NAME test_ifexp_03 LABELS cpython llvm c) -RUN(NAME test_unary_op_01 LABELS cpython llvm c) # unary minus -RUN(NAME test_unary_op_02 LABELS cpython llvm c) # unary plus -RUN(NAME test_unary_op_03 LABELS cpython llvm c wasm) # unary bitinvert -RUN(NAME test_unary_op_04 LABELS cpython llvm c) # unary bitinvert -RUN(NAME test_unary_op_05 LABELS cpython llvm c) # unsigned unary minus, plus -RUN(NAME test_unary_op_06 LABELS cpython llvm c) # unsigned unary bitnot -RUN(NAME test_unsigned_01 LABELS cpython llvm c) # unsigned bitshift left, right -RUN(NAME test_unsigned_02 LABELS cpython llvm c) -RUN(NAME test_unsigned_03 LABELS cpython llvm c) -RUN(NAME test_bool_binop LABELS cpython llvm c) -RUN(NAME test_issue_518 LABELS cpython llvm c NOFAST) -RUN(NAME structs_01 LABELS cpython llvm c) -RUN(NAME structs_02 LABELS cpython llvm c) -RUN(NAME structs_02b LABELS cpython llvm c NOFAST) -RUN(NAME structs_03 LABELS llvm c) -RUN(NAME structs_04 LABELS cpython llvm c) -RUN(NAME structs_05 LABELS cpython llvm c) -RUN(NAME structs_06 LABELS cpython llvm c) +RUN(NAME bindpy_01 LABELS cpython c_py EXTRA_ARGS --enable-cpython NOFAST COPY_TO_BIN bindpy_01_module.py) +RUN(NAME bindpy_02 LABELS cpython c_py EXTRA_ARGS --link-numpy COPY_TO_BIN bindpy_02_module.py) +RUN(NAME bindpy_03 LABELS cpython c_py EXTRA_ARGS --link-numpy NOFAST COPY_TO_BIN bindpy_03_module.py) +RUN(NAME bindpy_04 LABELS cpython c_py EXTRA_ARGS --link-numpy NOFAST COPY_TO_BIN bindpy_04_module.py) +RUN(NAME bindpy_05 LABELS llvm_py c_py EXTRA_ARGS --enable-cpython COPY_TO_BIN bindpy_05_module.py REQ_PY_VER 3.10) +RUN(NAME test_generics_01 LABELS cpython llvm llvm_jit c NOFAST) +RUN(NAME test_cmath LABELS cpython llvm llvm_jit c NOFAST) +RUN(NAME test_complex_01 LABELS cpython llvm llvm_jit c wasm wasm_x64) +RUN(NAME test_complex_02 LABELS cpython llvm llvm_jit c) +RUN(NAME test_ConstantEllipsis LABLES cpython llvm llvm_jit c) +RUN(NAME test_max_min LABELS cpython llvm llvm_jit c) +RUN(NAME test_global LABELS cpython llvm llvm_jit c) +RUN(NAME test_global_decl LABELS cpython llvm llvm_jit c) +RUN(NAME test_ifexp_01 LABELS cpython llvm llvm_jit c) +RUN(NAME test_ifexp_02 LABELS cpython llvm llvm_jit c) +RUN(NAME test_ifexp_03 LABELS cpython llvm llvm_jit c) +RUN(NAME test_unary_op_01 LABELS cpython llvm llvm_jit c) # unary minus +RUN(NAME test_unary_op_02 LABELS cpython llvm llvm_jit c) # unary plus +RUN(NAME test_unary_op_03 LABELS cpython llvm llvm_jit c wasm) # unary bitinvert +RUN(NAME test_unary_op_04 LABELS cpython llvm llvm_jit c) # unary bitinvert +RUN(NAME test_unary_op_05 LABELS cpython llvm llvm_jit c) # unsigned unary minus, plus +RUN(NAME test_unary_op_06 LABELS cpython llvm llvm_jit c) # unsigned unary bitnot +RUN(NAME test_unsigned_01 LABELS cpython llvm llvm_jit c) # unsigned bitshift left, right +RUN(NAME test_unsigned_02 LABELS cpython llvm llvm_jit c) +RUN(NAME test_unsigned_03 LABELS cpython llvm llvm_jit c) +RUN(NAME test_bool_binop LABELS cpython llvm llvm_jit c) +RUN(NAME test_issue_518 LABELS cpython llvm llvm_jit c NOFAST) +RUN(NAME structs_01 LABELS cpython llvm llvm_jit c) +RUN(NAME structs_02 LABELS cpython llvm llvm_jit c) +RUN(NAME structs_02b LABELS cpython llvm llvm_jit c NOFAST) +RUN(NAME structs_03 LABELS llvm llvm_jit c) +RUN(NAME structs_04 LABELS cpython llvm llvm_jit c) +RUN(NAME structs_05 LABELS cpython llvm llvm_jit c) +RUN(NAME structs_06 LABELS cpython llvm llvm_jit c) RUN(NAME structs_07 LABELS llvm c EXTRAFILES structs_07b.c) -RUN(NAME structs_08 LABELS cpython llvm c) -RUN(NAME structs_09 LABELS cpython llvm c) -RUN(NAME structs_10 LABELS cpython llvm c NOFAST) -RUN(NAME structs_11 LABELS cpython llvm c) -RUN(NAME structs_12 LABELS cpython llvm c) +RUN(NAME structs_08 LABELS cpython llvm llvm_jit c) +RUN(NAME structs_09 LABELS cpython llvm llvm_jit c) +RUN(NAME structs_10 LABELS cpython llvm llvm_jit c NOFAST) +RUN(NAME structs_11 LABELS cpython llvm llvm_jit c) +RUN(NAME structs_12 LABELS cpython llvm llvm_jit c) RUN(NAME structs_13 LABELS llvm c EXTRAFILES structs_13b.c) -RUN(NAME structs_14 LABELS cpython llvm c) -RUN(NAME structs_15 LABELS cpython llvm c) -RUN(NAME structs_16 LABELS cpython llvm c) -RUN(NAME structs_17 LABELS cpython llvm c) +RUN(NAME structs_14 LABELS cpython llvm llvm_jit c) +RUN(NAME structs_15 LABELS cpython llvm llvm_jit c) +RUN(NAME structs_16 LABELS cpython llvm llvm_jit c) +RUN(NAME structs_17 LABELS cpython llvm llvm_jit c) RUN(NAME structs_18 LABELS cpython llvm c EXTRAFILES structs_18b.c) RUN(NAME structs_19 LABELS cpython llvm c EXTRAFILES structs_19b.c) RUN(NAME structs_20 LABELS cpython llvm c EXTRAFILES structs_20b.c) -RUN(NAME structs_21 LABELS cpython llvm c) -RUN(NAME structs_22 LABELS cpython llvm c NOFAST) -RUN(NAME structs_23 LABELS cpython llvm c NOFAST) -RUN(NAME structs_24 LABELS cpython llvm c) -RUN(NAME structs_25 LABELS cpython llvm c) -RUN(NAME structs_26 LABELS cpython llvm c) -RUN(NAME structs_27 LABELS cpython llvm c) -RUN(NAME structs_28 LABELS cpython llvm c) -RUN(NAME structs_29 LABELS cpython llvm) -RUN(NAME structs_30 LABELS cpython llvm c) -RUN(NAME structs_31 LABELS cpython llvm c) -RUN(NAME structs_32 LABELS cpython llvm c) -RUN(NAME structs_33 LABELS cpython llvm c) -RUN(NAME structs_34 LABELS cpython llvm c) -RUN(NAME structs_35 LABELS cpython llvm) - -RUN(NAME symbolics_01 LABELS cpython_sym c_sym llvm_sym NOFAST) -RUN(NAME symbolics_02 LABELS cpython_sym c_sym llvm_sym NOFAST) -RUN(NAME symbolics_03 LABELS cpython_sym c_sym llvm_sym NOFAST) -RUN(NAME symbolics_04 LABELS cpython_sym c_sym llvm_sym NOFAST) -RUN(NAME symbolics_05 LABELS cpython_sym c_sym llvm_sym NOFAST) -RUN(NAME symbolics_06 LABELS cpython_sym c_sym llvm_sym NOFAST) -RUN(NAME symbolics_07 LABELS cpython_sym c_sym llvm_sym NOFAST) -RUN(NAME symbolics_08 LABELS cpython_sym c_sym llvm_sym) -RUN(NAME symbolics_09 LABELS cpython_sym c_sym llvm_sym NOFAST) -RUN(NAME symbolics_10 LABELS cpython_sym c_sym llvm_sym NOFAST) -RUN(NAME symbolics_11 LABELS cpython_sym c_sym llvm_sym NOFAST) -RUN(NAME symbolics_12 LABELS cpython_sym c_sym llvm_sym NOFAST) -RUN(NAME symbolics_13 LABELS cpython_sym c_sym llvm_sym NOFAST) -RUN(NAME symbolics_14 LABELS cpython_sym c_sym llvm_sym NOFAST) -RUN(NAME test_gruntz LABELS cpython_sym c_sym llvm_sym NOFAST) -RUN(NAME symbolics_15 LABELS c_sym llvm_sym NOFAST) -RUN(NAME symbolics_16 LABELS cpython_sym c_sym llvm_sym NOFAST) -RUN(NAME symbolics_17 LABELS cpython_sym c_sym llvm_sym NOFAST) -RUN(NAME symbolics_18 LABELS cpython_sym c_sym llvm_sym NOFAST) +RUN(NAME structs_21 LABELS cpython llvm llvm_jit c) +RUN(NAME structs_22 LABELS cpython llvm llvm_jit c NOFAST) +RUN(NAME structs_23 LABELS cpython llvm llvm_jit c NOFAST) +RUN(NAME structs_24 LABELS cpython llvm llvm_jit c) +RUN(NAME structs_25 LABELS cpython llvm llvm_jit c) +RUN(NAME structs_26 LABELS cpython llvm llvm_jit c) +RUN(NAME structs_27 LABELS cpython llvm llvm_jit c) +RUN(NAME structs_28 LABELS cpython llvm llvm_jit c) +RUN(NAME structs_29 LABELS cpython llvm llvm_jit) +RUN(NAME structs_30 LABELS cpython llvm llvm_jit c) +RUN(NAME structs_31 LABELS cpython llvm llvm_jit c) +RUN(NAME structs_32 LABELS cpython llvm llvm_jit c) +RUN(NAME structs_33 LABELS cpython llvm llvm_jit c) +RUN(NAME structs_34 LABELS cpython llvm llvm_jit c) +RUN(NAME structs_35 LABELS cpython llvm llvm_jit) + +RUN(NAME symbolics_01 LABELS cpython_sym c_sym llvm_sym llvm_jit NOFAST EXTRA_ARGS --enable-symengine) +RUN(NAME symbolics_02 LABELS cpython_sym c_sym llvm_sym llvm_jit NOFAST EXTRA_ARGS --enable-symengine) +RUN(NAME symbolics_03 LABELS cpython_sym c_sym llvm_sym llvm_jit NOFAST EXTRA_ARGS --enable-symengine) +RUN(NAME symbolics_04 LABELS cpython_sym c_sym llvm_sym llvm_jit NOFAST EXTRA_ARGS --enable-symengine) +RUN(NAME symbolics_05 LABELS cpython_sym c_sym llvm_sym llvm_jit NOFAST EXTRA_ARGS --enable-symengine) +RUN(NAME symbolics_06 LABELS cpython_sym c_sym llvm_sym llvm_jit NOFAST EXTRA_ARGS --enable-symengine) +RUN(NAME symbolics_07 LABELS cpython_sym c_sym llvm_sym llvm_jit NOFAST EXTRA_ARGS --enable-symengine) +RUN(NAME symbolics_08 LABELS cpython_sym c_sym llvm_sym llvm_jit EXTRA_ARGS --enable-symengine) +RUN(NAME symbolics_09 LABELS cpython_sym c_sym llvm_sym llvm_jit NOFAST EXTRA_ARGS --enable-symengine) +RUN(NAME symbolics_10 LABELS cpython_sym c_sym llvm_sym NOFAST EXTRA_ARGS --enable-symengine) +RUN(NAME symbolics_11 LABELS cpython_sym c_sym llvm_sym llvm_jit NOFAST EXTRA_ARGS --enable-symengine) +RUN(NAME symbolics_12 LABELS cpython_sym c_sym llvm_sym llvm_jit NOFAST EXTRA_ARGS --enable-symengine) +RUN(NAME symbolics_13 LABELS cpython_sym c_sym llvm_sym llvm_jit NOFAST EXTRA_ARGS --enable-symengine) +RUN(NAME symbolics_14 LABELS cpython_sym c_sym llvm_sym llvm_jit NOFAST EXTRA_ARGS --enable-symengine) +RUN(NAME test_gruntz LABELS cpython_sym c_sym llvm_sym NOFAST EXTRA_ARGS --enable-symengine) +RUN(NAME symbolics_15 LABELS c_sym llvm_sym llvm_jit NOFAST EXTRA_ARGS --enable-symengine) +RUN(NAME symbolics_16 LABELS cpython_sym c_sym llvm_sym llvm_jit NOFAST EXTRA_ARGS --enable-symengine) +RUN(NAME symbolics_17 LABELS cpython_sym c_sym llvm_sym llvm_jit NOFAST EXTRA_ARGS --enable-symengine) +RUN(NAME symbolics_18 LABELS cpython_sym c_sym llvm_sym llvm_jit NOFAST EXTRA_ARGS --enable-symengine) RUN(NAME sizeof_01 LABELS llvm c EXTRAFILES sizeof_01b.c) -RUN(NAME sizeof_02 LABELS cpython llvm c) -RUN(NAME enum_01 LABELS cpython llvm c) -RUN(NAME enum_02 LABELS cpython llvm) -RUN(NAME enum_03 LABELS cpython llvm c) -RUN(NAME enum_04 LABELS cpython llvm c) +RUN(NAME sizeof_02 LABELS cpython llvm llvm_jit c) +RUN(NAME enum_01 LABELS cpython llvm llvm_jit c) +RUN(NAME enum_02 LABELS cpython llvm llvm_jit) +RUN(NAME enum_03 LABELS cpython llvm llvm_jit c) +RUN(NAME enum_04 LABELS cpython llvm llvm_jit c) RUN(NAME enum_05 LABELS llvm c EXTRAFILES enum_05b.c) -RUN(NAME enum_06 LABELS cpython llvm c) +RUN(NAME enum_06 LABELS cpython llvm llvm_jit c) RUN(NAME enum_07 IMPORT_PATH .. - LABELS cpython llvm c) -RUN(NAME union_01 LABELS cpython llvm c) -RUN(NAME union_02 LABELS cpython llvm c NOFAST) -RUN(NAME union_03 LABELS cpython llvm c) + LABELS cpython llvm llvm_jit c) +RUN(NAME union_01 LABELS cpython llvm llvm_jit c) +RUN(NAME union_02 LABELS cpython llvm llvm_jit c NOFAST) +RUN(NAME union_03 LABELS cpython llvm llvm_jit c) RUN(NAME union_04 IMPORT_PATH .. - LABELS cpython llvm c) -RUN(NAME test_str_to_int LABELS cpython llvm c) -RUN(NAME test_platform LABELS cpython llvm c) -RUN(NAME test_vars_01 LABELS cpython llvm) -RUN(NAME test_version LABELS cpython llvm) -RUN(NAME logical_binop1 LABELS cpython llvm) -RUN(NAME test_logical_compare LABELS cpython llvm) -RUN(NAME test_logical_assignment LABELS cpython llvm) -RUN(NAME vec_01 LABELS cpython llvm c NOFAST) -RUN(NAME test_str_comparison LABELS cpython llvm c wasm) -RUN(NAME test_bit_length LABELS cpython llvm c) -RUN(NAME str_to_list_cast LABELS cpython llvm c) -RUN(NAME cast_01 LABELS cpython llvm c) -RUN(NAME cast_02 LABELS cpython llvm c) -RUN(NAME test_sys_01 LABELS cpython llvm c NOFAST) -RUN(NAME intent_01 LABELS cpython llvm) - - -RUN(NAME test_package_01 LABELS cpython llvm NOFAST) -RUN(NAME test_pkg_lpdraw LABELS cpython llvm wasm) -RUN(NAME test_pkg_lnn_01 LABELS cpython llvm NOFAST) -RUN(NAME test_pkg_lnn_02 LABELS cpython llvm NOFAST) -RUN(NAME test_pkg_lpconvexhull LABELS cpython llvm c NOFAST) - -RUN(NAME generics_01 LABELS cpython llvm c) -RUN(NAME generics_02 LABELS cpython llvm c) -RUN(NAME generics_array_01 LABELS cpython llvm c) -RUN(NAME generics_array_02 LABELS cpython llvm c) -RUN(NAME generics_array_03 LABELS cpython llvm c) -RUN(NAME generics_list_01 LABELS cpython llvm c) -RUN(NAME test_statistics_01 LABELS cpython llvm NOFAST) -RUN(NAME test_statistics_02 LABELS cpython llvm NOFAST REQ_PY_VER 3.10) -RUN(NAME test_str_attributes LABELS cpython llvm c) -RUN(NAME kwargs_01 LABELS cpython llvm c NOFAST) - -RUN(NAME func_inline_01 LABELS llvm c wasm) -RUN(NAME func_inline_02 LABELS cpython llvm c) -RUN(NAME func_static_01 LABELS cpython llvm c wasm) -RUN(NAME func_static_02 LABELS cpython llvm c wasm) -RUN(NAME func_dep_03 LABELS cpython llvm c) -RUN(NAME func_dep_04 LABELS cpython llvm c) -RUN(NAME func_internal_def_01 LABELS cpython llvm NOFAST) -RUN(NAME func_01 LABELS cpython llvm) -RUN(NAME func_02 LABELS c_sym llvm_sym NOFAST) - -RUN(NAME float_01 LABELS cpython llvm c wasm wasm_x64) -RUN(NAME recursive_01 LABELS cpython llvm c wasm wasm_x64 wasm_x86) -RUN(NAME comp_01 LABELS cpython llvm c wasm wasm_x64) -RUN(NAME bit_operations_i32 LABELS cpython llvm c wasm wasm_x64) -RUN(NAME bit_operations_i64 LABELS cpython llvm c wasm) - -RUN(NAME test_argv_01 LABELS cpython llvm NOFAST SKIP_ON_JIT 1) -RUN(NAME global_syms_01 LABELS cpython llvm c) -RUN(NAME global_syms_02 LABELS cpython llvm c) -RUN(NAME global_syms_03_b LABELS cpython llvm c) -RUN(NAME global_syms_03_c LABELS cpython llvm c) -RUN(NAME global_syms_04 LABELS cpython llvm c wasm wasm_x64) -RUN(NAME global_syms_05 LABELS cpython llvm c) -RUN(NAME global_syms_06 LABELS cpython llvm c) - -RUN(NAME callback_01 LABELS cpython llvm c) -RUN(NAME callback_02 LABELS cpython llvm c) -RUN(NAME callback_03 LABELS cpython llvm c) - -RUN(NAME lambda_01 LABELS cpython llvm) - -RUN(NAME c_mangling LABELS cpython llvm c) + LABELS cpython llvm llvm_jit c) +RUN(NAME test_str_to_int LABELS cpython llvm llvm_jit c) +RUN(NAME test_platform LABELS cpython llvm llvm_jit c) +RUN(NAME test_vars_01 LABELS cpython llvm llvm_jit) +RUN(NAME test_version LABELS cpython llvm llvm_jit) +RUN(NAME logical_binop1 LABELS cpython llvm llvm_jit) +RUN(NAME test_logical_compare LABELS cpython llvm llvm_jit) +RUN(NAME test_logical_assignment LABELS cpython llvm llvm_jit) +RUN(NAME vec_01 LABELS cpython llvm llvm_jit c NOFAST) +RUN(NAME test_str_comparison LABELS cpython llvm llvm_jit c wasm) +RUN(NAME test_bit_length LABELS cpython llvm llvm_jit c) +RUN(NAME str_to_list_cast LABELS cpython llvm llvm_jit c) +RUN(NAME cast_01 LABELS cpython llvm llvm_jit c) +RUN(NAME cast_02 LABELS cpython llvm llvm_jit c) +RUN(NAME test_sys_01 LABELS cpython llvm llvm_jit c NOFAST) +RUN(NAME intent_01 LABELS cpython llvm llvm_jit) + + +RUN(NAME test_package_01 LABELS cpython llvm llvm_jit NOFAST) +RUN(NAME test_pkg_lpdraw LABELS cpython llvm llvm_jit wasm) +RUN(NAME test_pkg_lnn_01 LABELS cpython llvm llvm_jit NOFAST) +RUN(NAME test_pkg_lnn_02 LABELS cpython llvm llvm_jit NOFAST) +RUN(NAME test_pkg_lpconvexhull LABELS cpython llvm llvm_jit c NOFAST) + +RUN(NAME generics_01 LABELS cpython llvm llvm_jit c) +RUN(NAME generics_02 LABELS cpython llvm llvm_jit c) +RUN(NAME generics_array_01 LABELS cpython llvm llvm_jit c) +RUN(NAME generics_array_02 LABELS cpython llvm llvm_jit c) +RUN(NAME generics_array_03 LABELS cpython llvm llvm_jit c) +RUN(NAME generics_list_01 LABELS cpython llvm llvm_jit c) +RUN(NAME test_statistics_01 LABELS cpython llvm llvm_jit NOFAST) +RUN(NAME test_statistics_02 LABELS cpython llvm llvm_jit NOFAST REQ_PY_VER 3.10) +RUN(NAME test_str_attributes LABELS cpython llvm llvm_jit c) +RUN(NAME kwargs_01 LABELS cpython llvm llvm_jit c NOFAST) + +RUN(NAME func_inline_01 LABELS llvm llvm_jit c wasm) +RUN(NAME func_inline_02 LABELS cpython llvm llvm_jit c) +RUN(NAME func_static_01 LABELS cpython llvm llvm_jit c wasm) +RUN(NAME func_static_02 LABELS cpython llvm llvm_jit c wasm) +RUN(NAME func_dep_03 LABELS cpython llvm llvm_jit c) +RUN(NAME func_dep_04 LABELS cpython llvm llvm_jit c) +RUN(NAME func_internal_def_01 LABELS cpython llvm llvm_jit NOFAST) +RUN(NAME func_01 LABELS cpython llvm llvm_jit) +RUN(NAME func_02 LABELS c_sym llvm_sym llvm_jit NOFAST EXTRA_ARGS --enable-symengine) + +RUN(NAME float_01 LABELS cpython llvm llvm_jit c wasm wasm_x64) +RUN(NAME recursive_01 LABELS cpython llvm llvm_jit c wasm wasm_x64 wasm_x86) +RUN(NAME comp_01 LABELS cpython llvm llvm_jit c wasm wasm_x64) +RUN(NAME bit_operations_i32 LABELS cpython llvm llvm_jit c wasm wasm_x64) +RUN(NAME bit_operations_i64 LABELS cpython llvm llvm_jit c wasm) + +RUN(NAME test_argv_01 LABELS cpython llvm NOFAST) +RUN(NAME global_syms_01 LABELS cpython llvm llvm_jit c) +RUN(NAME global_syms_02 LABELS cpython llvm llvm_jit c) +RUN(NAME global_syms_03_b LABELS cpython llvm llvm_jit c) +RUN(NAME global_syms_03_c LABELS cpython llvm llvm_jit c) +RUN(NAME global_syms_04 LABELS cpython llvm llvm_jit c wasm wasm_x64) +RUN(NAME global_syms_05 LABELS cpython llvm llvm_jit c) +RUN(NAME global_syms_06 LABELS cpython llvm llvm_jit c) + +RUN(NAME callback_01 LABELS cpython llvm llvm_jit c) +RUN(NAME callback_02 LABELS cpython llvm llvm_jit c) +RUN(NAME callback_03 LABELS cpython llvm llvm_jit c) + +RUN(NAME lambda_01 LABELS cpython llvm llvm_jit) + +RUN(NAME c_mangling LABELS cpython llvm llvm_jit c) # callback_04 is to test emulation. So just run with cpython RUN(NAME callback_04 IMPORT_PATH .. LABELS cpython) # Intrinsic Functions -RUN(NAME intrinsics_01 LABELS cpython llvm NOFAST) # any -RUN(NAME intrinsics_02 LABELS cpython llvm c) # floordiv -RUN(NAME test_builtin_type LABELS cpython llvm c) # type +RUN(NAME intrinsics_01 LABELS cpython llvm llvm_jit NOFAST) # any +RUN(NAME intrinsics_02 LABELS cpython llvm llvm_jit c) # floordiv +RUN(NAME test_builtin_type LABELS cpython llvm llvm_jit c) # type # lpython decorator RUN(NAME lpython_decorator_01 LABELS cpython) RUN(NAME lpython_decorator_02 LABELS cpython) -COMPILE(NAME import_order_01 LABELS cpython llvm c) # any +COMPILE(NAME import_order_01 LABELS cpython llvm llvm_jit c) # any # LPython emulation mode RUN(NAME lpython_emulation_01 LABELS cpython NOMOD) diff --git a/integration_tests/run_tests.py b/integration_tests/run_tests.py index 5df4979e03..e5df7cf909 100755 --- a/integration_tests/run_tests.py +++ b/integration_tests/run_tests.py @@ -6,7 +6,7 @@ # Initialization DEFAULT_THREADS_TO_USE = 8 # default no of threads is 8 -SUPPORTED_BACKENDS = ['llvm', 'c', 'wasm', 'cpython', 'x86', 'wasm_x86', 'wasm_x64', 'c_py', 'c_sym', 'cpython_sym', 'llvm_sym', 'llvm_py'] +SUPPORTED_BACKENDS = ['llvm', 'c', 'wasm', 'cpython', 'x86', 'wasm_x86', 'wasm_x64', 'c_py', 'c_sym', 'cpython_sym', 'llvm_sym', 'llvm_py', 'llvm_jit'] BASE_DIR = os.path.dirname(os.path.realpath(__file__)) LPYTHON_PATH = f"{BASE_DIR}/../src/bin" @@ -62,7 +62,7 @@ def main(): DEFAULT_THREADS_TO_USE = args.no_of_threads or DEFAULT_THREADS_TO_USE fast_tests = "yes" if args.fast else "no" for backend in args.backends: - python_libs_req = "yes" if backend in ["cpython", "c_py", "c_sym", "llvm_sym", 'llvm_py'] else "no" + python_libs_req = "yes" if backend in ["cpython", "c_py", "c_sym", "llvm_sym", 'llvm_py', 'llvm_jit'] else "no" test_backend(backend)