#VUNIT_RETURN
quit -sim
#VUNIT_RETURN
do d:/Programming/github/vunit/vunit/vhdl/run/vunit_out/tests/tb_run_lib.tb_run/modelsim/common.do
#VUNIT_RETURN
quietly set failed [vunit_load]
# vsim -L tb_run_lib -L vunit_lib -modelsimini d:/Programming/github/vunit/vunit/vhdl/run/vunit_out/modelsim/modelsim.ini -onfinish stop -quiet -t ps -wlf d:/Programming/github/vunit/vunit/vhdl/run/vunit_out/tests/tb_run_lib.tb_run/modelsim/vsim.wlf -g/tb_run/output_path=d:/Programming/github/vunit/vunit/vhdl/run/vunit_out/tests/tb_run_lib.tb_run/ tb_run_lib.tb_run(test_fixture) 
#VUNIT_RETURN
echo $failed #VUNIT_READVAR
# 0 #VUNIT_READVAR 
#VUNIT_RETURN
quietly set failed [vunit_run]
# ---------------------------------------------------------
# Should extract single enabled test case from input string
# ---------------------------------------------------------
# 
# Entering test runner setup phase.
# Passed test runner setup phase entry gate.
# Passed test runner setup phase exit gate.
# Entering test suite setup phase.
# Passed test suite setup phase entry gate.
# ------------------------------------------------------------
# Should extract multiple enabled test cases from input string
# ------------------------------------------------------------
# 
# Entering test runner setup phase.
# Passed test runner setup phase entry gate.
# Passed test runner setup phase exit gate.
# Entering test suite setup phase.
# Passed test suite setup phase entry gate.
# -------------------------------------------------------------
# Should strip leading and trailing spaces from test case names
# -------------------------------------------------------------
# 
# Entering test runner setup phase.
# Passed test runner setup phase entry gate.
# Passed test runner setup phase exit gate.
# Entering test suite setup phase.
# Passed test suite setup phase entry gate.
# -----------------------------------------------------------------------------
# Should not enable any test cases on empty input string for enabled test cases
# -----------------------------------------------------------------------------
# 
# Entering test runner setup phase.
# Passed test runner setup phase entry gate.
# Passed test runner setup phase exit gate.
# Entering test suite setup phase.
# Passed test suite setup phase entry gate.
# -----------------------------------------------------------------------------
# Should not enable any test cases on space input string for enabled test cases
# -----------------------------------------------------------------------------
# 
# Entering test runner setup phase.
# Passed test runner setup phase entry gate.
# Passed test runner setup phase exit gate.
# Entering test suite setup phase.
# Passed test suite setup phase entry gate.
# ----------------------------------------------
# Should ignore test case names with only spaces
# ----------------------------------------------
# 
# Entering test runner setup phase.
# Passed test runner setup phase entry gate.
# Passed test runner setup phase exit gate.
# Entering test suite setup phase.
# Passed test suite setup phase entry gate.
# ------------------------------------
# Should allow comma in test case name
# ------------------------------------
# 
# Entering test runner setup phase.
# Passed test runner setup phase entry gate.
# Passed test runner setup phase exit gate.
# Entering test suite setup phase.
# Passed test suite setup phase entry gate.
# -----------------------------------------
# Should enable all on __all__ input string
# -----------------------------------------
# 
# Entering test runner setup phase.
# Passed test runner setup phase entry gate.
# Passed test runner setup phase exit gate.
# Entering test suite setup phase.
# Passed test suite setup phase entry gate.
# ----------------------------
# Should enable all by default
# ----------------------------
# 
# Entering test runner setup phase.
# Passed test runner setup phase entry gate.
# Passed test runner setup phase exit gate.
# Entering test suite setup phase.
# Passed test suite setup phase entry gate.
# ---------------------------------
# Should enable all on empty string
# ---------------------------------
# 
# Entering test runner setup phase.
# Passed test runner setup phase entry gate.
# Passed test runner setup phase exit gate.
# Entering test suite setup phase.
# Passed test suite setup phase entry gate.
# ---------------------------------------------------------------------------
# Should loop over enabled_test_case once and in order unless re-initialized.
# ---------------------------------------------------------------------------
# 
# Entering test runner setup phase.
# Passed test runner setup phase entry gate.
# Passed test runner setup phase exit gate.
# Entering test suite setup phase.
# Passed test suite setup phase entry gate.
# Entering test case setup phase.
# Test case: Should one
# Entering test case setup phase.
# Test case: Should two
# Entering test case setup phase.
# Test case: Should three
# Entering test suite cleanup phase.
# Entering test runner setup phase.
# Passed test runner setup phase entry gate.
# Passed test runner setup phase exit gate.
# Entering test suite setup phase.
# Passed test suite setup phase entry gate.
# Entering test case setup phase.
# Test case: Should one
# -----------------------------------------------------------------------------------
# Should loop a set of test cases without repetition when all test cases are enabled.
# -----------------------------------------------------------------------------------
# 
# Entering test runner setup phase.
# Passed test runner setup phase entry gate.
# Passed test runner setup phase exit gate.
# Entering test suite setup phase.
# Passed test suite setup phase entry gate.
# Entering test case setup phase.
# Test case: Should a
# Entering test case setup phase.
# Test case: Should b
# Entering test case setup phase.
# Test case: Should c
# Entering test case setup phase.
# Entering test suite cleanup phase.
# Entering test runner setup phase.
# Passed test runner setup phase entry gate.
# Passed test runner setup phase exit gate.
# Entering test suite setup phase.
# Passed test suite setup phase entry gate.
# Test case: Should a
# -----------------------------------------------------------------------------------------------
# Should maintain correct phase when using the full run mode of operation without any early exits
# -----------------------------------------------------------------------------------------------
# 
# Entering test runner setup phase.
# Passed test runner setup phase entry gate.
# Passed test runner setup phase exit gate.
# Entering test suite setup phase.
# Passed test suite setup phase entry gate.
# Entering test case setup phase.
# Entering test case phase.
# Test case: test a
# Entering test case cleanup phase.
# Entering test case setup phase.
# Entering test case phase.
# Test case: test b
# Entering test case cleanup phase.
# Entering test suite cleanup phase.
# Entering test runner cleanup phase.
# Passed test runner cleanup phase entry gate.
# Passed test runner cleanup phase exit gate.
# Entering test runner exit phase.
# ---------------------------------------------------------------------------------------------------------------------
# Should maintain correct phase when using the full run mode of operation and there is a premature exit of a test case.
# ---------------------------------------------------------------------------------------------------------------------
# 
# Entering test runner setup phase.
# Passed test runner setup phase entry gate.
# Passed test runner setup phase exit gate.
# Entering test suite setup phase.
# Passed test suite setup phase entry gate.
# Entering test case setup phase.
# Entering test case phase.
# Test case: test a
# Entering test case cleanup phase.
# Entering test case setup phase.
# Entering test case phase.
# Test case: test b
# Entering test case cleanup phase.
# Entering test suite cleanup phase.
# Entering test runner cleanup phase.
# Passed test runner cleanup phase entry gate.
# Passed test runner cleanup phase exit gate.
# Entering test runner exit phase.
# ----------------------------------------------------------------------------------------------------------------------
# Should maintain correct phase when using the full run mode of operation and there is a premature exit of a test suite.
# ----------------------------------------------------------------------------------------------------------------------
# 
# Entering test runner setup phase.
# Passed test runner setup phase entry gate.
# Passed test runner setup phase exit gate.
# Entering test suite setup phase.
# Passed test suite setup phase entry gate.
# Entering test case setup phase.
# Entering test case phase.
# Test case: test a
# Entering test case cleanup phase.
# Entering test suite cleanup phase.
# Entering test runner cleanup phase.
# Passed test runner cleanup phase entry gate.
# Passed test runner cleanup phase exit gate.
# Entering test runner exit phase.
# -----------------------------------------------------------------------------------------------
# Should be possible to exit a test suite from the test case/suite from the test case setup code.
# -----------------------------------------------------------------------------------------------
# 
# -------------------------------------------------------------------------------------------------
# Should be possible to exit a test suite from the test case/suite from the test case cleanup code.
# -------------------------------------------------------------------------------------------------
# 
# -------------------------------------------------------------------
# Should be possible to stall execution and stall the exit of a phase
# -------------------------------------------------------------------
# 
# Entering test runner setup phase.
# Locked test suite setup phase entry gate.
# Passed test runner setup phase entry gate.
# Passed test runner setup phase exit gate.
# Locked test suite setup phase exit gate.
# Entering test suite setup phase.
# Halting on test suite setup phase pentry gate.
# Unlocked test suite setup phase entry gate.
# Passed test suite setup phase entry gate.
# Passed test suite setup phase entry gate.
# Halting on test suite setup phase exit gate.
# Unlocked test suite setup phase exit gate.
# Passed test suite setup phase exit gate.
# Entering test case setup phase.
# Entering test case phase.
# Entering test case cleanup phase.
# Entering test suite cleanup phase.
# Entering test runner cleanup phase.
# Passed test runner cleanup phase entry gate.
# Passed test runner cleanup phase exit gate.
# Entering test runner exit phase.
# ------------------------------------------------------------------------------
# Should be possible to suspend a process/procedure waiting for a specific phase
# ------------------------------------------------------------------------------
# 
# Entering test runner setup phase.
# Passed test runner setup phase entry gate.
# Passed test runner setup phase exit gate.
# Entering test suite setup phase.
# Passed test suite setup phase entry gate.
# Entering test case setup phase.
# Passed test case setup phase entry gate.
# Entering test case phase.
# Entering test case cleanup phase.
# Entering test suite cleanup phase.
# Entering test runner cleanup phase.
# Passed test runner cleanup phase entry gate.
# Passed test runner cleanup phase exit gate.
# Entering test runner exit phase.
# -------------------------------------------------
# Should be possible to read current test case name
# -------------------------------------------------
# 
# Entering test runner setup phase.
# Passed test runner setup phase entry gate.
# Passed test runner setup phase exit gate.
# Entering test suite setup phase.
# Passed test suite setup phase entry gate.
# Entering test case setup phase.
# Entering test case phase.
# Entering test case cleanup phase.
# Entering test case setup phase.
# Entering test case phase.
# Entering test case cleanup phase.
# Entering test suite cleanup phase.
# Entering test runner cleanup phase.
# Passed test runner cleanup phase entry gate.
# Passed test runner cleanup phase exit gate.
# Entering test runner exit phase.
# --------------------------------------------------------------------
# Should read active test case name = " when enabled tests are __all__
# --------------------------------------------------------------------
# 
# Entering test runner setup phase.
# Passed test runner setup phase entry gate.
# Passed test runner setup phase exit gate.
# Entering test suite setup phase.
# Passed test suite setup phase entry gate.
# Entering test case setup phase.
# Entering test case phase.
# Entering test case cleanup phase.
# Entering test suite cleanup phase.
# Entering test runner cleanup phase.
# Passed test runner cleanup phase entry gate.
# Passed test runner cleanup phase exit gate.
# Entering test runner exit phase.
# ------------------------------------------------------
# Should run all when the runner hasn't been initialized
# ------------------------------------------------------
# 
# Entering test case setup phase.
# Test case: Should a
# Entering test case setup phase.
# Test case: Should b
# Entering test case setup phase.
# Test case: Should c
# Entering test case setup phase.
# Entering test suite cleanup phase.
# Entering test runner cleanup phase.
# Passed test runner cleanup phase entry gate.
# Passed test runner cleanup phase exit gate.
# Entering test runner exit phase.
# ---------------------------------------------------------------------------------------------------------------------------------------------
# Should have a trace log where source of locking/unlocking commands can be logged. All but test case name entries should have the debug level.
# ---------------------------------------------------------------------------------------------------------------------------------------------
# 
# 37000 ps: DEBUG in locking_proc1: Locked test runner setup phase entry gate.
# 37000 ps: DEBUG in locking_proc1: Locked test runner setup phase exit gate.
# 37000 ps: DEBUG in locking_proc1: Locked test suite setup phase entry gate.
# 37000 ps: DEBUG in locking_proc1: Locked test suite setup phase exit gate.
# 38000 ps: DEBUG: Entering test runner setup phase.
# 38000 ps: DEBUG: Halting on test runner setup phase pentry gate.
# 39000 ps: DEBUG in locking_proc1: Unlocked test runner setup phase entry gate.
# 39000 ps: DEBUG: Passed test runner setup phase entry gate.
# 39000 ps: DEBUG: Halting on test runner setup phase exit gate.
# 40000 ps: DEBUG in locking_proc1: Unlocked test runner setup phase exit gate.
# 40000 ps: DEBUG: Passed test runner setup phase exit gate.
# 40000 ps: DEBUG: Entering test suite setup phase.
# 40000 ps: DEBUG: Halting on test suite setup phase pentry gate.
# 41000 ps: DEBUG in locking_proc1: Unlocked test suite setup phase entry gate.
# 41000 ps: DEBUG: Passed test suite setup phase entry gate.
# 41000 ps: DEBUG: Passed test suite setup phase entry gate.
# 41000 ps: DEBUG: Halting on test suite setup phase exit gate.
# 42000 ps: DEBUG in locking_proc2: Locked test runner cleanup phase exit gate.
# 43000 ps: DEBUG in locking_proc1: Locked test case setup phase entry gate.
# 43000 ps: DEBUG in locking_proc1: Locked test case setup phase exit gate.
# 43000 ps: DEBUG in locking_proc1: Locked test case phase entry gate.
# 43000 ps: DEBUG in locking_proc1: Locked test case phase exit gate.
# 43000 ps: DEBUG in locking_proc1: Locked test case cleanup phase entry gate.
# 43000 ps: DEBUG in locking_proc1: Locked test case cleanup phase exit gate.
# 43000 ps: DEBUG in locking_proc1: Locked test suite cleanup phase entry gate.
# 43000 ps: DEBUG in locking_proc1: Locked test suite cleanup phase exit gate.
# 43000 ps: DEBUG in locking_proc1: Locked test runner cleanup phase entry gate.
# 43000 ps: DEBUG in locking_proc1: Locked test runner cleanup phase exit gate.
# 44000 ps: DEBUG in locking_proc1: Unlocked test suite setup phase exit gate.
# 44000 ps: DEBUG: Passed test suite setup phase exit gate.
# 44000 ps: DEBUG: Entering test case setup phase.
# 44000 ps: DEBUG: Halting on test case setup phase pentry gate.
# 45000 ps: DEBUG in locking_proc1: Unlocked test case setup phase entry gate.
# 45000 ps: DEBUG: Passed test case setup phase entry gate.
# 46000 ps: DEBUG: Halting on test case setup phase exit gate.
# 47000 ps: DEBUG in locking_proc1: Unlocked test case setup phase exit gate.
# 47000 ps: DEBUG: Passed test case setup phase exit gate.
# 47000 ps: DEBUG: Entering test case phase.
# 47000 ps: DEBUG: Halting on test case phase pentry gate.
# 48000 ps: DEBUG in locking_proc1: Unlocked test case phase entry gate.
# 48000 ps: DEBUG: Passed test case phase entry gate.
# 48000 ps: INFO: Test case: test a
# 49000 ps: DEBUG: Halting on test case phase exit gate.
# 50000 ps: DEBUG in locking_proc1: Unlocked test case phase exit gate.
# 50000 ps: DEBUG: Passed test case phase exit gate.
# 50000 ps: DEBUG: Entering test case cleanup phase.
# 50000 ps: DEBUG: Halting on test case cleanup phase pentry gate.
# 51000 ps: DEBUG in locking_proc1: Unlocked test case cleanup phase entry gate.
# 51000 ps: DEBUG: Passed test case cleanup phase entry gate.
# 52000 ps: DEBUG: Halting on test case cleanup phase exit gate.
# 53000 ps: DEBUG in locking_proc1: Unlocked test case cleanup phase exit gate.
# 53000 ps: DEBUG: Passed test case cleanup phase exit gate.
# 53000 ps: DEBUG: Entering test suite cleanup phase.
# 53000 ps: DEBUG: Halting on test suite cleanup phase pentry gate.
# 57000 ps: DEBUG in locking_proc1: Unlocked test suite cleanup phase entry gate.
# 57000 ps: DEBUG: Passed test suite cleanup phase entry gate.
# 58000 ps: DEBUG: Halting on test suite cleanup phase exit gate.
# 59000 ps: DEBUG in locking_proc1: Unlocked test suite cleanup phase exit gate.
# 59000 ps: DEBUG: Passed test suite cleanup phase exit gate.
# 59000 ps: DEBUG: Entering test runner cleanup phase.
# 59000 ps: DEBUG: Halting on test runner cleanup phase pentry gate.
# 60000 ps: DEBUG in locking_proc1: Unlocked test runner cleanup phase entry gate.
# 60000 ps: DEBUG: Passed test runner cleanup phase entry gate.
# 60000 ps: DEBUG: Halting on test runner cleanup phase exit gate.
# 61000 ps: DEBUG in locking_proc1: Unlocked test runner cleanup phase exit gate.
# 63000 ps: DEBUG in locking_proc2: Unlocked test runner cleanup phase exit gate.
# 63000 ps: DEBUG: Passed test runner cleanup phase exit gate.
# 63000 ps: DEBUG: Entering test runner exit phase.
# ERROR: Expected log entry
# Halting on test runner setup phase entry gate.
# but got
# Halting on test runner setup phase pentry gate.
# ERROR: Expected log entry
# Halting on test suite setup phase entry gate.
# but got
# Halting on test suite setup phase pentry gate.
# ERROR: Expected log entry
# Halting on test case setup phase entry gate.
# but got
# Halting on test case setup phase pentry gate.
# ERROR: Expected log entry
# Halting on test case phase entry gate.
# but got
# Halting on test case phase pentry gate.
# ERROR: Expected log entry
# Halting on test case cleanup phase entry gate.
# but got
# Halting on test case cleanup phase pentry gate.
# ERROR: Expected log entry
# Halting on test suite cleanup phase entry gate.
# but got
# Halting on test suite cleanup phase pentry gate.
# ERROR: Expected log entry
# Halting on test runner cleanup phase entry gate.
# but got
# Halting on test runner cleanup phase pentry gate.
# ---------------------------------------------------------------------
# Should be possible to track (un)lock commands to file and line number
# ---------------------------------------------------------------------
# 
# 63000 ps: DEBUG: Entering test runner setup phase.
# 63000 ps: DEBUG: Passed test runner setup phase entry gate.
# 63000 ps: DEBUG: Passed test runner setup phase exit gate.
# 63000 ps: DEBUG: Entering test suite setup phase.
# 63000 ps: DEBUG: Passed test suite setup phase entry gate.
# 63000 ps: DEBUG in me (foo1.vhd:17): Locked test case setup phase entry gate.
# 63000 ps: DEBUG in me (foo2.vhd:18): Locked test case setup phase exit gate.
# 63000 ps: DEBUG in me (foo3.vhd:19): Unlocked test case setup phase entry gate.
# 63000 ps: DEBUG in me (foo4.vhd:20): Unlocked test case setup phase exit gate.
# 63000 ps: DEBUG: Entering test runner cleanup phase.
# 63000 ps: DEBUG: Passed test runner cleanup phase entry gate.
# 63000 ps: DEBUG: Passed test runner cleanup phase exit gate.
# 63000 ps: DEBUG: Entering test runner exit phase.
# ----------------------------------------------------------
# Should be possible to identify fatal exits in cleanup code
# ----------------------------------------------------------
# 
# 63000 ps: DEBUG: Entering test runner setup phase.
# 63000 ps: DEBUG: Passed test runner setup phase entry gate.
# 63000 ps: DEBUG: Passed test runner setup phase exit gate.
# 63000 ps: DEBUG: Entering test suite setup phase.
# 63000 ps: DEBUG: Passed test suite setup phase entry gate.
# 63000 ps: DEBUG: Entering test case setup phase.
# 63000 ps: DEBUG: Entering test case phase.
# 63000 ps: INFO: Test case: test a
# 63000 ps: DEBUG: Entering test case cleanup phase.
# 63000 ps: DEBUG: Entering test case setup phase.
# 63000 ps: DEBUG: Entering test case phase.
# 63000 ps: INFO: Test case: test b
# 63000 ps: DEBUG: Entering test case cleanup phase.
# 63000 ps: DEBUG: Entering test case setup phase.
# 63000 ps: DEBUG: Entering test case phase.
# 63000 ps: INFO: Test case: test c
# 63000 ps: DEBUG: Entering test case cleanup phase.
# 63000 ps: DEBUG: Entering test suite cleanup phase.
# 63000 ps: DEBUG: Entering test runner cleanup phase.
# 63000 ps: DEBUG: Passed test runner cleanup phase entry gate.
# 63000 ps: DEBUG: Passed test runner cleanup phase exit gate.
# 63000 ps: DEBUG: Entering test runner exit phase.
# ----------------------------------------------------------
# Should be possible to time-out a test runner that is stuck
# ----------------------------------------------------------
# 
# 63000 ps: DEBUG: Entering test runner setup phase.
# 63000 ps: DEBUG: Passed test runner setup phase entry gate.
# 63000 ps: DEBUG: Passed test runner setup phase exit gate.
# 63000 ps: DEBUG: Entering test suite setup phase.
# 63000 ps: DEBUG: Passed test suite setup phase entry gate.
# ERROR: Test runner timeout after 10000 ps.
# 73000 ps: DEBUG: Entering test runner cleanup phase.
# 73000 ps: DEBUG: Passed test runner cleanup phase entry gate.
# 73000 ps: DEBUG: Passed test runner cleanup phase exit gate.
# 73000 ps: DEBUG: Entering test runner exit phase.
# 73000 ps: ERROR in Test Runner: Expected 1 error on default checker
# ** Failure: 
#    Time: 73 ns  Iteration: 5  Process: /tb_run/test_runner File: D:/Programming/github/vunit/vunit/vhdl/vhdl/src/lang/lang.vhd
# Break in Subprogram lang_report at D:/Programming/github/vunit/vunit/vhdl/vhdl/src/lang/lang.vhd line 27
# Stopped at D:/Programming/github/vunit/vunit/vhdl/vhdl/src/lang/lang.vhd line 27 
# syntax error in expression "Z!=1": variable references require preceding $ 
#VUNIT_RETURN
echo $failed #VUNIT_READVAR
# 1 #VUNIT_READVAR 
#VUNIT_RETURN
quit -f -code 0
