CeresDB / sqlness

An ergonomic, opinionated framework for SQL integration test.
https://crates.io/crates/sqlness
Apache License 2.0
22 stars 7 forks source link

feat: SQLNESS SLEEP <DURATION_STRING> #67

Closed discord9 closed 5 months ago

discord9 commented 5 months ago

Rationale

Some test would require a certain amount of time to output final results(i.e. continous aggregate with some amount of delay) So it make sense for sqlness to have a sleep function, i.e. mysql&postgre sql both have sleep function, but it could be useful to have a sleep function in test client side anyway.

Detailed Changes

add a -- SQLNESS SLEEP <Milliseconds> to sleep for given time in milliseconds before executing query, which internally just spawn a new thread for sleeping when sleep is needed, this is for simplicity sake, and also to allow cross-runtime async sleep. The overhead of spawn a thread is deemed low since the query is sleeping anyway, the only reason why we can't just blocking sleep directly is because it's async up there so blocking a async task make a lot of trouble to any async runtime.

Test Plan

a simple test added for waiting given time