3
0
Fork 0
mirror of https://github.com/YosysHQ/sby.git synced 2025-10-06 17:51:57 +00:00
Commit graph

747 commits

Author SHA1 Message Date
N. Engelhardt
dbbc25a139
Merge pull request #340 from YosysHQ/krys/fix_338 2025-10-02 17:07:39 +02:00
Krystine Sherwin
d8e276983e
no_props.sby: Add btor_cover placeholder
The test infrastructure doesn't like when the `cover` tag is used but there is no task that uses it (because it thinks it is a task rather than a tag).
2025-09-30 11:22:13 +13:00
Krystine Sherwin
db782815f2
More tests without properties
Used `sby --autotune` to find other engines which fail (though there aren't any other exceptions that I could find).
Parse errors from `abc bmc3` and `abc sim3` instead of returning UNKNOWN.
2025-09-30 10:32:49 +13:00
Krystine Sherwin
c06d8682cd
Fix abc crash when aiger_props is empty
Includes test reproducer from #338, modified to also test `abc --keep-going pdr`.
2025-09-30 10:26:36 +13:00
KrystalDelusion
12380801e3
Merge pull request #335 from YosysHQ/krys/fix_status_trace
Prefer traces even without depth
2025-08-05 15:32:03 +12:00
KrystalDelusion
5fc7b93627
Merge branch 'main' into krys/fix_status_trace 2025-08-05 12:55:12 +12:00
KrystalDelusion
b4348974c1
Merge pull request #336 from YosysHQ/krys/dir_basenames
Output directory handling improvements
2025-08-05 09:51:39 +12:00
Krystine Sherwin
5fffe7eda6
Fix heredoc in sub dir
Also change log to use absolute path for consistency with the copy/link logs.
2025-08-02 10:40:52 +12:00
Krystine Sherwin
1d28294391
More directory tests
Confirming that the changes to path handling didn't break anything.
`~/` works locally, but I'm not sure how to actually include that as a test.
2025-08-02 10:38:35 +12:00
Krystine Sherwin
a215e3260a
tests/links/symlink: Check file count
And also that `src/dir/script.ys` exists
2025-08-02 10:07:06 +12:00
Krystine Sherwin
ac419190d2
Use more pathlib.Path 2025-08-02 10:06:30 +12:00
Krystine Sherwin
b06781e19e
Fix directory mismatch 2025-08-02 09:17:55 +12:00
Krystine Sherwin
a906714c95
Add test for copying directories
As per https://stackoverflow.com/a/54950959, `os.path.basename()` returns an empty string if the string ends with a trailing slash.  This means that the target implied by `dir/` differs from an explicit target of `dir/`, and changes the behaviour to copy files to the root `src` directory instead.
2025-08-02 09:17:21 +12:00
KrystalDelusion
32f6ac2a5a
Merge pull request #334 from YosysHQ/krys/jsonlines
Add jsonl status format
2025-08-01 10:45:50 +12:00
Krystine Sherwin
d4864994ca
statusfmt: Skip null fields in jsonl output 2025-08-01 10:34:08 +12:00
Jannis Harder
190ef86916 statusfmt: Skip missing fields in jsonl output 2025-07-29 17:31:38 +02:00
Jannis Harder
344236af41 statusfmt: Make JSONL self-contained and escape CSV values 2025-07-29 17:10:57 +02:00
Krystine Sherwin
5992167909
Fix comparing int with None 2025-07-29 10:33:59 +12:00
Krystine Sherwin
9cb368b9c8
Re-order status evaluation
Always add the current row to the status map if there's a key error instead of trying to be clever with `.get()` and `None`s.
2025-07-29 10:26:51 +12:00
Krystine Sherwin
990d8db9a2
Prefer traces even without depth 2025-07-29 10:12:15 +12:00
Krystine Sherwin
f05979a528
Fix for statusfmt not going into status block 2025-07-29 10:04:40 +12:00
Krystine Sherwin
3bf5be0637
Add jsonl status format
Replace `--statuscsv` and `--livecsv` with `--statusfmt <fmt>` and `--live <fmt` respectively.
Currently supports both csv and jsonl.
In the case of `--live`, updates can be printed in multiple formats, while `--statusfmt` only supports one at a time.
2025-07-29 10:00:52 +12:00
KrystalDelusion
ac120cee92
Merge pull request #327 from YosysHQ/krys/intertask
Intertask cancellation
2025-07-09 10:48:21 +12:00
Krystine Sherwin
1518168aa0
Remove debug print 2025-07-09 10:47:55 +12:00
Krystine Sherwin
7c5c96f5ca
Don't use -f for intertask tests...
... if we expect the database to still contain previous runs.
Use `rm -rf` to clear directories by hand instead.
2025-07-09 10:40:49 +12:00
Krystine Sherwin
a6496d646f
Cancel shouldn't use timeout logic 2025-07-09 10:28:50 +12:00
Krystine Sherwin
de51db08ab
Fix typo 2025-07-09 10:06:56 +12:00
Krystine Sherwin
cb81a97808
Add --taskstatus
Used for checking tasks in the status db.
Change `SBYStatusDB.all_tasks_status()` to use a `LEFT JOIN` to get a status of `UNKNOWN` for pending or aborted tasks (e.g. because they were ctrl+c'ed).
2025-07-09 10:06:56 +12:00
Krystine Sherwin
9589ce203a
Document cancelledby section 2025-07-09 10:05:36 +12:00
Krystine Sherwin
63b43c7e66
tests: Add long running cancellation
Actually exercise the database cancellation working on an already running task.
This appears to work even with `make -j1`.
2025-07-09 10:04:58 +12:00
Krystine Sherwin
1f3b418018
Fix autotune 2025-07-09 10:04:58 +12:00
Krystine Sherwin
360f1b03a3
tests/intertask: Use bash script
Somewhat hacky use of the automatic task collection splitting tasks into separate make targets.
2025-07-09 10:04:37 +12:00
Krystine Sherwin
67212a20e5
Add --statuscancels option
The statusdb is only used to check for task completions if this option is used, requiring the user to explicitly request the feature.
2025-07-09 10:04:37 +12:00
Krystine Sherwin
5fc8df43f8
Intertask cancellation via database
Task checking via database rated limited to once every 10s.
Rename killer.sby to cancelledby.sby and add Makefile for testing.
2025-07-09 10:03:54 +12:00
Krystine Sherwin
e7c756a43f
Add cancelledby config section 2025-07-09 10:03:54 +12:00
Krystine Sherwin
a153349ac8
Initial intertask cancellation
Taskloops store tasks_done, tasks can be cancelled, and if a task named "killer" is in tasks_done then any other tasks are cancelled.
2025-07-09 10:03:54 +12:00
KrystalDelusion
2ee136fab3
Merge pull request #329 from YosysHQ/krys/symlink
Add flag to symlink src files
2025-07-09 10:01:46 +12:00
KrystalDelusion
1130847901
Merge branch 'main' into krys/symlink 2025-07-09 10:01:30 +12:00
KrystalDelusion
7cc442fb21
Merge pull request #326 from YosysHQ/krys/db_versions
Improve database version handling and parallelism
2025-07-09 09:59:56 +12:00
Krystine Sherwin
a251ec0524
Handle unreliable lock files 2025-07-09 09:59:23 +12:00
Krystine Sherwin
baf118c838
Try to remove database on -f
If the database is open (based on the presence of certain files), skip deletion.
There is a (very) small window where another process *could* try to open the database at the same time that it's being deleted, but it will then fail during the database setup with `sqlite3.OperationalError: disk I/O error`, but given the failure is immediate I think it's fine.
2025-07-09 09:59:22 +12:00
N. Engelhardt
dd008ec7f7
Merge pull request #325 from YosysHQ/krys/csv_statuses 2025-07-08 20:49:32 +02:00
Krystine Sherwin
af511945a3
btor: Add unknown props
First during the init, then again at the end.  Depth information isn't available, since there may be a pending trace job for that depth which would provide a known status.
2025-07-08 17:26:55 +12:00
Krystine Sherwin
73c5e5cae6
timeout.sby: Add non-timeout equivalents
Number of properties reported should be consistent whether the task times out or finishes.
Currently fails `btor_fin_cover`.
2025-07-08 17:10:01 +12:00
Krystine Sherwin
83723696c7
Update failing test
Each property can have more than one status, but we only need to test the last one.
Also fix the warning about `\c` being an invalid escape.
2025-07-08 16:04:45 +12:00
Krystine Sherwin
aa2d3ed025
Add and use --latest flag for statuses
Should fix CI problem of running tests twice and the verific and non verific
properties having different names when testing the statusdb.
2025-07-08 15:47:34 +12:00
Krystine Sherwin
4adf5e5259
timeout.sby: Increase depth
CI was too fast
2025-07-08 15:47:34 +12:00
Krystine Sherwin
41bd894eff
Test property statuses after timeout 2025-07-08 15:47:34 +12:00
Krystine Sherwin
f399acc22d
Update unknowns on timeout 2025-07-08 15:47:34 +12:00
Krystine Sherwin
ceaeac43f7
Use tasknames in --statuscsv
Also fix fallbacks for property statuses without a `task_property_status` entry.
2025-07-08 15:47:34 +12:00