Commit Graph

208 Commits

Author SHA1 Message Date
f364de35bc [unit-tests] Fix unflushed trashed blocks and variable referencing 2020-11-24 17:55:17 +08:00
44d025be0c [unit-tests] Add space map counting tests 2020-08-17 22:57:46 +08:00
3609b8bee5 [unit-tests] Add test cases for space maps
- Increase test metadata size
- Test block allocation among multiple transactions
- Test the interaction between sm_recursive and sm_careful_alloc
- Test intended in-place modification
2020-08-12 15:53:08 +08:00
4d56cef5de [unit-tests] Add test cases for sequence_generator 2020-07-29 16:18:23 +08:00
e62022a200 [base] Move run_set to namespace base 2020-07-29 15:33:25 +08:00
7a332d43c3 [build] Fix the default value for the AR variable (#145)
Initialize the AR variable during configuration, to avoid leaving
unsubstituted string if the AR shell/environment variable is not set.
2020-07-29 10:06:39 +08:00
e6faac9b80 autoconf: allow a user to override ar
This is used on specific buildchains (nixos static builds for example).
2020-07-25 15:16:28 -07:00
29cfdd8979 [space-maps/core] rewrite the core space map to use less memory. 2020-05-27 12:00:40 +01:00
4313469475 [all] Switch from boost::shared_ptr -> std::shared_ptr.
Shared_ptr has moved into the standard library since these tools were
first written.
2020-04-30 15:02:43 +01:00
e801cc607b [block_manager] Hard code block size to 4k.
We're never going to use anything other than 4k, and by hard coding it we
avoid making block_manager a template.
2020-04-30 14:30:01 +01:00
57cae67ff1 [unit-tests] fix googletest compile flags
googletest now requires c++11 compiler
2020-02-23 15:41:20 +08:00
955e11bc28 [block-cache] fix potential file descriptor leak
Encapsulate file descriptor into an object, to ensure that an fd will be
closed properly while exception raised, e.g., the block_cache throws
exception during the block_manager's construction.
2020-02-23 15:41:16 +08:00
acf2e6e625 [unit-tests] squash some warnings
ASSERT_THAT(), defined in google-test needs to be wrapped in braces if
it's the only statement in an if block (dangling else).
2019-05-27 09:19:14 +01:00
80e046a7df [build] support separate build directories 2018-06-13 09:34:14 +01:00
6a7351da0d Fix musl build (#96)
a) Fix build if limits.h provides definition for PAGE_SIZE, as musl does w/musl per XSI[1] although it's apparently optional [2].
   This value is only provided when it's known to be a constant, to avoid the need to discover the value dynamically.
b) If not using system-provided (kernel headers, or libc headers, or something) use the POSIX approach of querying the value
   dynamically using sysconf(_SC_PAGE_SIZE) instead of hardcoded value that hopefully is correct.
[1] http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/limits.h.html
[2] http://www.openwall.com/lists/musl/2015/09/11/8

This patch originate from:

  https://raw.githubusercontent.com/voidlinux/void-packages/a0ece13ad7ab2aae760e09e41e0459bd999a3695/srcpkgs/thin-provisioning-tools/patches/musl.patch

and was also applied in NixOS:

  https://github.com/NixOS/nixpkgs/pull/40559/

cc @dtzWill
2018-05-22 14:02:49 +01:00
6b36f68ef5 [unit-tests/block_t] Comment out failing test
WONTFIX
2017-09-14 14:39:42 +01:00
977bbf05e5 [unit-tests/btree_counter_t] Add a couple of flushes().
This fixes the two failing btree_counter tests.  The blocknr in each
node is filled in when written out.  These days (thanks to Ming) the
counter also checks the btree, *but* if there are any problems
encoutered it just skips counting that node.
2017-09-14 14:00:21 +01:00
36169d399c [unit-tests] add failing test.
You currently can get a read lock when a write lock is already held.
2017-08-14 14:20:59 +01:00
467be1a69e Add some std namespaces to get tests building.
I guess a rogue header had previously been using the std namespace.
2017-07-24 15:40:17 +01:00
b9009b53b6 [bcache_t] Add block cache test case for issue 80 2017-07-24 15:32:26 +01:00
1a6b8bda3f [unit-test] update a cache metadtaa version test 2017-03-27 09:14:30 -04:00
4ed5ec5e10 [unit-test] Knock out some dead code 2017-03-13 14:17:32 +00:00
7df5b26f39 [unit-test] knock out the bloom filter tests.
We don't use bloom filters, and they take ages to run.
2017-03-13 14:16:47 +00:00
0a8d7fdb89 [build] tweak includes for test targets 2017-03-13 14:02:11 +00:00
c2fdbad322 Merge branch '2016-07-07-improve-thin-repair-error-message' into v0.7-devel
Conflicts:
	Makefile.in
	VERSION
	configure.ac
	persistent-data/file_utils.cc
2016-07-11 15:51:30 +01:00
a124b7ce26 [block-cache] Fix some bugs in the copier 2016-06-14 16:27:17 +01:00
07f44e9c77 [io_engine] Add exclusive flag to io_engine 2016-06-07 13:45:27 +01:00
a94bfea798 [block-cache] unit tests + debug io_engine and copier 2016-06-07 11:12:27 +01:00
34c039d7dc [mempool] more tests 2016-06-01 14:46:27 +01:00
3e24cff8a1 respect & use CPPFLAGS properly
The common preprocessor variable is named CPPFLAGS.  configure sets this
up for us, including sourcing values from the user.  Rename INCLUDES to
match, and pull the default from configure.
2016-05-09 02:41:54 -04:00
b46676575c fix up test targets
- PHONY is misspelled
- fix the pdata_tools target dep
- add a "check" alias to match standard automake behavior
- mark test & check targets as phony
2016-05-08 23:35:19 -04:00
73a69abfd2 [unit-tests] copier and mem_pool tests.
More to come
2016-05-07 11:47:40 +01:00
4f54245600 [block_t] add check_raw to mock 2016-04-21 14:31:52 +01:00
286f70ceac Merge remote-tracking branch 'remotes/github-m-h-tsai/v0.6.2-repairtool' into 2016-02-29-mingus-merge
Conflicts:
	Makefile.in
	VERSION
	thin-provisioning/commands.cc
	thin-provisioning/commands.h
	thin-provisioning/thin_delta.cc
2016-02-29 10:29:28 +00:00
778c153c1e [block-cache] Add check_raw() to bcache::validator 2016-02-27 15:21:13 +08:00
a5a53648c9 Merge branch '2015-08-19-thin-show-duplicates' into merge-thin-ls
Conflicts:
	Makefile.in
	block-cache/block_cache.h
	main.cc
	thin-provisioning/commands.h
2016-02-24 14:31:51 +00:00
767c39cf71 [build] switch to c++11
Conflicts:
	Makefile.in
	chunker/cache_stream.cc
	chunker/cache_stream.h
	thin-provisioning/thin_archive.cc
	thin-provisioning/thin_show_duplicates.cc
	unit-tests/Makefile.in
2016-02-16 16:45:44 +00:00
750ce0f47b [thin_show_dups] variable_chunk_stream 2015-09-03 13:02:29 +01:00
880785a9bf [damage_tracker] Reset the tracker in the end() method so we can reuse it.
The *_check tools already reuse trackers.

Patch from Ming-Hung Tsai.
2015-05-26 12:49:27 +01:00
a934ee69c4 [error_state] add a sneaky little stream operator to simplify combining error_states 2015-04-08 13:58:41 +01:00
ef517035f1 The file boost/random/uniform_int_distribution.hpp was introduced in boost
version 1.47. If we have older Boost, use random numbers from libc.

Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
2015-01-16 10:19:25 +00:00
50341faa64 Fix these errors:
unit-tests/array_block_t.cc:38: error: using 'typename' outside of template
unit-tests/array_block_t.cc:39: error: using 'typename' outside of template
unit-tests/array_block_t.cc:40: error: using 'typename' outside of template

Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
2015-01-16 10:18:21 +00:00
b56aec4d96 [unit-tests/bloom_filter_t.cc] Fix ambigious uniform_int_distribution (C++11)
uniform_int_distribution exist in the namespace boost as well as in std
of C++11. Use the one provided by boost.

This fixes compilation bugs with CXXFLAGS=-std=gnu++11 together with
gcc 4.8.3 and boost 1.55.
2014-11-15 16:49:08 +01:00
67865e0732 [bitset_t] Add test for walk_bitset 2014-09-01 14:15:32 +01:00
a7c96c0e1e [everything] Fix circular shared pointer references.
We had a cycle from transaction_manager <-> space_map, and also from
the ref_counters back up to the tm.

This prevented objects being destroyed when various programs exited.

From now on we'll try and only use a shared ptr if ownership is
implied.  Otherwise a reference will be used (eg, for up pointers).
2014-08-26 11:14:49 +01:00
3724f78a13 [block_t] Fix a validator test 2014-08-21 11:51:04 +01:00
f06a2673c5 wip 2014-07-29 11:34:26 +01:00
d517684c95 Initial code drop for merging block_cache 2014-07-22 16:41:39 +01:00
8c24419238 Knock out the era_superblock_t for now.
It's still got some bloom stuff in it.  Will tidy up after release.
2014-03-27 12:23:00 +00:00
8531a2befa [era] switch from bloom filters to writesets 2014-01-29 21:37:25 +00:00