@@ -76,12 +76,13 @@ message("LPYTHON_RTLIB_DIR: ${LPYTHON_RTLIB_DIR}")
7676message ("LPYTHON_RTLIB_LIBRARY: ${LPYTHON_RTLIB_LIBRARY} " )
7777
7878
79- macro (RUN_UTIL RUN_FAIL RUN_NAME RUN_FILE_NAME RUN_LABELS RUN_EXTRAFILES RUN_EXTRA_ARGS RUN_COPY_TO_BIN )
79+ macro (RUN_UTIL RUN_FAIL RUN_NAME RUN_FILE_NAME RUN_LABELS RUN_EXTRAFILES RUN_NOMOD RUN_EXTRA_ARGS RUN_COPY_TO_BIN )
8080 set (fail ${${RUN_FAIL} })
8181 set (name ${${RUN_NAME} })
8282 set (file_name ${${RUN_FILE_NAME} })
8383 set (labels ${${RUN_LABELS} })
8484 set (extra_files ${${RUN_EXTRAFILES} })
85+ set (no_mod ${${RUN_NOMOD} })
8586 set (extra_args ${${RUN_EXTRA_ARGS} })
8687 set (copy_to_bin ${${RUN_COPY_TO_BIN} })
8788
@@ -213,8 +214,13 @@ macro(RUN_UTIL RUN_FAIL RUN_NAME RUN_FILE_NAME RUN_LABELS RUN_EXTRAFILES RUN_EXT
213214 endif ()
214215
215216 add_test (${name} python ${CMAKE_CURRENT_SOURCE_DIR} /${file_name}.py )
216- set_tests_properties (${name} PROPERTIES
217- ENVIRONMENT "PYTHONPATH=${CMAKE_SOURCE_DIR} /../src/runtime/lpython:${CMAKE_SOURCE_DIR} /..;LPYTHON_PY_MOD_NAME=${PY_MOD} ;LPYTHON_PY_MOD_PATH=${CMAKE_CURRENT_BINARY_DIR} " )
217+ if (no_mod)
218+ set_tests_properties (${name} PROPERTIES
219+ ENVIRONMENT "PYTHONPATH=${CMAKE_SOURCE_DIR} /../src/runtime/lpython:${CMAKE_SOURCE_DIR} /.." )
220+ else ()
221+ set_tests_properties (${name} PROPERTIES
222+ ENVIRONMENT "PYTHONPATH=${CMAKE_SOURCE_DIR} /../src/runtime/lpython:${CMAKE_SOURCE_DIR} /..;LPYTHON_PY_MOD_NAME=${PY_MOD} ;LPYTHON_PY_MOD_PATH=${CMAKE_CURRENT_BINARY_DIR} " )
223+ endif ()
218224 if (labels)
219225 set_tests_properties (${name} PROPERTIES LABELS "${labels} " )
220226 endif ()
@@ -305,7 +311,7 @@ macro(RUN_UTIL RUN_FAIL RUN_NAME RUN_FILE_NAME RUN_LABELS RUN_EXTRAFILES RUN_EXT
305311endmacro (RUN_UTIL )
306312
307313macro (RUN )
308- set (options FAIL NOFAST ENABLE_CPYTHON LINK_NUMPY)
314+ set (options FAIL NOFAST NOMOD ENABLE_CPYTHON LINK_NUMPY)
309315 set (oneValueArgs NAME IMPORT_PATH COPY_TO_BIN)
310316 set (multiValueArgs LABELS EXTRAFILES)
311317 cmake_parse_arguments (RUN "${options} " "${oneValueArgs} "
@@ -329,14 +335,14 @@ macro(RUN)
329335 endif ()
330336
331337 if (NOT FAST)
332- RUN_UTIL (RUN_FAIL RUN_NAME RUN_FILE_NAME RUN_LABELS RUN_EXTRAFILES RUN_EXTRA_ARGS RUN_COPY_TO_BIN )
338+ RUN_UTIL (RUN_FAIL RUN_NAME RUN_FILE_NAME RUN_LABELS RUN_EXTRAFILES RUN_NOMOD RUN_EXTRA_ARGS RUN_COPY_TO_BIN )
333339 endif ()
334340
335341 if ((FAST) AND (NOT RUN_NOFAST))
336342 set (RUN_EXTRA_ARGS ${RUN_EXTRA_ARGS} --fast)
337343 set (RUN_NAME "${RUN_NAME} _FAST" )
338344 list (REMOVE_ITEM RUN_LABELS cpython cpython_sym) # remove cpython, cpython_sym, from --fast test
339- RUN_UTIL (RUN_FAIL RUN_NAME RUN_FILE_NAME RUN_LABELS RUN_EXTRAFILES RUN_EXTRA_ARGS RUN_COPY_TO_BIN )
345+ RUN_UTIL (RUN_FAIL RUN_NAME RUN_FILE_NAME RUN_LABELS RUN_EXTRAFILES RUN_NOMOD RUN_EXTRA_ARGS RUN_COPY_TO_BIN )
340346 endif ()
341347endmacro (RUN )
342348
@@ -466,7 +472,6 @@ RUN(NAME expr_18 FAIL LABELS cpython llvm c)
466472RUN (NAME expr_19 LABELS cpython llvm c )
467473RUN (NAME expr_20 LABELS cpython llvm c )
468474RUN (NAME expr_21 LABELS cpython llvm c )
469- RUN (NAME expr_22 LABELS cpython llvm c )
470475
471476RUN (NAME expr_01u LABELS cpython llvm c NOFAST )
472477RUN (NAME expr_02u LABELS cpython llvm c NOFAST )
@@ -479,6 +484,7 @@ RUN(NAME loop_03 LABELS cpython llvm c wasm wasm_x64)
479484RUN (NAME loop_04 LABELS cpython llvm c )
480485RUN (NAME loop_05 LABELS cpython llvm c )
481486RUN (NAME loop_06 LABELS cpython llvm c NOFAST )
487+ RUN (NAME loop_07 LABELS cpython llvm c )
482488RUN (NAME if_01 LABELS cpython llvm c wasm wasm_x86 wasm_x64 )
483489RUN (NAME if_02 LABELS cpython llvm c wasm wasm_x86 wasm_x64 )
484490RUN (NAME if_03 FAIL LABELS cpython llvm c NOFAST )
@@ -500,14 +506,18 @@ RUN(NAME test_list_09 LABELS cpython llvm c NOFAST)
500506RUN (NAME test_list_10 LABELS cpython llvm c NOFAST )
501507RUN (NAME test_list_11 LABELS cpython llvm c )
502508RUN (NAME test_list_section LABELS cpython llvm c NOFAST )
509+ RUN (NAME test_list_section2 LABELS cpython llvm c NOFAST )
503510RUN (NAME test_list_count LABELS cpython llvm )
504511RUN (NAME test_list_index LABELS cpython llvm )
505512RUN (NAME test_list_index2 LABELS cpython llvm )
506- RUN (NAME test_list_repeat LABELS cpython llvm NOFAST )
513+ RUN (NAME test_list_repeat LABELS cpython llvm c NOFAST )
514+ RUN (NAME test_list_repeat2 LABELS cpython llvm c NOFAST )
507515RUN (NAME test_list_reverse LABELS cpython llvm )
508516RUN (NAME test_list_pop LABELS cpython llvm NOFAST ) # TODO: Remove NOFAST from here.
509517RUN (NAME test_list_pop2 LABELS cpython llvm NOFAST ) # TODO: Remove NOFAST from here.
518+ RUN (NAME test_list_pop3 LABELS cpython llvm )
510519RUN (NAME test_list_compare LABELS cpython llvm )
520+ RUN (NAME test_list_concat LABELS cpython llvm c NOFAST )
511521RUN (NAME test_tuple_01 LABELS cpython llvm c )
512522RUN (NAME test_tuple_02 LABELS cpython llvm c NOFAST )
513523RUN (NAME test_tuple_03 LABELS cpython llvm c )
@@ -662,7 +672,6 @@ RUN(NAME structs_31 LABELS cpython llvm c)
662672RUN (NAME structs_32 LABELS cpython llvm c )
663673RUN (NAME structs_33 LABELS cpython llvm c )
664674RUN (NAME structs_34 LABELS cpython llvm c )
665- RUN (NAME structs_35 LABELS cpython llvm c )
666675
667676RUN (NAME symbolics_01 LABELS cpython_sym c_sym )
668677RUN (NAME symbolics_02 LABELS cpython_sym c_sym )
@@ -709,7 +718,7 @@ RUN(NAME test_package_01 LABELS cpython llvm NOFAST)
709718RUN (NAME test_pkg_lpdraw LABELS cpython llvm wasm )
710719RUN (NAME test_pkg_lnn_01 LABELS cpython llvm NOFAST )
711720RUN (NAME test_pkg_lnn_02 LABELS cpython llvm NOFAST )
712- RUN (NAME test_pkg_lpconvexhull LABELS cpython c )
721+ RUN (NAME test_pkg_lpconvexhull LABELS cpython llvm c NOFAST )
713722
714723RUN (NAME generics_01 LABELS cpython llvm c )
715724RUN (NAME generics_02 LABELS cpython llvm c )
@@ -760,3 +769,6 @@ RUN(NAME lpython_decorator_01 LABELS cpython)
760769RUN (NAME lpython_decorator_02 LABELS cpython )
761770
762771COMPILE (NAME import_order_01 LABELS cpython llvm c ) # any
772+
773+ # LPython emulation mode
774+ RUN (NAME lpython_emulation_01 LABELS cpython NOMOD )
0 commit comments