Skip to content

Commit

Permalink
DAOS-12950 test: add ftest tag linter
Browse files Browse the repository at this point in the history
Features: NvmeObject EcodOnlineRebuild InfoTests OverwriteContainerACLTest OverwriteContainerACLTest

- Add ftest/tags.py utility
  - lint option for linting tags
  - list option to list tags associated with files
  - dump option to dump test and tag info for files
- Add infrastructure that can be extended for future tag work

Required-githooks: true

Signed-off-by: Dalton Bohning <dalton.bohning@intel.com>
  • Loading branch information
daltonbohning committed Jan 22, 2024
1 parent a2356d8 commit 6490be7
Show file tree
Hide file tree
Showing 18 changed files with 497 additions and 29 deletions.
9 changes: 9 additions & 0 deletions .github/workflows/linting.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,3 +58,12 @@ jobs:
ref: ${{ github.event.pull_request.head.sha }}
- name: Check DAOS logging macro use.
run: ./utils/cq/d_logging_check.py --github src

ftest-tags:
name: Ftest tag check
runs-on: ubuntu-22.04
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Check DAOS ftest tags.
run: \[ ! -x src/tests/ftest/tags.py \] || ./src/tests/ftest/tags.py lint
6 changes: 6 additions & 0 deletions debian/changelog
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
daos (2.5.100-14) unstable; urgency=medium
[ Dalton Bohning ]
* Add tags.py

-- Dalton Bohning <dalton.bohning@intel.com> Fri, 19 Jan 2024 12:00:00 -0500

daos (2.5.100-13) unstable; urgency=medium
[ Brian J. Murrell ]
* Update for EL 8.8 and Leap 15.5
Expand Down
2 changes: 1 addition & 1 deletion src/tests/ftest/aggregation/checksum.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ def test_aggregationchecksum(self):
:avocado: tags=all,pr,daily_regression
:avocado: tags=hw,medium
:avocado: tags=daosio,checksum,ior
:avocado: tags=aggregationchecksum,test_aggregationchecksum
:avocado: tags=AggregationChecksum,test_aggregationchecksum
"""

# test params
Expand Down
6 changes: 3 additions & 3 deletions src/tests/ftest/daos_test/dfs.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ def test_daos_dfs_unit(self):
:avocado: tags=all,pr,daily_regression
:avocado: tags=hw,large
:avocado: tags=daos_test,dfs_test,dfs
:avocado: tags=daos_core_test_dfs,test_daos_dfs_unit
:avocado: tags=DaosCoreTestDfs,test_daos_dfs_unit
"""
self.daos_test = os.path.join(self.bin, 'dfs_test')
self.run_subtest()
Expand All @@ -49,7 +49,7 @@ def test_daos_dfs_parallel(self):
:avocado: tags=all,pr,daily_regression
:avocado: tags=hw,large
:avocado: tags=daos_test,dfs_test,dfs
:avocado: tags=daos_core_test_dfs,test_daos_dfs_parallel
:avocado: tags=DaosCoreTestDfs,test_daos_dfs_parallel
"""
self.daos_test = os.path.join(self.bin, 'dfs_test')
self.run_subtest()
Expand All @@ -66,7 +66,7 @@ def test_daos_dfs_sys(self):
:avocado: tags=all,pr,full_regression
:avocado: tags=hw,large
:avocado: tags=daos_test,dfs_test,dfs
:avocado: tags=daos_core_test_dfs,test_daos_dfs_sys
:avocado: tags=DaosCoreTestDfs,test_daos_dfs_sys
"""
self.daos_test = os.path.join(self.bin, 'dfs_test')
self.run_subtest()
3 changes: 2 additions & 1 deletion src/tests/ftest/daos_test/suite.py
Original file line number Diff line number Diff line change
Expand Up @@ -440,7 +440,8 @@ def test_daos_upgrade(self):
:avocado: tags=all,pr,daily_regression
:avocado: tags=hw,medium,provider,md_on_ssd
:avocado: tags=daos_test,daos_core_test,test_daos_upgrade
:avocado: tags=daos_test,daos_core_test
:avocado: tags=DaosCoreTest,test_daos_upgrade
"""
self.run_subtest()

Expand Down
3 changes: 1 addition & 2 deletions src/tests/ftest/datamover/posix_preserve_props.py
Original file line number Diff line number Diff line change
Expand Up @@ -223,7 +223,6 @@ def test_dm_preserve_props_fs_copy_posix_dfs(self):
:avocado: tags=all,pr
:avocado: tags=vm
:avocado: tags=datamover,daos_fs_copy,dfs,ior,hdf5,daos_cmd
:avocado: tags=dm_preserve_props,dm_preserve_props_fs_copy_posix_dfs
:avocado: tags=test_dm_preserve_props_fs_copy_posix_dfs
:avocado: tags=DmvrPreserveProps,test_dm_preserve_props_fs_copy_posix_dfs
"""
self.run_dm_preserve_props("FS_COPY", "POSIX", "DFS")
2 changes: 1 addition & 1 deletion src/tests/ftest/erasurecode/ior_smoke.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ def test_ec(self):
:avocado: tags=all,pr,daily_regression
:avocado: tags=hw,large
:avocado: tags=ec,ec_smoke,ior
:avocado: tags=ec_ior,test_ec
:avocado: tags=EcodIor,test_ec
"""
obj_class = self.params.get("dfs_oclass", '/run/ior/objectclass/*')

Expand Down
2 changes: 1 addition & 1 deletion src/tests/ftest/erasurecode/mdtest_smoke.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ def test_ec_mdtest_smoke(self):
:avocado: tags=all,pr,daily_regression
:avocado: tags=hw,large
:avocado: tags=ec,ec_smoke,mdtest
:avocado: tags=ec_mdtest_smoke,test_ec_mdtest_smoke
:avocado: tags=EcodMdtest,test_ec_mdtest_smoke
"""
mdtest_flags = self.params.get("flags", "/run/mdtest/*")
self.mdtest_cmd.flags.update(mdtest_flags)
Expand Down
2 changes: 1 addition & 1 deletion src/tests/ftest/erasurecode/online_rebuild.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ def test_ec_online_rebuild(self):
:avocado: tags=all,full_regression
:avocado: tags=hw,large
:avocado: tags=ec,ec_array,ec_online_rebuild,rebuild,
:avocado: tags=ec,ec_array,ec_online_rebuild,rebuild
:avocado: tags=EcodOnlineRebuild,test_ec_online_rebuild
"""
# Kill last server rank
Expand Down
3 changes: 1 addition & 2 deletions src/tests/ftest/erasurecode/online_rebuild_mdtest.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,7 @@ def test_ec_online_rebuild_mdtest(self):
:avocado: tags=all,pr,daily_regression
:avocado: tags=hw,large
:avocado: tags=ec,ec_array,mdtest,ec_online_rebuild
:avocado: tags=ec_online_rebuild_array,ec_online_rebuild_mdtest
:avocado: tags=test_ec_online_rebuild_mdtest
:avocado: tags=EcodOnlineRebuildMdtest,test_ec_online_rebuild_mdtest
"""
# Kill last server rank
self.rank_to_kill = self.server_count - 1
Expand Down
4 changes: 2 additions & 2 deletions src/tests/ftest/network/cart_self_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -89,8 +89,8 @@ def test_self_test(self):
:avocado: tags=all,pr,daily_regression
:avocado: tags=vm
:avocado: tags=network,smoke
:avocado: tags=unittest,cartselftest,test_self_test
:avocado: tags=network,smoke,cart
:avocado: tags=CartSelfTest,unittest,test_self_test
"""
# Setup the orterun command
orterun = get_job_manager(self, "Orterun", self.SelfTest(self.bin), mpi_type="openmpi")
Expand Down
12 changes: 6 additions & 6 deletions src/tests/ftest/nvme/object.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
"""
(C) Copyright 2020-2023 Intel Corporation.
(C) Copyright 2020-2024 Intel Corporation.
SPDX-License-Identifier: BSD-2-Clause-Patent
"""
Expand Down Expand Up @@ -64,7 +64,7 @@ def container_read(container, array_size=None):
# read written objects and verify
container.read_objects()

def test_runner(self, namespace, record_size, array_size, thread_per_size=4):
def run_test(self, namespace, record_size, array_size, thread_per_size=4):
"""Perform simultaneous writes of varying record size to a container.
Args:
Expand Down Expand Up @@ -143,7 +143,7 @@ def test_nvme_object_single_pool(self):
:avocado: tags=NvmeObject,test_nvme_object_single_pool
"""
# perform multiple object writes to a single pool
self.test_runner("/run/pool_1/*", self.record_size[:-1], 0, self.array_size)
self.run_test("/run/pool_1/*", self.record_size[:-1], 0, self.array_size)
report_errors(self, self.errors)

@avocado.fail_on(DaosApiError)
Expand All @@ -165,7 +165,7 @@ def test_nvme_object_multiple_pools(self):
:avocado: tags=NvmeObject,test_nvme_object_multiple_pools
"""
# thread to perform simultaneous object writes to multiple pools
runner_manager = ThreadManager(self.test_runner, self.get_remaining_time() - 30)
runner_manager = ThreadManager(self.run_test, self.get_remaining_time() - 30)
runner_manager.add(
namespace='/run/pool_1/*', record_size=self.record_size, array_size=self.array_size)
runner_manager.add(
Expand All @@ -178,6 +178,6 @@ def test_nvme_object_multiple_pools(self):
self.errors.append(result.result)
report_errors(self, self.errors)

# run the test_runner after cleaning up all the pools for large nvme_pool size
self.test_runner("/run/pool_3/*", self.record_size, self.array_size)
# run again after cleaning up all the pools for large nvme_pool size
self.run_test("/run/pool_3/*", self.record_size, self.array_size)
report_errors(self, self.errors)
4 changes: 2 additions & 2 deletions src/tests/ftest/pool/info.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,10 @@ def test_pool_info_query(self):
Use Cases:
Verify pool query.
:avocado: tags=all,daily_regression,
:avocado: tags=all,daily_regression
:avocado: tags=vm
:avocado: tags=pool,smoke
:avocado: tags=info_test,test_pool_info_query
:avocado: tags=InfoTests,info_test,test_pool_info_query
"""
# Get the test params
permissions = self.params.get("permissions", "/run/test/*")
Expand Down
2 changes: 1 addition & 1 deletion src/tests/ftest/rebuild/pool_destroy_race.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ def test_pool_destroy_with_io(self):
:avocado: tags=all,pr
:avocado: tags=hw,medium,md_on_ssd
:avocado: tags=pool,rebuild,ior
:avocado: tags=pooldestroywithio,test_pool_destroy_with_io
:avocado: tags=RbldPoolDestroyWithIO,test_pool_destroy_with_io
"""
# set params
targets = self.server_managers[0].get_config_value("targets")
Expand Down
4 changes: 2 additions & 2 deletions src/tests/ftest/scrubber/basic.py
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ def test_scrubber_disabled_during_pool_creation(self):
:avocado: tags=all,pr,daily_regression
:avocado: tags=hw,medium
:avocado: tags=scrubber
:avocado: tags=test_scrubber_disabled_during_pool_creation
:avocado: tags=TestWithScrubberBasic,test_scrubber_disabled_during_pool_creation
"""
self.run_scrubber_basic(None, None)
Expand All @@ -71,7 +71,7 @@ def test_scrubber_enabled_during_pool_creation(self):
:avocado: tags=all,pr,daily_regression
:avocado: tags=hw,medium
:avocado: tags=scrubber
:avocado: tags=test_scrubber_enabled_during_pool_creation
:avocado: tags=TestWithScrubberBasic,test_scrubber_enabled_during_pool_creation
"""
pool_prop = self.params.get("properties", '/run/pool/*')
Expand Down
4 changes: 2 additions & 2 deletions src/tests/ftest/security/cont_overwrite_acl.py
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ def test_overwrite_valid_acl_file(self):
Test Description: Test that container overwrite command performs as
expected with valid ACL file provided.
:avocado: tags=all,daily_regression,
:avocado: tags=all,daily_regression
:avocado: tags=vm
:avocado: tags=security,container,container_acl,daos_cmd
:avocado: tags=OverwriteContainerACLTest,test_overwrite_valid_acl_file
Expand All @@ -132,7 +132,7 @@ def test_cont_overwrite_acl_no_perm(self):
Test Description: Test that container overwrite command fails with
no permission -1001 when user doesn't have the right permissions.
:avocado: tags=all,daily_regression,
:avocado: tags=all,daily_regression
:avocado: tags=vm
:avocado: tags=security,container,container_acl,daos_cmd
:avocado: tags=OverwriteContainerACLTest,test_cont_overwrite_acl_no_perm
Expand Down
Loading

0 comments on commit 6490be7

Please sign in to comment.