Skip to content

Commit 8cabdd2

Browse files
authored
Refactored Unit Test Startup and Teardown (#916)
* Refactored Unit Test Start * Fixed Flake8 * Added group_name setter and corrected group_name getter * Added group_name setter and corrected group_name getter Co-authored-by: maxcapodi78 <Shark78>
1 parent 7202b92 commit 8cabdd2

File tree

8 files changed

+54
-58
lines changed

8 files changed

+54
-58
lines changed

_unittest/conftest.py

Lines changed: 34 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -85,27 +85,40 @@ def my_setup(self):
8585
self.aedtapps = []
8686
self.edbapps = []
8787

88-
def my_teardown(self):
89-
try:
90-
oDesktop = sys.modules["__main__"].oDesktop
91-
except Exception as e:
92-
oDesktop = None
93-
if oDesktop:
94-
oDesktop.ClearMessages("", "", 3)
95-
for edbapp in self.edbapps[::-1]:
96-
try:
97-
edbapp.close_edb()
98-
except:
99-
pass
100-
del self.edbapps
101-
for aedtapp in self.aedtapps[::-1]:
88+
def my_teardown(self, close_desktop=False):
89+
if close_desktop and not is_ironpython:
90+
if self.aedtapps:
91+
self.aedtapps[0].release_desktop()
92+
else:
93+
d = Desktop(desktop_version, non_graphical, False)
94+
d.release_desktop()
95+
del d
96+
del self.aedtapps
97+
del self.edbapps
98+
else:
10299
try:
103-
aedtapp.close_project(None, False)
104-
except:
105-
pass
106-
del self.aedtapps
100+
oDesktop = sys.modules["__main__"].oDesktop
101+
except Exception as e:
102+
oDesktop = None
103+
if oDesktop:
104+
oDesktop.ClearMessages("", "", 3)
105+
for edbapp in self.edbapps[::-1]:
106+
try:
107+
edbapp.close_edb()
108+
except:
109+
pass
110+
del self.edbapps
111+
for aedtapp in self.aedtapps[::-1]:
112+
try:
113+
aedtapp.close_project(None, False)
114+
except:
115+
pass
116+
del self.aedtapps
107117

108118
def add_app(self, project_name=None, design_name=None, solution_type=None, application=None):
119+
if "oDesktop" not in dir(sys.modules["__main__"]):
120+
desktop = Desktop(desktop_version, non_graphical, new_thread)
121+
desktop.disable_autosave()
109122
if project_name:
110123
example_project = os.path.join(local_path, "example_models", project_name + ".aedt")
111124
example_folder = os.path.join(local_path, "example_models", project_name + ".aedb")
@@ -172,16 +185,10 @@ def setup(self):
172185

173186
@pytest.fixture(scope="session", autouse=True)
174187
def desktop_init():
175-
desktop = Desktop(desktop_version, non_graphical, new_thread)
176-
desktop.disable_autosave()
177-
yield desktop
178-
179-
# If new_thread is set to false by a local_config, then don't close the desktop.
180-
# Intended for local debugging purposes only
181-
if new_thread or os.name == "posix":
182-
desktop.close_desktop()
188+
189+
yield
190+
183191
p = [x[0] for x in os.walk(scratch_path) if "scratch" in x[0]]
184-
# p = pathlib.Path(scratch_path).glob('**/scratch*')
185192
for folder in p:
186193
shutil.rmtree(folder, ignore_errors=True)
187194

File renamed without changes.

_unittest/test_06_MessageManager.py

Lines changed: 19 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,9 @@
22
import logging
33

44
from pyaedt.application.MessageManager import AEDTMessageManager
5-
from pyaedt.generic.filesystem import Scratch
6-
from pyaedt.hfss import Hfss
75

86
# Import required modules
9-
from _unittest.conftest import config, scratch_path, BasisTest, desktop_version
7+
from _unittest.conftest import config, BasisTest
108

119
try:
1210
import pytest
@@ -19,36 +17,27 @@
1917
class TestClass(BasisTest, object):
2018
def setup_class(self):
2119
BasisTest.my_setup(self)
22-
with Scratch(scratch_path) as self.local_scratch:
23-
24-
# Test the global _messenger before opening the desktop
25-
msg = AEDTMessageManager()
26-
msg.clear_messages()
27-
msg.add_info_message("Test desktop level - Info")
28-
msg.add_info_message("Test desktop level - Info", level="Design")
29-
msg.add_info_message("Test desktop level - Info", level="Project")
30-
msg.add_info_message("Test desktop level - Info", level="Global")
31-
# assert len(msg.messages.global_level) == 4
32-
# assert len(msg.messages.project_level) == 0
33-
# assert len(msg.messages.design_level) == 0
34-
# assert len(msg.messages.global_level) == 0
35-
# assert len(msg.messages.project_level) == 0
36-
# assert len(msg.messages.design_level) == 0
37-
msg.clear_messages(level=0)
38-
39-
self.aedtapp = Hfss(specified_version=desktop_version)
40-
msg.clear_messages(level=3)
20+
# Test the global _messenger before opening the desktop
21+
msg = AEDTMessageManager()
22+
msg.clear_messages()
23+
msg.add_info_message("Test desktop level - Info")
24+
msg.add_info_message("Test desktop level - Info", level="Design")
25+
msg.add_info_message("Test desktop level - Info", level="Project")
26+
msg.add_info_message("Test desktop level - Info", level="Global")
27+
# assert len(msg.messages.global_level) == 4
28+
# assert len(msg.messages.project_level) == 0
29+
# assert len(msg.messages.design_level) == 0
30+
# assert len(msg.messages.global_level) == 0
31+
# assert len(msg.messages.project_level) == 0
32+
# assert len(msg.messages.design_level) == 0
33+
msg.clear_messages(level=0)
34+
BasisTest.add_app(self)
35+
msg.clear_messages(level=3)
4136

4237
def teardown_class(self):
4338
BasisTest.my_teardown(self)
4439

45-
def test_00_test_global_messenger(self):
46-
# TODO: close_project causes a crash ... refactor the project/desktop stuff !
47-
# self.aedtapp.close_project()
48-
# self.aedtapp = Hfss()
49-
pass
50-
51-
@pytest.mark.skipif(config["build_machine"] == True, reason="Issue on Build machine")
40+
@pytest.mark.skipif(config["build_machine"], reason="Issue on Build machine")
5241
def test_01_get_messages(self): # pragma: no cover
5342
msg = self.aedtapp._messenger
5443
msg.clear_messages(level=3)
@@ -60,7 +49,7 @@ def test_01_get_messages(self): # pragma: no cover
6049
assert len(msg.messages.design_level) >= 1
6150
pass
6251

63-
@pytest.mark.skipif(config["build_machine"] == True, reason="Issue on Build machine")
52+
@pytest.mark.skipif(config["build_machine"], reason="Issue on Build machine")
6453
def test_02_messaging(self): # pragma: no cover
6554
msg = self.aedtapp._messenger
6655
msg.clear_messages(level=3)

_unittest/test_98_Icepak.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ def setup_class(self):
4040
self.local_scratch.copyfile(project_path)
4141

4242
def teardown_class(self):
43-
BasisTest.my_teardown(self)
43+
BasisTest.my_teardown(self, True)
4444

4545
def test_01_save(self):
4646
self.aedtapp.save_project()

0 commit comments

Comments
 (0)