5 ms·
The bit on test coverage is particularly good: https://corecursive.com/066-sqlite-with-richard-hipp/#testing-and-aviation-standards https://corecursive.com/066-
by hprotagonist 2y ago
The bit on test coverage is particularly good: https://corecursive.com/066-sqlite-with-richard-hipp/#testing-and-aviation-standards https://corecursive.com/066-sqlite-with-richard-hipp/#testin... :
Let’s not dwell on the details, but I had this idea, I’m going to write tests to bring SQLite up to the quality of 100% MCDC, and that took a year of 60 hour weeks. That was hard, hard work. I was putting in 12 hour days every single day. I was just getting so tired of this because with this sort of thing, it’s the old joke of, you get 95% of the functionality with the first 95% of your budget, and the last 5% on the second 95% of your budget. It’s kind of the same thing. It’s pretty easy to get up to 90 or 95% test coverage. Getting that last 5% is really, really hard and it took about a year for me to get there, but once we got to that point, we stopped getting bug reports from Android.
- dboreham 2y agoInteresting peek into how the sausage is actually made. Also notable: the code is open source, but the test suite is not. I've seen this in other projects, including one I worked on (on the commercial side). It's a little sneaky, particularly in the case that there's a "decoy" test suite open sourced that isn't the real one. Not to say I criticize this: we all need to make a living, but nieve consumers of OSS projects should be aware of this.
- ensignavenger 2y agoIs it really that sneaky? I am pretty sure the SQLite website is crystal clear on this point.
- ahoka 2y agoIt's not really open source in the strictest sense as they strangely refuse to provide any license for it and as far as I know they are not open to contributions either.
- lesuorac 2y agoI mean there's literally a LICENSE.txt file. https://sqlite.org/src/file?name=LICENSE.md&ci=trunk https://sqlite.org/src/file?name=LICENSE.md&ci=trunk Public Domain doesn't require a license though - https://www.sqlite.org/copyright.html https://www.sqlite.org/copyright.html
- actionfromafar 2y agoIt gets kind of weird in jurisdictions without the legal concept of Public Domain though. But in practice I only see it treated basically the same as the MIT license.
- ec109685 2y agoHe addresses contributions here, “They have a really high bar”, but are accepted, occasionally: https://news.ycombinator.com/item?id=34480732 https://news.ycombinator.com/item?id=34480732
- barumrho 2y agoDid not know that. It's an interesting way to keep ownership of the project! What other projects do this?
- woodrowbarlow 2y agoi wouldn't say the open tests are a decoy; it seems they're used for most developer testing. it seems the TH3 suite is only run when it's time to do a release (because it takes days to complete).
- JonChesterfield 2y agoSome tests are public. Others aren't. Seems reasonable to me.
- deleted 2y ago[deleted]
- wduquette 2y agoI've heard Richard say several times that SQLite looks like it's coded in C, but it's actually coded in TCL/TH3...because the C code comes and goes but the test suite is eternal.
- woodrowbarlow 2y agothe idea of keeping some of those tests private and attempting to sell the test suite to avionics companies is also interesting. would've been nice if they'd expanded on that a bit.
- tazu 2y agoThe most interesting part was him saying it hasn't sold at all!