#!/usr/bin/env python3
# DESCRIPTION: Verilator: Verilog Test driver/expect definition
#
# This program is free software; you can redistribute it and/or modify it
# under the terms of either the GNU Lesser General Public License Version 3
# or the Perl Artistic License Version 2.0.
# SPDX-FileCopyrightText: 2024 Wilson Snyder
# SPDX-License-Identifier: LGPL-3.0-only OR Artistic-2.0

import vltest_bootstrap

test.scenarios('simulator')
test.pli_filename = "t/t_vpi_var.cpp"
test.top_filename = "t/t_vpi_var.v"

test.compile(make_top_shell=False,
             make_main=False,
             make_pli=True,
             sim_time=2100,
             iv_flags2=["-DT_VPI_FORCEABLE_VAR"],
             v_flags2=["+define+USE_VPI_NOT_DPI", "+define+T_VPI_FORCEABLE_VAR"],
             verilator_flags2=[
                 "-Wno-SYMRSVDWORD --exe --timing --vpi --no-l2name", test.pli_filename,
                 test.t_dir + "/t_vpi_forceable_var.vlt"
             ])

test.execute(use_libvpi=True, all_run_flags=['+PLUS +INT=1234 +STRSTR'])

test.passes()
