Closed thetheodor closed 1 year ago
Another todo: old_utils
should be removed.
Will the changes be backwards incompatible wrt the DB? If so, I think we can throw away some parts of it.
Will the changes be backwards incompatible wrt the DB?
Not really, the new one is much simpler. I'll write a script to convert between them
This an effort to rewrite dead using diopter. Unfortunately this is a huge change. I wanted to break it down into smaller chunks but I failed :smile: .
Notable changes:
diopter.compiler.ComplationSetting
is now used instead ofutils.CompilerSetting
. One advantage is that we don't need to pass around a builder in order to use aCompilationSetting
as we need an actual compile executable to create one.Case
is now aRegressionCase
, i.e., there's only one good setting. We can later introduce a signature based case that is more flexible.There are still a few things left to do before merging this:
The following are also planned but maybe in a separate PR:
dead.utils.DeadConfig
, a global singelton, where the relevant paths, (e.g., defaultgcc
used for sanitization, compiler repos, builder cache, etc) are stored. Instead of passing this object around it's globally accessible. Maybe it make sense to move some of this to diopter and keep only the dead-specific parts here.It probably makes sense to squash most of these commits since there's some transitional code there (e.g., two types of Cases, one with
CompilerSetting
and one withCompilationSetting
)