Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

VUnit testcases fail if the testcase name contains a colon (SystemVerilog)

Abierto
#1,009 2 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
35/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
python
Área
testing

Línea de trabajo

Start with the attached MinimalExample.zip, especially its run.py script and minimal SystemVerilog testbench, and reproduce the failure for the testcase named "Test: Fail" alongside the passing "Test Pass" case. Compare how VUnit handles the two testcase names and trace where the colon causes the failure; done means the colon-named testcase runs successfully while the control testcase still passes.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

I noticed that the VUnit testcases in a SystemVerilog testbench will always fail if their testcase name contains a colon. I attached a minimal example including a simple run.py script and a minimal testbench with two testcases. I tested this on two separate windows machines and got the same results on both pcs. Is this a bug in vunit or is something else wrong here?

MinimalExample.zip

from vunit import VUnit

# Create VUnit instance by parsing command line arguments
vu = VUnit.from_argv()

vu.add_verilog_builtins()

# Create library 'lib'
lib = vu.add_library("lib")

# Add all files ending in .sv in current working directory to library
lib.add_source_files("*.sv")

# Run vunit function
vu.main()
`include "vunit_defines.svh"

module tb_Test;
   `TEST_SUITE begin
        // Note: Do not place any code here (unless you are debugging
        // VUnit internals).

        `TEST_SUITE_SETUP begin
            $display("Running test suite setup code");
        end

        `TEST_CASE_SETUP begin
            $display("Running test case setup code");
        end

        `TEST_CASE("Test: Fail") begin
            
            // This testcase always fails because there 
            // is a colon in its name

        end

        `TEST_CASE("Test Pass") begin

            // This testcase will pass
            // Note: There is no colon in its name

        end

        `TEST_CASE_CLEANUP begin
            // This section will run after the end of a test case. In
            // many cases this section will not be needed.
            $display("Cleaning up after a test case");
        end

        `TEST_SUITE_CLEANUP begin
            // This section will run last before the TEST_SUITE block
            // exits. In many cases this section will not be needed.
            $display("Cleaning up after running the complete test suite");
        end
   end;

   // The watchdog macro is optional, but recommended. If present, it
   // must not be placed inside any initial or always-block.
   `WATCHDOG(1ns);
endmodule
Lenguaje dominante
VHDL
Estrellas
850
Forks
305
Merge medio
1 d 22 h
PR fusionados (30 d)
9

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de VUnit/vunit

Todos los issues de VUnit/vunit

Issues similares

Más issues de Testing & QA

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.