mirror of
https://github.com/clockworklabs/SpacetimeDB.git
synced 2026-05-13 03:08:40 -04:00
32ac808804
* Simple SDK test harness; SDK test module Yet to come: actual SDK tests. * Quiet clippy lint about "too many arguments" * Lints are named with underscores, not dashes... * Will this make clippy shut up? * Go nuclear on disabling `too_many_attributes` lint. Sigh. * WIP SDK test client, and fix bugs in Rust codegen Compiling the module_bindings for the sdk-test module revealed two bugs: - Enums holding structs generated incorrectly, unpacking the struct into the enum's payload. - Recursive types would cause the codegen to attempt to recursively import the current module into itself. * One (1) actual runnable test in the sdk crate * Exclude test-client from CI The sdk tests already build this crate (though they don't clippy or fmt it). Attempting to build, test, fmt or clippy it as-is will fail because the module_bindings are not committed. This is intentional, as the SDK test suite wants to generate the module_bindings during its run. * Rustfmt ignore generated module_bindings It turns out `cargo fmt` doesn't actually support the `--exclude` option the way `cargo clippy` does. Instead, just `#[rustfmt::skip]` the `mod module_bindings;` decl. * Actually commit test file... God, I'm so bad at remembering to commit new files. Anyway, add a test for deleting rows with primitive unique fields. * Make CLI tool available in tests workflow The SDK tests need to run `spacetime start`, `spacetime generate` and `spacetime publish`. * Test update events with primitive pk types; split test-client into files * Tests with `Identity` fields in tables * Tests for reducer callbacks, both successful and failing * Tests with vecs of stuff, with structs, with enums * Test that should fail, test that uses a large table with many columns * Test for resubscribe functionality * Test of reauth; fix major bug in `TestCounter` I misread `Condvar::wait_timeout_while` as `Condvar::wait_timeout_until`, and flipped my predicate. This led to false negatives (i.e. tests that passed that shouldn't have). * A fistful of doc comments * Avoid race condition running multiple tests with same client project This commit fixes a race condition which sometimes caused the SDK tests to fail because multiple `spacetime generate` processes running concurrently would clobber each others' output, potentially deleting it while a `cargo build` or `cargo run` process was running. Now, the test harness will only run `spacetime generate` at most once for any given directory. * Add env_logger to SDK test client * RUST_LOG=trace when running test clients * quieter logs in test client: only warn-level and higher
17 lines
445 B
Plaintext
17 lines
445 B
Plaintext
# Generated by Cargo
|
|
# will have compiled files and executables
|
|
debug/
|
|
target/
|
|
|
|
# Remove Cargo.lock from gitignore if creating an executable, leave it for libraries
|
|
# More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html
|
|
Cargo.lock
|
|
|
|
# These are backup files generated by rustfmt
|
|
**/*.rs.bk
|
|
|
|
# MSVC Windows builds of rustc generate these, which store debugging information
|
|
*.pdb
|
|
|
|
# Spacetime ignore
|
|
/.spacetime |