diff --git a/tests/functional/pyocf/c/helpers/collision_addr.c b/tests/functional/pyocf/c/helpers/collision_addr.c new file mode 100644 index 0000000..43d9e0b --- /dev/null +++ b/tests/functional/pyocf/c/helpers/collision_addr.c @@ -0,0 +1,27 @@ +/* + * Copyright(c) 2022-2022 Intel Corporation + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include "ocf/ocf_io.h" +#include "ocf/ocf_cache.h" +#include "../src/ocf/ocf_cache_priv.h" +#include "../src/ocf/metadata/metadata_raw.h" +#include "../src/ocf/metadata/metadata_internal.h" + +// get collision metadata segment start and size (excluding padding) +uint64_t ocf_get_collision_start_page_helper(ocf_cache_t cache) +{ + struct ocf_metadata_ctrl *ctrl = cache->metadata.priv; + struct ocf_metadata_raw *raw = &ctrl->raw_desc[metadata_segment_collision]; + + return raw->ssd_pages_offset; +} + +uint64_t ocf_get_collision_page_count_helper(ocf_cache_t cache) +{ + struct ocf_metadata_ctrl *ctrl = cache->metadata.priv; + struct ocf_metadata_raw *raw = &ctrl->raw_desc[metadata_segment_collision]; + + return raw->ssd_pages; +} diff --git a/tests/functional/pyocf/c/helpers/collision_addr.h b/tests/functional/pyocf/c/helpers/collision_addr.h new file mode 100644 index 0000000..e0b0df8 --- /dev/null +++ b/tests/functional/pyocf/c/helpers/collision_addr.h @@ -0,0 +1,9 @@ +/* + * Copyright(c) 2022-2022 Intel Corporation + * SPDX-License-Identifier: BSD-3-Clause + */ + +#pragma once + +uint64_t ocf_get_collision_start_page_helper(ocf_cache_t cache); +uint64_t ocf_get_collision_page_count_helper(ocf_cache_t cache); diff --git a/tests/functional/pyocf/helpers.py b/tests/functional/pyocf/helpers.py new file mode 100644 index 0000000..57c165e --- /dev/null +++ b/tests/functional/pyocf/helpers.py @@ -0,0 +1,16 @@ +# +# Copyright(c) 2022 Intel Corporation +# SPDX-License-Identifier: BSD-3-Clause +# +# +from .ocf import OcfLib + + +def get_collision_segment_page_location(cache): + lib = OcfLib.getInstance() + return int(lib.ocf_get_collision_start_page_helper(cache)) + + +def get_collision_segment_size(cache): + lib = OcfLib.getInstance() + return int(lib.ocf_get_collision_page_count_helper(cache))