From 67ffd25c494a2dadffc2e1c5d5af9459c2ef09a3 Mon Sep 17 00:00:00 2001 From: Krystine Sherwin <93062060+KrystalDelusion@users.noreply.github.com> Date: Mon, 23 Jun 2025 16:18:32 +1200 Subject: [PATCH] Test --link functionality --- tests/links/Makefile | 2 ++ tests/links/dir/script.ys | 3 +++ tests/links/prv32fmcmp.v | 1 + tests/links/symlink.py | 12 ++++++++++++ tests/links/symlink.sby | 18 ++++++++++++++++++ tests/links/symlink.sh | 9 +++++++++ 6 files changed, 45 insertions(+) create mode 100644 tests/links/Makefile create mode 100644 tests/links/dir/script.ys create mode 120000 tests/links/prv32fmcmp.v create mode 100644 tests/links/symlink.py create mode 100644 tests/links/symlink.sby create mode 100644 tests/links/symlink.sh diff --git a/tests/links/Makefile b/tests/links/Makefile new file mode 100644 index 0000000..758a7f7 --- /dev/null +++ b/tests/links/Makefile @@ -0,0 +1,2 @@ +SUBDIR=links +include ../make/subdir.mk diff --git a/tests/links/dir/script.ys b/tests/links/dir/script.ys new file mode 100644 index 0000000..4daa0c1 --- /dev/null +++ b/tests/links/dir/script.ys @@ -0,0 +1,3 @@ +read -sv picorv32.v +read -sv prv32fmcmp.v +prep -top prv32fmcmp diff --git a/tests/links/prv32fmcmp.v b/tests/links/prv32fmcmp.v new file mode 120000 index 0000000..6c064ca --- /dev/null +++ b/tests/links/prv32fmcmp.v @@ -0,0 +1 @@ +../unsorted/prv32fmcmp.v \ No newline at end of file diff --git a/tests/links/symlink.py b/tests/links/symlink.py new file mode 100644 index 0000000..a761397 --- /dev/null +++ b/tests/links/symlink.py @@ -0,0 +1,12 @@ +import os +from pathlib import Path +import sys + +def main(): + workdir, task = sys.argv[1:] + src = Path(workdir) / "src" + for srcfile in src.iterdir(): + assert(srcfile.is_symlink() == (task == "link")) + +if __name__ == "__main__": + main() diff --git a/tests/links/symlink.sby b/tests/links/symlink.sby new file mode 100644 index 0000000..8ac4017 --- /dev/null +++ b/tests/links/symlink.sby @@ -0,0 +1,18 @@ +[tasks] +link +copy + +[options] +mode prep + +[engines] +btor btormc + +[script] +read -noverific +script dir/script.ys + +[files] +../../docs/examples/demos/picorv32.v +prv32fmcmp.v +dir diff --git a/tests/links/symlink.sh b/tests/links/symlink.sh new file mode 100644 index 0000000..e919293 --- /dev/null +++ b/tests/links/symlink.sh @@ -0,0 +1,9 @@ +#!/bin/bash +set -e +if [[ $TASK == link ]]; then + flags="--setup --link" +else + flags="--setup" +fi +python3 $SBY_MAIN -f $SBY_FILE $TASK $flags +python3 ${SBY_FILE%.sby}.py $WORKDIR $TASK