Bob Peterson
b92f4cb9c4
Make Miri easier to run
2025-10-20 23:48:19 -05:00
Bob Peterson
4d843804b7
Add --disable-integrity-check option to simulator
...
Miri can't execute sqlite via the FFI, so this needs to be configurable
2025-10-13 14:54:16 -05:00
bit-aloo
ff381c1036
clippy'ed
2025-10-02 19:30:57 +05:30
bit-aloo
46fab87634
Replaced manual validation in SimulatorCLI::validate with Clap features:
...
- Added `conflicts_with` for mutually exclusive flags
- Removed redundant default values for bool flags.
- Dropped manual validation checks in favor of Clap's built-in parsing guarantees.
2025-10-02 19:18:38 +05:30
pedrocarlo
fd4e74929a
Cli option to enable memory IO
2025-09-01 14:12:11 -03:00
pedrocarlo
5881ee71d6
clippy
2025-08-30 12:21:37 -03:00
pedrocarlo
961c0cd282
script to save JsonSchema for editor integration
2025-08-30 12:17:50 -03:00
pedrocarlo
61fa7546c1
fold some SimulatorOpts fields to Profile
2025-08-30 11:31:52 -03:00
pedrocarlo
962666831b
read Profile file from path or use predefined profiles
2025-08-30 11:31:52 -03:00
pedrocarlo
6388ed2017
FaultyQuery enabled by default
2025-08-18 11:52:10 -03:00
PThorpe92
2810b5d8a2
Add --keep-files flag and force Drop of database in simulator to prevent issues with the Registry
2025-08-15 17:54:40 -04:00
Jussi Saurio
e604a80e93
fix/sim: actually enable indexes by default
2025-07-21 13:35:11 +03:00
Jussi Saurio
dce355d9b7
test/stress&sim: enable indexes by default
2025-07-21 11:49:30 +03:00
Jussi Saurio
687d126e25
sim: change --disable-create-index flag to --enable-create-index (default false)
2025-07-18 11:21:24 +03:00
pedrocarlo
0ab2f2b951
cli options for max and min tick + adjust github action to run with faster clock so no timeouts happen
2025-07-17 12:25:31 -03:00
pedrocarlo
4ca5595f07
enable io latency + limit number of tests in simulator pull request CI check
2025-07-17 12:22:27 -03:00
alpaylan
3a967f9127
remove rusqlite integrity check, sync generation with --experimental-indexes, move FaultyQuery to disabled by default
2025-07-11 03:35:02 -04:00
alpaylan
b98542d112
cargo fmt and cargo clippy fixes
2025-07-11 02:12:56 -04:00
alpaylan
8f46bbc77e
Merge branch 'main' of https://github.com/tursodatabase/limbo
2025-07-11 01:33:50 -04:00
alpaylan
489602b095
updates to the oracle implementations for differential and doublecheck, add integrity check to the end of the simulation, run cargo clippy --fix
2025-07-11 01:22:40 -04:00
alpaylan
a7b5a2c435
Merge branch 'main' of https://github.com/alpaylan/limbo
2025-07-09 00:14:24 -04:00
alpaylan
44a2fa60a3
add union all cardinality preservation, start generating INSERT INTO t SELECT... queries, add integrity checks to the end of run_simulation
2025-07-09 00:14:13 -04:00
echoumcp1
c5d719dafa
adding better shrinking and cli opts
2025-07-07 21:21:21 -04:00
pedrocarlo
897426a662
add error tracing to relevant functions + rollback transaction in step_end_write_txn + make move_to_root return result
2025-07-07 11:50:21 -03:00
pedrocarlo
5f9abb62c4
enable faulty query
2025-07-07 11:50:21 -03:00
Jussi Saurio
ec939eaaa9
sim: add feature flags (indexes,mvcc) to CLI args
2025-07-07 10:27:15 +03:00
alpaylan
0bce68b38d
wip: add joins to the select
2025-07-06 14:46:38 -04:00
pedrocarlo
251926cd79
leave io faults and fsync query disabled by default
2025-06-30 12:36:26 -03:00
pedrocarlo
4a32f83bd0
add cli option to disable faulty query
2025-06-29 15:56:03 -03:00
pedrocarlo
684a23020d
add cli options to disable fsync property
2025-06-29 12:40:53 -03:00
pedrocarlo
e2aafacbb4
add cli option to adjust latency probability
2025-06-26 22:17:27 -03:00
Jussi Saurio
9aae1ff00a
sim: add Fault::ReopenDatabase
...
Add fault type that reopens the DB and reconnects the connections.
It purposefully does not call conn.close(), as the default behavior
of that method is to checkpoint the database.
This easily exposes multiple manifestations of DB/WAL corruption caused by
this issue: https://github.com/tursodatabase/limbo/issues/1725
in fact, in my testing, every run fails when this fault is enabled. Hence I've
added the --disable-reopen-database flag if you want to try to find some other
bugs.
2025-06-24 14:41:50 -03:00
pedrocarlo
e19fa9f951
add additional cli options to disable other properties
2025-06-11 11:32:45 -03:00
pedrocarlo
edc1c6fbc6
force predicate in SelectSelectOptimizer to evaluate to a boolean value
2025-06-11 11:32:45 -03:00
pedrocarlo
9f601ccb18
add cli option to disable select optimizer
2025-06-11 11:32:45 -03:00
pedrocarlo
f3ef60e1f1
use anyhow in simulator for lazily evaluated error context instead of eager evaluation with .or
2025-06-10 10:50:39 -03:00
Jussi Saurio
5680326881
sim: add CREATE INDEX to interactions
2025-06-04 09:21:59 +03:00
pedrocarlo
1c424818aa
simulator options to disable certain query types
2025-06-03 22:21:40 -03:00
Jussi Saurio
51e3a04668
simulator: add option to disable BugBase
2025-06-02 12:14:35 +03:00
Pere Diaz Bou
8ec7e616b4
simulator: switch to tracing, run io.run_once and add update queries
...
* Without tracing crate we cannot log anything that happens in
limbo_core
* IO never ran in step loop inside simulator.
* Added update queries (which currently loop forever for some reason I'm
debugging).
2025-05-30 10:57:13 +02:00
alpaylan
e13b5bc698
fix min/max-tests bug
2025-04-11 15:33:32 -04:00
alpaylan
9d08693e8f
add simulator subcommands
2025-04-11 14:10:12 -04:00
alpaylan
d4707fe391
add non-zero exit code in case of failures, remove the interactive initalization option in bug base for now, fix bugs in differential mode, add detailed information regarding runs to the bug base
2025-04-11 11:23:03 -04:00
alpaylan
64c2917e81
add bug base, refactor
2025-04-08 17:48:16 -04:00
alpaylan
babf33bafa
fix formatting
2025-02-11 14:15:00 -05:00
alpaylan
c133bbdd29
add differential testing against rusqlite
2025-02-11 14:13:14 -05:00
Aarni Koskela
eaea02c567
Fix a handful of typos
2025-02-09 18:08:29 +02:00
alpaylan
e476b9f697
implement watch mode
...
- add `--watch` flag
- start saving seeds in persistent storage
- make a separate version of execution functions that use `vector of interaction` instead of `InteractionPlan`
2025-01-18 23:54:03 +03:00
alpaylan
c30e2757b4
- implement '--load <PATH>' flag that loads an interaction plan and executes it instead of generating one from scratch
...
- save a json serialization of the generated plans to `<tempdir>/simulator.plan.json`
2025-01-17 22:04:55 +03:00
alpaylan
28cde537a8
this commit;
...
- makes interaction plans serializable
- fixes the shadowing bug where non-created tables were assumed to be created in the shadow tables map
- makes small changes to make clippy happy
- reorganizes simulation running flow to remove unnecessary plan regenerations while shrinking and double checking
2025-01-17 01:30:46 +03:00