aschampion / schemer

A database schema migration library with DAG dependencies
Apache License 2.0
6 stars 4 forks source link

`schemer-rusqlite`: update doc example; exposes error #21

Open nathan-at-least opened 1 year ago

nathan-at-least commented 1 year ago

Rationale

Ensure doc example uses modern rust, is automatically tested, and checks for errors.

Summary

This PR updates the schemer-rusqlite doc example in three ways:

Exposed Error

$ cargo test -p schemer-rusqlite                                                                                                                                                                                   
    Finished test [unoptimized + debuginfo] target(s) in 0.03s                                                                                                                                                     
     Running unittests src/lib.rs (target/debug/deps/schemer_rusqlite-c8c258f066245d88)                                                                                                                            

running 4 tests                                                                                                                                                                                                    
test tests::test_migration_chain ... ok                                                                                                                                                                            
test tests::test_single_migration ... ok                                                                                                                                                                           
test tests::test_branching_dag ... ok                                                                    
test tests::test_multi_component_dag ... ok                                                                                                                                                                        

test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s                                                                                                                      

   Doc-tests schemer-rusqlite                                                                                                                                                                                      

running 2 tests                                                                                                                                                                                                    
test src/lib.rs - RusqliteAdapter<'a,E>::new (line 97) ... ok
test src/lib.rs - (line 6) ... FAILED                                                                                                                                                                              

failures:                                                                                                                                                                                                          

---- src/lib.rs - (line 6) stdout ----                                                                                                                                                                             
Test executable failed (exit status: 101).
stderr:                                                                                                                                                                                                   [39/1145]
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Adapter(SqliteFailure(Error { code: Unknown, extended_code: 1 }, Some("no such table: _schemer")))', src/lib.rs:40:19
stack backtrace: 
[… backtrace elided]

failures:                                                                                                
    src/lib.rs - (line 6)                                                                                                                                                                                          

test result: FAILED. 1 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.74s                                                                                                                  

error: doctest failed, to rerun pass `-p schemer-rusqlite --doc`          

Rendering

The rendered docs now look like this on my system: image