Skip to content

Run SQLite3MC's and SQLite's tests on the shipped amalgamation, plain and under sanitizers - #11

Merged
LucaCappelletti94 merged 1 commit into
mainfrom
upstream/ci-suite-sanitizers
Sep 30, 2026
Merged

LucaCappelletti94 merged 1 commit into
mainfrom
upstream/ci-suite-sanitizers

Conversation

@LucaCappelletti94

Copy link
Copy Markdown
Owner

Until now CI compiled the amalgamation and ran one query, so a release that broke rekeying or a non-default cipher, or wrote one byte past a buffer, would still have passed. Two new jobs build SQLite3MC's shell and SQLite's testfixture from the shipped bytes and run SQLite3MC's own scripts and legacy SQLCipher databases, a rekey of every built-in cipher, and SQLite's veryquick suite. One job builds plainly and the other under ASAN and UBSan, where any report fails it. Upstream's CI only runs its scripts, so here their results are compared against a committed expectation. A wrong row fails the plain job, and a planted one-byte overflow fails the sanitizer job at its line.

SQLite's suite needs internal symbols exported, and SQLite3MC declares one function private but defines it static, so the build fails. The runner changes that single word in a scratch copy and stops once a release fixes it (utelle/SQLite3MultipleCiphers#276). The suite also found two NULL dereferences when an allocation fails during initialisation or opening, fixed on a separate upstream branch, and a dropped read error already fixed upstream after 2.5.1. They are named as expected crashes and failures, and each one fails the job once it starts passing, so the list cannot go stale.

Nothing new is pinned. The shell comes from the release archive checked against the signed checksums, the test files from the tag at the commit named in that signature's certificate, and the SQLite sources from the check-in hash the amalgamation itself carries.

@coderabbitai

coderabbitai Bot commented Sep 30, 2026 •

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: Repository: LucaCappelletti94/coderabbit/.coderabbit.yaml

Review profile: ASSERTIVE

Plan: Advanced

Run ID: de603255-6baf-46f1-b294-e4bbfe62023d

  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Autopilot is currently an internal CodeRabbit preview.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@codecov

codecov Bot commented Sep 30, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (6676d7e) to head (639e332).

Additional details and impacted files
@@            Coverage Diff            @@
##              main       #11   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files            1         1           
  Lines            3         3           
  Branches         3         3           
=========================================
  Hits             3         3           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@LucaCappelletti94
LucaCappelletti94 force-pushed the upstream/ci-suite-sanitizers branch from d4cbd8a to 639e332 Compare September 30, 2026 16:32
@sonarqubecloud

Copy link
Copy Markdown

@LucaCappelletti94
LucaCappelletti94 merged commit 2ae18d2 into main Sep 30, 2026
24 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant