Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Xfstests tool & test update to support Azure file Share - SMB testing #3693

Open
wants to merge 35 commits into
base: main
Choose a base branch
from
Open
Changes from 1 commit
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
0c243ef
add XFStests as native LISA tool
shekharsorot Mar 5, 2025
0e991ab
Update xfstests.py
shekharsorot Mar 5, 2025
85f9163
Update xfstests.py
shekharsorot Mar 5, 2025
ad52bbf
Update xfstests.py
shekharsorot Mar 5, 2025
34666dd
Update xfstests.py
shekharsorot Mar 5, 2025
34248f4
Update xfstests.py
shekharsorot Mar 5, 2025
ae92745
Update xfstests.py
shekharsorot Mar 5, 2025
355c35a
Update xfstests.py
shekharsorot Mar 5, 2025
05db5fd
Update xfstests.py
shekharsorot Mar 5, 2025
6816384
update XFSTesting and Xfstests tool
shekharsorot Mar 7, 2025
2a21ea9
Update xfstesting.py
shekharsorot Mar 7, 2025
d3310b3
Update xfstesting.py
shekharsorot Mar 7, 2025
4af62d6
Update xfstesting.py
shekharsorot Mar 7, 2025
4136441
Update xfstesting.py
shekharsorot Mar 7, 2025
bd5b9d1
Update xfstesting.py
shekharsorot Mar 8, 2025
c0576f5
Update xfstesting.py
shekharsorot Mar 8, 2025
4ca5981
Update xfstests.py
shekharsorot Mar 8, 2025
0cee73c
Update xfstesting.py
shekharsorot Mar 11, 2025
04d64bb
Update xfstesting.py
shekharsorot Mar 11, 2025
aeaf073
fixes and optimizations
shekharsorot Mar 11, 2025
11fec9d
fix for long running disk tests
shekharsorot Mar 12, 2025
141a985
syntax fix for CIFS, forcing test group for all other cases
shekharsorot Mar 12, 2025
5ed62f4
Update xfstesting.py
shekharsorot Mar 12, 2025
f14cbe8
performance fixes for diagnostics message generation
shekharsorot Mar 13, 2025
41eb6fb
move generic 586 for Azfiles to excluded list
shekharsorot Mar 13, 2025
6360ad7
reducing timeout back to 4 hours
shekharsorot Mar 14, 2025
31949fe
fixed issue of >6 return statements in create_xfstest_stack_info()
shekharsorot Mar 16, 2025
755039c
remove type_checking for xfstests.py tool
shekharsorot Mar 18, 2025
4a4ab64
add note for device ID for mount points
shekharsorot Mar 18, 2025
40412e7
Flake8 fix and AZfiles test priority change
shekharsorot Mar 19, 2025
e12eed1
fix for Azure files SMB multi channel + share def changes to accept l…
shekharsorot Mar 20, 2025
ba402d9
Update xfstests.py
shekharsorot Mar 20, 2025
b29dabe
Update xfstesting.py
shekharsorot Mar 25, 2025
a5e7052
Minor bug fix due to un-intended except block not correctly reflectin…
shekharsorot Mar 25, 2025
2838830
Update xfstests.py
shekharsorot Mar 25, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Update xfstests.py
shekharsorot committed Mar 5, 2025
commit ad52bbfc3f9db1a28b8846e24ae2a53b3f0818f6
23 changes: 15 additions & 8 deletions lisa/tools/xfstests.py
Original file line number Diff line number Diff line change
@@ -3,7 +3,7 @@
import re
from dataclasses import dataclass
from pathlib import Path, PurePath
from typing import Any, cast, Dict, List, Optional, Type, TYPE_CHECKING
from typing import TYPE_CHECKING, Any, Dict, List, Optional, Type, cast

from assertpy import assert_that

@@ -214,7 +214,7 @@ def run_test(
Defaults to "generic/quick"
note: if specified, test_section must exist in local.config
data_disk: The data disk used for testing
test_cases: The test cases to be run. If empty, all installed test cases
test_cases: The test cases to be run. If empty, all installed test cases
barring exclude.txt entries are run
timeout: The time in seconds after which the test will be timed out.
Defaults to 4 hours.
@@ -267,7 +267,7 @@ def _initialize(self, *args: Any, **kwargs: Any) -> None:
def _install_dep(self) -> None:
"""
About: This method will install dependencies based on OS.
Dependencies are fetched from the common arrays such as
Dependencies are fetched from the common arrays such as
common_dep, debian_dep, fedora_dep, suse_dep, mariner_dep.
If the OS is not supported, a LisaException is raised.
"""
@@ -359,7 +359,11 @@ def _add_test_users(self) -> None:
self.node.execute("useradd 123456-fsgqa", sudo=True)
self.node.execute("useradd fsgqa2", sudo=True)

def _install(self, branch: Optional[str] = None, repo: Optional[str] = None) -> bool:
def _install(
self,
branch: Optional[str] = None,
repo: Optional[str] = None,
) -> bool:
"""
About:This method will download and install XFSTest on a given node.
Supported OS are Redhat, Debian, Suse, Ubuntu and CBLMariner3.
@@ -445,7 +449,7 @@ def set_local_config(
additional_parameters={"TEST_DEV2": "/dev/sdd"},
overwrite_config=True
)
Note: This method will by default enforce dmesg logging.
Note: This method will by default enforce dmesg logging.
All tests will have a corresponding dmesg log file in output folder.
"""
xfstests_path = self.get_xfstests_path()
@@ -454,7 +458,8 @@ def set_local_config(
if overwrite_config and self.node.shell.exists(config_path):
self.node.shell.remove(config_path)
# If groupname is not provided, use Filesystem name.
# Warning !!!: if you create multiple sections, specify unique group names for each
# Warning !!!: if you create multiple sections,
# you must specify unique group names for each
if not test_section:
test_section = file_system
echo = self.node.tools[Echo]
@@ -837,8 +842,10 @@ def create_xfstest_stack_info(
fail_out = result_path / f"{test_id}.out.bad"
# check of "full_out" and "fail_out" file exists
# Only then call diff tool.
if ((self.node.tools[Ls].path_exists(str(full_out), sudo=True)) and
(self.node.tools[Ls].path_exists(str(fail_out), sudo=True))):
if (
(self.node.tools[Ls].path_exists(str(full_out), sudo=True))
and (self.node.tools[Ls].path_exists(str(fail_out), sudo=True))
):
diff_result = self.node.tools[Diff].comparefiles(
src=full_out,
dest=fail_out,