add option 'block_size' to test configs#18347
add option 'block_size' to test configs#18347Mytherin merged 7 commits intoduckdb:v1.3-ossivalisfrom
Conversation
taniabogatsch
left a comment
There was a problem hiding this comment.
Looks good! I like having release tests in Main.yml (if they don't take too long), and relassert in the nightlies. 👍
|
I added the following configurations, based on this comment: #18236 (comment)
Note that for the configuration with a persistent db, I had to exclude a number of tests that assume the default setting (in-memory db with name 'memory'). A next iteration might be to make that more transparant. |
.github/workflows/Main.yml
Outdated
| - name: test/configs/default_storage_block_size_16kB.json | ||
| if: (success() || failure()) && steps.build.conclusion == 'success' | ||
| shell: bash | ||
| run: | | ||
| ./build/release/test/unittest --test-config test/configs/default_storage_block_size_16kB.json |
There was a problem hiding this comment.
I think we can remove this for now - it is mostly the same as test/configs/small_block_size.json, no?
There was a problem hiding this comment.
The difference is in-memory vs persistent db, but maybe not so relevant in this context indeed
| @@ -0,0 +1,35 @@ | |||
| { | |||
| "description": "Run everything with the latest storage on databases with a default block size of 16kB.", | |||
| "on_init": "ATTACH '__TEST_DIR__/{BASE_TEST_NAME}block_size.db' AS __test__config__latest_storage_block_size_16kB (BLOCK_SIZE 16384, STORAGE_VERSION 'latest'); SET storage_compatibility_version='latest';", | |||
There was a problem hiding this comment.
I think if we use "block_size": "16384",, then we can shorten this to:
"ATTACH '__TEST_DIR__/{BASE_TEST_NAME}block_size.db' AS __test__config__latest_storage_block_size_16kB (STORAGE_VERSION 'latest');
| @@ -0,0 +1,35 @@ | |||
| { | |||
| "description": "Run everything with the latest storage on databases with a default block size of 16kB.", | |||
| "on_init": "ATTACH '__TEST_DIR__/{BASE_TEST_NAME}block_size.db' AS __test__config__latest_storage_block_size_16kB (BLOCK_SIZE 16384, STORAGE_VERSION 'latest'); SET storage_compatibility_version='latest';", | |||
There was a problem hiding this comment.
"ATTACH '__TEST_DIR__/{BASE_TEST_NAME}block_size.db'
Should we give the files themselves a very long identifier, to also avoid file conflicts? 😅
Let's remove the persistent DB one, like I already noted in my comment :) we can re-add it while looking at the tests later. |
|
@Mytherin |
|
Thanks! |
|
Can we perhaps also do this for block verification? See https://github.com/search?q=repo%3Aduckdb%2Fduckdb%20DUCKDB_BLOCK_VERIFICATION&type=code |
add option 'block_size' to test configs (duckdb/duckdb#18347) bump httpfs (duckdb/duckdb#18380)
add option 'block_size' to test configs (duckdb/duckdb#18347) bump httpfs (duckdb/duckdb#18380) Co-authored-by: krlmlr <krlmlr@users.noreply.github.com>
This PR adds option
block_sizetoTestConfiguration; and removes the defaultBLOCK_ALLOC_SIZEfrom theMakefile.Since duckdb doesn't have to be recompiled to use different default block size values, there is no need for this flag to be kept in the
MakefileorCmakeList.txtUsage
option
block_sizecan be used to set a default block size for all tests ran with this configuration{ "description": "Tests with smallest possible block size", "block_size": "16384", "skip_compiled": "true" }Tests
I ran the following tests to see if it works:
./build/release/test/unittest --test-config test/configs/small_block_size.json262144). With the demo test config, however, it succeeds:./build/release/test/unittest test/sql/tmp.test --test-config test/configs/small_block_size.json