pcb-rnd knowledge pool

 

How to use the automated integrity check system

integrity by Tibor 'Igor2' Palinkas on 2017-06-03

Tags: howto, bug, report, bugreport, integrity, check, test, debug

node source

 

 

Abstract: Automatic data model integrity checks on the fly. How to enable it and how to use it to narrow down and report bugs.

  Imported from the mailing list archives.

Historical background

The original data mode we inherited from gEDA/pcb is rather limited (some may even call it broken). There are special cases upon special cases, or in other words, kludges on kludges. All the restrictions of footprints are primarily coming from this (despite of the popular misconception of being a file format issue).

It has been like this since the late '90s. They needed elements so they added them. They made elements as good as the software needed back then. Later on the rest of the software got a lot of additions, like mask, paste, outline, etc, and the model they chose for elements became too restrictive.

As of 2017, with the subcircuits we are redesigning the internal data model, after ~2 decades. Why noone else dared to do this before us has many factors, ranging from "too much work" through "it's not that bad anyway" to the most important one:

"we have working code now, why to risk introducing 1000 bugs with a huge rewrite instead of just gluing on yet another kludge?"

End of historical bakground

integrity checking

And indeed, we do risk having 1000 new bugs with the rewrite. To reduce the risks, an integrity check feature is introduced. To enable it:

Test/bugreport method: