Add a symlink to the verilator UART pseudo device for testing Allow unique device file name to be used in bazel test Change-Id: I04adc6ac4cd7d520207d4adc3fce2f1149ed1cbc
diff --git a/hw/dv/dpi/uartdpi/uartdpi.c b/hw/dv/dpi/uartdpi/uartdpi.c index 479162f..e08f1e2 100644 --- a/hw/dv/dpi/uartdpi/uartdpi.c +++ b/hw/dv/dpi/uartdpi/uartdpi.c
@@ -47,6 +47,16 @@ "$ screen %s\n", ctx->ptyname, name, ctx->ptyname); + const char *test_out_dir = getenv("TEST_UNDECLARED_OUTPUTS_DIR"); + const int kMaxPathLen = 512; + if (test_out_dir) { + char device_file[kMaxPathLen] = {0}; + snprintf(device_file, kMaxPathLen, "%s/%s_device", test_out_dir, name); + if (symlink(ctx->ptyname, device_file) == 0) { + printf("Created symlink device %s for %s.\n", device_file, name); + } + } + // Open log file (if requested) ctx->log_file = NULL; bool write_log_file = strlen(log_file_path) != 0; @@ -57,8 +67,6 @@ } else { FILE *log_file; - const char *test_out_dir = getenv("TEST_UNDECLARED_OUTPUTS_DIR"); - const int kMaxPathLen = 512; char test_out_log_file[kMaxPathLen] = {0}; if (test_out_dir) { snprintf(test_out_log_file, kMaxPathLen, "%s/%s", test_out_dir,