TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

How rqlite is tested

251 pointsby otoolep4 months ago

14 comments

andrewaylett4 months ago
A couple of extra points I&#x27;ve found useful:<p>The first test of a class of tests is the hardest, but it&#x27;s almost always worth adding. Second and subsequent tests are much easier, especially when using:<p>Parametrised tests let you test more things without copying boilerplate, but don&#x27;t throw more variants <i>just</i> to get the count up. Having said that:<p>Exhaustive validation of constraints, when it&#x27;s plausible. We have ~100k tests of our translations for one project, validating that every string&#x2F;locale pair can be resolved. Three lines of code, two seconds of wall-clock time, and we know that everything works. If there are too many variants to run them all, then:<p>Prop tests, if you can get into them. Again, validate consistency and invariants.<p>And make sure that you&#x27;re actually testing what you think you&#x27;re testing by using mutation testing. It&#x27;s great for having some confidence that tests actually catch failures.
评论 #42716394 未加载
评论 #42714018 未加载
t435624 months ago
The testing Pyramid makes sense. The problem for (perhaps) a lot of us will be that we&#x27;re working on things where some or even all of the levels are missing and we have to try to bring them to a sensible state as fast as possible....but we have limited ability to do so. It&#x27;s managing imperfection.<p>We&#x27;re also possibly working with multiple teams on products that interact and it ends up being &quot;nobody&#x27;s job&quot; to fill in the e2e layer for example.<p>Then when someone bites the bullet to get on with it....the whole thing isn&#x27;t designed to be tested. e.g. how does anyone do testing with Auth0 as their auth mechanism? How do you even get a token to run an E2E type test? I have to screen scrape it which is awful.<p>Without those E2E tests - even just the test that you can login - the system can break and even when it&#x27;s a test environment that makes the environment useless for other developers and gets in everyone&#x27;s way. It becomes the victim&#x27;s job to debug what change broke login and push the perpetrator to fix it. With automated e2e tests the deployment that broke something is easy to see and rollback before it does any damage.<p>I suppose I&#x27;m challenging the focus in a sense - I care about e2e more because some of those issues block teams from working. If you can&#x27;t work because of some stupid e2e failure, you can&#x27;t get fixes out for issues you found in the unit&#x2F;integration tests.
评论 #42709404 未加载
didip4 months ago
I love how dedicated you are with this project, Philip. Been watching it for many many years.
fegu4 months ago
There seems to be some copy pasta in the FAQ on if any node can be contacted for writes or reads, the paragraph on reads mentions writes.
评论 #42704403 未加载
the-alchemist4 months ago
can&#x27;t wait for the <a href="https:&#x2F;&#x2F;jepsen.io&#x2F;" rel="nofollow">https:&#x2F;&#x2F;jepsen.io&#x2F;</a> report!
评论 #42706280 未加载
someguy1010104 months ago
I also enjoyed this in video format <a href="https:&#x2F;&#x2F;youtu.be&#x2F;JLlIAWjvHxM?feature=shared&amp;t=2049" rel="nofollow">https:&#x2F;&#x2F;youtu.be&#x2F;JLlIAWjvHxM?feature=shared&amp;t=2049</a><p>Always have been envious of that performance testing setup that is shown here
scottyeager4 months ago
Have been following rqlite for a while and just started using it in one project. So far it delivers on the promise of simplicity. Thanks!
评论 #42709124 未加载
Hixon104 months ago
What do you think about deterministic simulation testing, which is currently trending?
qaq4 months ago
Anyone using rqlite in prod ?
评论 #42706268 未加载
评论 #42707809 未加载
评论 #42712359 未加载
kopirgan4 months ago
Thanks for the post...did not know about this.<p>Just went through the website and read through some documents. It is quite easy to read and understand.<p>One part I couldn&#x27;t follow was security - other than items listed (file system, HTTPS, IP based filter), is it correct to say that if you know &amp; have access to the URL API endpoints, any query can be run directly off the db with curl or such tools? How is this aspect managed in production? Sorry if this question is inappropriate or too dumb.
评论 #42706740 未加载
aguynamedben4 months ago
rqlite is my favorite “out there” project that is actually freaking genius!
denysvitali4 months ago
In case you missed it, OP is also the author of rqlite<p>(I for one didn&#x27;t notice at first)
评论 #42704532 未加载
Ericson23144 months ago
Now that there is testing like <a href="https:&#x2F;&#x2F;turso.tech&#x2F;blog&#x2F;introducing-limbo-a-complete-rewrite-of-sqlite-in-rust" rel="nofollow">https:&#x2F;&#x2F;turso.tech&#x2F;blog&#x2F;introducing-limbo-a-complete-rewrite...</a> going on, tbh the testing described in the linked piece doesn&#x27;t seem so good.
评论 #42704072 未加载
评论 #42705127 未加载
cynicalsecurity4 months ago
1. Is this a one man project? Why? What if the author dies?<p>2. Why Go? Go is garbage collected, how is this even a good idea for a database engine in the first place?
评论 #42705970 未加载
评论 #42706619 未加载
评论 #42705661 未加载