-
Notifications
You must be signed in to change notification settings - Fork 23
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
issue: 4197123: Add Pytest to the workflow of the LogAnalyzer + issue…
…: 4197133: Add Pytest (#287) * test * add pytest to requirments * test * add tests * add insall requierments to workflow * add copyright * fix comments * fix comments * fix comments * fix pytest path * fix comments * fix comments * fix comments * fix comments
- Loading branch information
1 parent
658e078
commit 38fb20b
Showing
8 changed files
with
145 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
# @copyright: | ||
# Copyright © 2013-2024 NVIDIA CORPORATION & AFFILIATES. ALL RIGHTS RESERVED. | ||
|
||
# This software product is a proprietary product of Nvidia Corporation and its affiliates | ||
# (the "Company") and all right, title, and interest in and to the | ||
# software product, including all associated intellectual property rights, | ||
# are and shall remain exclusively with the Company. | ||
|
||
# This software product is governed by the End User License Agreement | ||
# provided with the software product. | ||
|
||
# @author: Miryam Schwartz | ||
# @date: Dec 08, 2024 | ||
|
||
import sys | ||
import os | ||
|
||
sys.path.append(os.getcwd() + "/src") # Add the src directory containing loganalyze | ||
sys.path.append("/".join(os.getcwd().split("/")[:-2])) # Add the root project directory |
36 changes: 36 additions & 0 deletions
36
plugins/ufm_log_analyzer_plugin/unit_tests/test_ibdiagnet_log_analyzer.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
# @copyright: | ||
# Copyright © 2013-2024 NVIDIA CORPORATION & AFFILIATES. ALL RIGHTS RESERVED. | ||
|
||
# This software product is a proprietary product of Nvidia Corporation and its affiliates | ||
# (the "Company") and all right, title, and interest in and to the | ||
# software product, including all associated intellectual property rights, | ||
# are and shall remain exclusively with the Company. | ||
|
||
# This software product is governed by the End User License Agreement | ||
# provided with the software product. | ||
|
||
# @author: Miryam Schwartz | ||
# @date: Dec 08, 2024 | ||
|
||
import pytest | ||
|
||
from loganalyze.log_analyzers.ibdiagnet_log_analyzer import IBDIAGNETLogAnalyzer | ||
|
||
# Define a test-specific subclass | ||
class TestIBDIAGNETLogAnalyzer(IBDIAGNETLogAnalyzer): | ||
def __init__(self, fabric_size_data): | ||
# Do not call the parent constructor, set up only what's needed for the test | ||
self._log_data_sorted = fabric_size_data | ||
|
||
@pytest.fixture | ||
def fabric_size_data(): | ||
# Shared mock data | ||
return {"switch_count": 10, "link_count": 50} | ||
|
||
@pytest.fixture | ||
def analyzer(fabric_size_data): | ||
return TestIBDIAGNETLogAnalyzer(fabric_size_data) | ||
|
||
def test_get_fabric_size(analyzer, fabric_size_data): | ||
result = analyzer.get_fabric_size() | ||
assert result == fabric_size_data, "get_fabric_size should return _log_data_sorted" |
39 changes: 39 additions & 0 deletions
39
plugins/ufm_log_analyzer_plugin/unit_tests/test_ufm_top_analyzer.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
# @copyright: | ||
# Copyright © 2013-2024 NVIDIA CORPORATION & AFFILIATES. ALL RIGHTS RESERVED. | ||
|
||
# This software product is a proprietary product of Nvidia Corporation and its affiliates | ||
# (the "Company") and all right, title, and interest in and to the | ||
# software product, including all associated intellectual property rights, | ||
# are and shall remain exclusively with the Company. | ||
|
||
# This software product is governed by the End User License Agreement | ||
# provided with the software product. | ||
|
||
# @author: Miryam Schwartz | ||
# @date: Dec 08, 2024 | ||
|
||
import pytest | ||
|
||
from loganalyze.log_analyzers.ufm_top_analyzer import UFMTopAnalyzer | ||
|
||
@pytest.fixture | ||
def analyzer(): | ||
# Fixture to initialize the analyzer object | ||
return UFMTopAnalyzer() | ||
|
||
def test_add_analyzer(analyzer): | ||
mock_analyzer_1 = "Analyzer1" | ||
mock_analyzer_2 = "Analyzer2" | ||
|
||
# Initially, the list should be empty | ||
assert len(analyzer._analyzers) == 0 | ||
|
||
# Add first analyzer and check the length | ||
analyzer.add_analyzer(mock_analyzer_1) | ||
assert len(analyzer._analyzers) == 1 | ||
assert mock_analyzer_1 in analyzer._analyzers | ||
|
||
# Add second analyzer and check the updated length | ||
analyzer.add_analyzer(mock_analyzer_2) | ||
assert len(analyzer._analyzers) == 2 | ||
assert mock_analyzer_2 in analyzer._analyzers |