Commit Graph

187 Commits

Author SHA1 Message Date
Michal Mielewczyk
e762a5a128 pyocf: Test for IO in D2C
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2025-03-26 16:05:31 +01:00
Michal Mielewczyk
baccc5560b pyocf: Add tests for detaching core
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2025-03-26 15:39:55 +01:00
Michal Mielewczyk
dedfa5eed9 pytest: Add test for loading cores with cleaning
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2025-03-26 08:53:30 +01:00
Michal Mielewczyk
7f55116b5e pyocf: settle cache before testing occupancy
The next commit will move occupancy accounting to backfill which makes
testing statistics value even more time dependent. Settling cache before
cache.get_stats() prevents this error-inducing race conditions

Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2025-03-24 12:22:25 +01:00
Michal Mielewczyk
98a3aaea89 pyocf: Test detaching cache with cleaning policy
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2025-03-17 15:28:09 +01:00
Daniel Madej
3263503de1 pyocf: Add test for re-attaching device w/o force
Signed-off-by: Daniel Madej <daniel.madej@huawei.com>
2025-02-06 09:24:40 +01:00
Robert Baldyga
be068df400
Merge pull request #853 from mmichal10/repart
Repart
2025-02-04 16:39:49 +01:00
Robert Baldyga
b850727d17 tests: Fix d2c test
Cache attach operation is not supposed to complete unless all the d2c
requests are completed, thus need to handle it asynchronously.

Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
2024-11-21 21:29:23 +01:00
Michal Mielewczyk
91ad6476e2 pyocf: Cache lines reclassification test
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-10-21 19:32:51 +02:00
Robert Baldyga
b16b49c84d tests: Introduce cache/core flush test
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-10-04 07:54:46 +02:00
Michal Mielewczyk
a681f7ec7e pyocf: Test for reporting and accounting IO errors
Test for bug fixed in 237f6c708a

Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-10-02 16:21:10 +02:00
Michal Mielewczyk
191471af1b Test for IO in d2c after attaching cache
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-10-02 15:33:06 +02:00
Robert Baldyga
be0ad8fe20 pyocf: Update tests after the API changes
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-09-20 13:59:46 +02:00
Robert Baldyga
c9cd217a08 pyocf: Update to use forward API
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-09-19 15:55:19 +02:00
Roel Apfelbaum
73387c8f26 Support set_data() with offset > 0 for core
Signed-off-by: Roel Apfelbaum <roel.apfelbaum@huawei.com>
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-09-17 16:26:27 +02:00
Sara Merzel
9a6fe8a49b pyocf: Tests for partial hits
Signed-off-by: Sara Merzel <sara.merzel@huawei.com>
Signed-off-by: Roel Apfelbaum <roel.apfelbaum@huawei.com>
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-09-17 14:16:23 +02:00
Robert Baldyga
640ee86663 pyocf: Introduce discard tests
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-08-29 08:39:55 +02:00
Roel Apfelbaum
9f0147ab1e pyocf: refactor sync io operations
Replace the pattern:
	completion = OcfCompletion([("err", c_int)])
	io.callback = completion.callback
	io.submit()
	completion.wait()
with:
	completion = Sync(io).submit()
Also, remove some redundant imports.

Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-08-29 08:39:53 +02:00
Robert Baldyga
d892e3b0d5 pyocf: rio: Fix offset
Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-08-29 08:29:42 +02:00
Robert Baldyga
8668ae9c37 pyocf: Fix test_io_propagation_multiple_subvolumes
Make sure end_offset is never generated as 0. Otherwise the last volume
in the range will not get any io, leading false negative test result.

Signed-off-by: Robert Baldyga <robert.baldyga@huawei.com>
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-08-29 08:28:13 +02:00
Michal Mielewczyk
f8a0f88892 Test detaching cache twice
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-07-10 16:16:18 +02:00
Michal Mielewczyk
c95f396ba9 Test for attaching cache twice
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-07-10 16:15:34 +02:00
Michal Mielewczyk
58fddd3602 Test add and remove core with cache detached
Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-07-10 16:15:18 +02:00
Michal Mielewczyk
06a2125ba9 pytest: update random.seed() argument
From python3.11 the function accepts only NoneType, int, float, str, bytes, or
bytearray

Signed-off-by: Michal Mielewczyk <michal.mielewczyk@huawei.com>
2024-07-10 16:14:30 +02:00
Robert Baldyga
2560aa709c tests: Use proper random object for string generation
PyOCF needs to control random seed, to allow running tests with
pytest-xdist. Use local random object initialized with seed
from the config.

Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2023-03-30 10:30:55 +02:00
Robert Baldyga
93b6ddb8a7
Merge pull request #703 from jfckm/metadata-corruption-tests
Metadata corruption tests
2022-07-22 16:06:41 +02:00
Robert Baldyga
675cd11f40 Add missing license headers
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2022-07-22 08:33:55 +02:00
Jan Musial
f1a8bac1db pyocf: Improve logs readability for corruption tests
Signed-off-by: Jan Musial <jan.musial@intel.com>
2022-07-19 10:50:11 +02:00
Jan Musial
159fda9356 Security test for metadata corruption in standby activate
Signed-off-by: Jan Musial <jan.musial@intel.com>
2022-07-19 10:50:11 +02:00
Jan Musial
e8b46f09ee Security tests for metadata corruption
Signed-off-by: Jan Musial <jan.musial@intel.com>
2022-07-19 10:50:11 +02:00
Jan Musial
01166ba55e Security test for cache exported object
Signed-off-by: Jan Musial <jan.musial@intel.com>
2022-07-19 10:50:11 +02:00
Jan Musial
b3bd778a78 pyocf: simplify volume open/close API
Make Volumes usable by both pyocf and OCF with clear open/_open split
and clean-up of instance/uuid tracking on C interface only.

Signed-off-by: Jan Musial <jan.musial@intel.com>
2022-07-19 10:50:11 +02:00
Jan Musial
a0c6995189 pyocf: make open/close explicit
Signed-off-by: Jan Musial <jan.musial@intel.com>
2022-07-19 10:50:11 +02:00
Jan Musial
abc726d7f8 pyocf: warn about not-closed Volumes
Signed-off-by: Jan Musial <jan.musial@intel.com>
2022-07-19 10:50:11 +02:00
Jan Musial
d87bdc3a43 pyocf: Improve buffer logger to also print on console
Signed-off-by: Jan Musial <jan.musial@intel.com>
2022-07-19 10:50:11 +02:00
Adam Rutkowski
69ef673bd1 pyocf: composite volume tests
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-06-29 12:30:21 +02:00
Adam Rutkowski
e2ea2b41e6 pyocf: extend ErrorDevice to inject error on flush and discard
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-06-29 12:30:21 +02:00
Robert Baldyga
7cf58bb326
Merge pull request #733 from pdebski21/composite_volume_test2
Composite volume tests load and attach
2022-06-27 13:40:40 +02:00
Piotr Debski
f4eb291235 pyocf: Composite volume tests
Signed-off-by: Piotr Debski <piotr.debski@intel.com>
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2022-06-22 17:31:46 +02:00
Robert Baldyga
641649f6a9 pyocf: Refactor _cvol_io() function
Signed-off-by: Piotr Debski <piotr.debski@intel.com>
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2022-06-22 17:31:27 +02:00
Jan Musial
b39161f1aa pyocf: implement test_attach_cleaner_disabled_non_default
Signed-off-by: Jan Musial <jan.musial@intel.com>
2022-06-22 14:02:14 +02:00
Jan Musial
b898f5c336 pyocf: implement test_cleaner_disabled_nop
Signed-off-by: Jan Musial <jan.musial@intel.com>
2022-06-22 14:02:14 +02:00
Robert Baldyga
9a22ef0917
Merge pull request #736 from pdebski21/tests_disable_cleaner2
Tests disable cleaner
2022-06-22 13:56:43 +02:00
Robert Baldyga
ef4bfc9ac3 pyocf: Make cache lookup by name a common utility
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2022-06-22 12:01:54 +02:00
Piotr Debski
b4f2866155 Tests cleaner disabled
Signed-off-by: Piotr Debski <piotr.debski@intel.com>
2022-06-22 12:01:54 +02:00
Robert Baldyga
597eb0c24c pyocf: Metadata volatile tests
Signed-off-by: Robert Baldyga <robert.baldyga@intel.com>
2022-06-22 09:03:38 +02:00
Adam Rutkowski
ae735b4434 pyocf: composite volume tests
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-06-13 11:40:41 +02:00
Adam Rutkowski
96c5ef1d01 pyocf: register composite volume type id in ctx
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-06-13 11:40:41 +02:00
Adam Rutkowski
6195967483 pyocf: use device.handle for device config if available
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-06-13 11:40:41 +02:00
Adam Rutkowski
19dff9d4a2 pyocf: fix standby I/O test
Signed-off-by: Adam Rutkowski <adam.j.rutkowski@intel.com>
2022-06-13 11:40:08 +02:00