Zebra/zebra-test/src
teor be5cfad07f
change(state): Prepare for in-place database format upgrades, but don't make any format changes yet (#7031)
* Move format upgrades to their own module and enum

* Launch a format change thread if needed, and shut it down during shutdown

* Add some TODOs and remove a redundant timer

* Regularly check for panics in the state upgrade task

* Only run example upgrade once, change version field names

* Increment database format to 25.0.2: add format change task

* Log the running and initial disk database format versions on startup

* Add initial disk and running state versions to cached state images in CI

* Fix missing imports

* Fix typo in logs workflow command

* Add a force_save_to_disk argument to the CI workflow

* Move use_internet_connection into zebrad_config()

* fastmod can_spawn_zebrad_for_rpc can_spawn_zebrad_for_test_type zebra*

* Add a spawn_zebrad_without_rpc() function

* Remove unused copy_state() test code

* Assert that upgrades and downgrades happen with the correct versions

* Add a kill_and_return_output() method for tests

* Add a test for new_state_format() versions (no upgrades or downgrades)

* Add use_internet_connection to can_spawn_zebrad_for_test_type()

* Fix workflow parameter passing

* Check that reopening a new database doesn't upgrade (or downgrade) the format

* Allow ephemeral to be set to false even if we don't have a cached state

* Add a test type that will accept any kind of state

* When re-using a directory, configure the state test config with that path

* Actually mark newly created databases with their format versions

* Wait for the state to be opened before testing the format

* Run state format tests on mainnet and testnet configs (no network access)

* run multiple reopens in tests

* Test upgrades run correctly

* Test that version downgrades work as expected (best effort)

* Add a TODO for testing partial updates

* Fix missing test arguments

* clippy if chain

* Fix typo

* another typo

* Pass a database instance to the format upgrade task

* Fix a timing issue in the tests

* Fix version matching in CI

* Use correct env var reference

* Use correct github env file

* Wait for the database to be written before killing Zebra

* Use correct workflow syntax

* Version changes aren't always upgrades

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2023-07-13 21:36:15 +00:00
..
command Fix typos (#4164) 2022-04-22 01:10:33 +00:00
vectors build(deps): bump insta from 1.15.0 to 1.17.1 (#4884) 2022-08-04 15:44:44 +00:00
command.rs change(state): Prepare for in-place database format upgrades, but don't make any format changes yet (#7031) 2023-07-13 21:36:15 +00:00
lib.rs fix(test): Reduce verbose test logs (#5825) 2022-12-08 23:56:01 +00:00
mock_service.rs cleanup(rust): Fix new nightly clippy warnings (#7135) 2023-07-05 07:11:27 +00:00
net.rs change(tests): use OS-assigned unallocated ports for getting random known ports (#5607) 2022-11-10 23:23:12 +00:00
network_addr.rs fix(doc): Fix various doc warnings, part 2 (#4561) 2022-06-14 01:22:16 +00:00
prelude.rs fix(doc): Fix various doc warnings, part 2 (#4561) 2022-06-14 01:22:16 +00:00
service_extensions.rs Consolidate standard lints into a cargo config file (#3386) 2022-01-24 16:25:06 +00:00
transcript.rs Remove redundant track_callers which now cause errors on nightly (#5839) 2022-12-13 00:59:38 +00:00
vectors.rs fix(doc): Fix the syntax of links in comments (#4494) 2022-05-30 20:12:11 +00:00
zip0143.rs Always compute sighash with librustzcash (#2469) 2021-07-09 09:55:08 +10:00
zip0243.rs Fix bug in sighash for coinbase transactions (#2459) 2021-07-08 16:05:40 -03:00
zip0244.rs fix(doc): Fix the syntax of links in comments (#4494) 2022-05-30 20:12:11 +00:00