3
0
Fork 0
mirror of https://github.com/YosysHQ/sby.git synced 2025-11-01 05:17:52 +00:00
Commit graph

743 commits

Author SHA1 Message Date
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
Krystine Sherwin
2aa8d266ad
Update unknown covers as well as asserts
Currently only applicable to smtbmc.
Also don't update assert depth during `cover` mode.
2025-07-08 15:47:33 +12:00
Krystine Sherwin
488d25b625
Don't use induction step for depth 2025-07-08 15:47:33 +12:00
Krystine Sherwin
4fc23bebec
Fix prop.tracefiles 2025-07-08 15:47:33 +12:00
Krystine Sherwin
b3f2889b9e
CSV tidying
Use the same function for csv formatting during live and status reporting.  Reads back the row for live reporting to get the full JOIN data.
Remove unused/unnecessary arguments for setting task property status.
Drop transaction wrapper from read-only db access.
2025-07-08 15:47:33 +12:00