How to proceed with the `.cfg` files?
MartinSpiessl opened this issue · 4 comments
Since we now use the new task definition format (2.0), we could just delete the .cfg
files.
The only piece of information that they contain in addition to 32bit vs. 64bit is a short human-readable description of what the corresponding .set
file is about.
The alternative would be to keep this textual description only, but then we could also inline this as a comment into the set files (if they allow it, which I hope they do).
So moving the textual description as comment into the .set
files and then deleting the .cfg
files seems like the best approach here, any other ideas/concerns?
Yes, .cfg
files should go away.
check.py
currently uses them, but the only relevant remaining check is that the architecture declared in the .cfg
file matches the architecture in the folder-specific Makefile
. This would need to be changed into a check that compares the architecture in the task-definitions with the architecture in the Makefile
s. Even better would be to read the architecture from the task-definition files during compilation and remove the architecture from Makefile
s, but I am not sure whether this is easy, it has been on the todo list for 4 years already (#194).
compare.py
also reads the architecture from the .cfg
file, it should read it from the task-definition files instead (which it actually already uses, so this should be easy).
BenchExec allows comments in set files (e.g., lines starting with #
) and both check.py
and compare.py
also already ignore lines starting with #
. So this is doable. In theory, other people could have written their own scripts to handle set files and did not implement comment handling, these scripts would then need to be changed. But I would find this acceptable.
Yes, the plan is to get rid of those files ASAP.
Thanks a lot for starting to work on this.
A dependency that was not mentioned is the definition of categories in competitions, like SV-COMP and Test-Comp.
I would take care of fixing those web sites (for the future competitions, the architecture should not be mentioned any more, and old competitions should use tags).
How about starting a PR that removes the .cfg
files and then peu-a-peu fix check.py
and compare.py
?
The only remaining question is whether we should remove the description without replacement or where it should be put now.
I would say either remove only the architecture field from the .cfg files and leave the description in them, or move the description to the .set files (as comment). I would slightly prefer the second, because then we have only one file per category to maintain.
Would you like to add this to #1143?