#145 The design is broken...
Closed: Fixed Opened by leamas.

The design is broken, too many small fixes over time...

There is a core which administrates the plugins and build/installs the rpms. It provides a uniform environment with sources and results whatever options active. These parts works reasonable well today.

The rest, the bulk of the code, is tests basically using three things:

  • The specfile. This interface is, well, "odd" but works somehow (see #140).
  • The results. Accessed in a myriad of ways, but mostly through the
    self.has_files() et. al.
  • The patched sources is sometimes checked, mostly to make sure what we
    not ship
  • The original sources is sometimes checked, mostly to make sure that an item
    here is actually present in the results.

The specfile interface is unique, it just needs a refresh. The main point is that
both unpatched sources, patched sources and results represents the same kind of data. If we had three similar interfaces to these writing tests would be much simpler. Three such interfaces should also hide all the other interfaces concerned with building the thing, which are irrelevant to most tests.

Stated in other words: We need to get a reasonable interface between most of the tests and the rest of the system including access to specfile, patched + unpatched sources and results.


Fixed in several commits around 33337fa1e3d5862a719432 (feature branch).

Metadata