Skip to content

Locally running tests are failing #112

@khlopkov

Description

@khlopkov

Environment (Required)

  • OS:
Linux debian 6.1.0-17-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.69-1 (2023-12-30) x86_64 GNU/Linux
  • Version of rustc :
rustc 1.81.0 (eeb90cda1 2024-09-04)

Description
When running commands from the Development section of Readme tests fails with:

test mem::inlineskiplist::tests::test_mem_alloc ... ok
thread '<unnamed>' panicked at library/core/src/panicking.rs:221:5:
unsafe precondition(s) violated: slice::get_unchecked requires that the index is within the slice
thread caused non-unwinding panic. aborting.
error: test failed, to rerun pass `--lib`

Caused by:
  process didn't exit successfully: `/home/etsilence/Documents/wickdb/target/debug/deps/wickdb-6d513c75eecb80d0` (signal: 6, SIGABRT: process abort signal)

Additional context
Not sure if that's my environment issue or tests itself fail.

Full tests output for your reference:

cargo test --all
   Compiling wickdb v0.1.0 (/home/etsilence/Documents/wickdb)
warning: fields `micros`, `bytes_read`, and `bytes_written` are never read
   --> src/compaction.rs:371:9
    |
369 | pub struct CompactionStats {
    |            --------------- fields in this struct
370 |     // The microseconds this compaction takes
371 |     pub micros: u64,
    |         ^^^^^^
372 |     /// The data size read by this compaction
373 |     pub bytes_read: u64,
    |         ^^^^^^^^^^
374 |     /// The data size created in new generated SSTables
375 |     pub bytes_written: u64,
    |         ^^^^^^^^^^^^^
    |
    = note: `CompactionStats` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
    = note: `#[warn(dead_code)]` on by default

warning: unused return value of `finish` that must be used
   --> src/util/slice.rs:107:9
    |
107 |         state.finish();
    |         ^^^^^^^^^^^^^^
    |
    = note: `#[warn(unused_must_use)]` on by default
help: use `let _ = ...` to ignore the resulting value
    |
107 |         let _ = state.finish();
    |         +++++++

warning: unused `std::slice::Iter` that must be used
  --> src/compaction.rs:57:9
   |
57 |         self.base.iter();
   |         ^^^^^^^^^^^^^^^^
   |
   = note: iterators are lazy and do nothing unless consumed
help: use `let _ = ...` to ignore the resulting value
   |
57 |         let _ = self.base.iter();
   |         +++++++

warning: unused return value of `Option::<T>::map_or` that must be used
   --> src/iterator.rs:234:9
    |
234 |         self.derived.as_mut().map_or((), |di| di.next());
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: if you don't need the returned value, use `if let` instead
help: use `let _ = ...` to ignore the resulting value
    |
234 |         let _ = self.derived.as_mut().map_or((), |di| di.next());
    |         +++++++

warning: unused return value of `Option::<T>::map_or` that must be used
   --> src/iterator.rs:240:9
    |
240 |         self.derived.as_mut().map_or((), |di| di.prev());
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: if you don't need the returned value, use `if let` instead
help: use `let _ = ...` to ignore the resulting value
    |
240 |         let _ = self.derived.as_mut().map_or((), |di| di.prev());
    |         +++++++

warning: `wickdb` (lib) generated 5 warnings
warning: `wickdb` (lib test) generated 5 warnings (5 duplicates)
    Finished `test` profile [unoptimized + debuginfo] target(s) in 0.92s
warning: the following packages contain code that will be rejected by a future version of Rust: criterion v0.3.0, snap v1.0.0
note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
     Running unittests src/lib.rs (target/debug/deps/wickdb-6d513c75eecb80d0)

running 222 tests
test batch::tests::test_approximate_size ... ok
test batch::tests::test_empty_batch ... ok
test cache::lru::tests::test_entries_are_pinned ... ok
test cache::lru::tests::test_erase ... ok
test batch::tests::test_corrupted_batch ... ok
test batch::tests::test_multiple_records ... ok
test cache::lru::tests::test_hit_and_miss ... ok
test cache::lru::tests::test_heavy_entries ... ok
test batch::tests::test_append_batch ... ok
test cache::lru::tests::test_zero_size_cache ... ok
test cache::lru::tests::test_eviction_policy ... ok
test db::filename::tests::test_parse_filename ... ok
test db::filename::tests::test_generate_filename ... ok
test db::format::tests::test_icmp_cmp ... ok
test db::format::tests::test_icmp_separator ... ok
test db::format::tests::test_icmp_successor ... ok
test db::format::tests::test_pack_seq_and_type ... ok
test cache::lru::tests::test_use_exceeds_cache_size ... ok
test db::format::tests::test_internal_key_encode_decode ... ok
test db::format::tests::test_pack_seq_and_type_panic - should panic ... ok
test cache::tests::test_concurrent_insert ... ok
test db::tests::test_db_file_lock ... ok
test db::tests::test_comparator_check ... ok
test db::tests::test_custom_comparator ... ok
test db::tests::test_destroy_empty_dir ... ok
test db::tests::test_fs_non_writable ... ok
test db::tests::test_fs_sync_error ... ok
test db::tests::test_dbopen_options ... ok
test db::tests::test_empty_db ... ok
test db::tests::test_empty_key ... ok
test db::tests::test_empty_value ... ok
test db::tests::test_approximiate_sizes_min_of_small_and_large ... ok
test db::tests::test_compaction_generate_multiple_files ... ok
test db::tests::test_db_reads_using_bloom_filter ... ok
test db::tests::test_deletion_marker1 ... ok
test db::tests::test_deletion_marker2 ... ok
test db::tests::test_iter_empty_db ... ok
test db::tests::test_iter_multi ... ok
test db::tests::test_iter_multi_with_delete ... ok
test db::tests::test_iter_single ... ok
test db::tests::test_iter_small_and_large_mix ... ok
test db::tests::test_iter_pins_ref ... ok
Nov 10 12:52:47.055 ERRO Compaction error: DBClosed("major compaction"), [location]: src/db/mod.rs:1170
Nov 10 12:52:47.056 ERRO Compaction error: DBClosed("major compaction"), [location]: src/db/mod.rs:1170
Nov 10 12:52:47.057 ERRO Compaction error: DBClosed("major compaction"), [location]: src/db/mod.rs:1170
Nov 10 12:52:47.060 ERRO Compaction error: DBClosed("major compaction"), [location]: src/db/mod.rs:1170
test db::tests::test_l0_compaction_when_reopen ... ok
test db::tests::test_manifest_write_error ... ok
test db::tests::test_get_from_versions ... ok
test db::tests::test_mem_compact_into_max_level ... ok
test db::tests::test_minor_compactions_happend ... ok
test db::tests::test_iterate_over_empty_snapshot ... ok
test db::tests::test_missing_sstfile ... ok
test db::tests::test_no_storage_space ... ok
test db::tests::test_get_level0_ordering ... ok
test db::tests::test_get_ordered_by_levels ... ok
test db::tests::test_get_from_immutable_layer ... ok
test db::tests::test_put_delete_get ... ok
test db::tests::test_read_write ... ok
test db::tests::test_recover_with_entries ... ok
test db::tests::test_recover_with_large_log ... ok
test db::tests::test_reopen_with_empty_db ... ok
test db::tests::test_recover_during_memtable_compaction ... ok
test db::tests::test_snapshot ... ok
test db::tests::test_sparse_merge ... ignored
test filter::bloom::tests::test_bloom_filter_empty ... ok
test filter::bloom::tests::test_bloom_filter_small ... ok
test filter::bloom::tests::test_bloom_filter_varying_lengths ... ok
test iterator::tests::test_concatenated_iterator ... ok
test iterator::tests::test_merging_iterator ... ok
test db::tests::test_repeated_write_to_same_key ... ok
test mem::arena::tests::test_allocate_empty_should_panic - should panic ... ok
test mem::arena::tests::test_allocate_fallback ... ok
test logger::tests::test_default_logger ... ok
test mem::arena::tests::test_allocate_new_block ... ok
test mem::arena::tests::test_new_arena ... ok
test mem::inlineskiplist::tests::test_basic ... ok
test mem::inlineskiplist::tests::test_concurrent_basic_big_value ... ok
test mem::inlineskiplist::tests::test_concurrent_basic_small_value ... ok
test mem::inlineskiplist::tests::test_empty ... ok
test mem::inlineskiplist::tests::test_find_near ... ok
test mem::inlineskiplist::tests::test_mem_alloc ... ok
thread '<unnamed>' panicked at library/core/src/panicking.rs:221:5:
unsafe precondition(s) violated: slice::get_unchecked requires that the index is within the slice
thread caused non-unwinding panic. aborting.
error: test failed, to rerun pass `--lib`

Caused by:
  process didn't exit successfully: `/home/etsilence/Documents/wickdb/target/debug/deps/wickdb-6d513c75eecb80d0` (signal: 6, SIGABRT: process abort signal)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions