33# covers detailed check of API states, etc.
44import sys , os , itertools , threading
55from time import perf_counter
6- import dss
7- from dss import DSS , IDSS , DSSException , SparseSolverOptions , SolveModes , set_case_insensitive_attributes , DSSCompatFlags
8- import numpy as np
9- import pytest
106try :
117 from ._settings import BASE_DIR , ZIP_FN , WIN32
128except ImportError :
139 from _settings import BASE_DIR , ZIP_FN , WIN32
1410
11+ if WIN32 :
12+ # When running pytest, the faulthandler seems to eager to grab FPC's exceptions, even when handled
13+ import faulthandler
14+ faulthandler .disable ()
15+ import dss
16+ faulthandler .enable ()
17+ else :
18+ import dss
19+
20+ from dss import DSS , IDSS , DSSException , SparseSolverOptions , SolveModes , set_case_insensitive_attributes , DSSCompatFlags
21+ import numpy as np
22+ import pytest
23+
1524
1625def setup_function ():
1726 DSS .ClearAll ()
@@ -589,10 +598,10 @@ def test_essentials(DSS: IDSS = DSS):
589598 Text .Command = 'new line.line1 bus=1 bus2=2'
590599 Text .Command = 'new line.line2 bus=2 bus2=3'
591600 assert DSS .ActiveCircuit .Name == 'test789'
592- assert len (DSS .ActiveCircuit .Buses ) == 0
601+ assert len (DSS .ActiveCircuit .ActiveBus ) == 0
593602 Text .Command = 'MakeBusList'
594- assert len (DSS .ActiveCircuit .Buses ) == 4
595- for expected , b in zip (['sourcebus' , '1' , '2' , '3' ], DSS .ActiveCircuit .Buses ):
603+ assert len (DSS .ActiveCircuit .ActiveBus ) == 4
604+ for expected , b in zip (['sourcebus' , '1' , '2' , '3' ], DSS .ActiveCircuit .ActiveBus ):
596605 assert expected == b .Name
597606
598607
@@ -605,7 +614,8 @@ def test_patch_comtypes():
605614def test_patch_win32com ():
606615 if WIN32 :
607616 import win32com .client
608- DSS_COM = dss .patch_dss_com (win32com .client .Dispatch ("OpenDSSengine.DSS" ))
617+ win32com .client .Dispatch ("OpenDSSengine.DSS" )
618+ DSS_COM = dss .patch_dss_com (win32com .client .gencache .EnsureDispatch ("OpenDSSengine.DSS" ))
609619 test_essentials (DSS_COM )
610620
611621if __name__ == '__main__' :
0 commit comments