@@ -90,25 +90,48 @@ def do_flush(neb_uart):
9090# @pytest.fixture(scope="module")
9191@pytest .fixture (scope = "session" )
9292def power_supply (parse_instruments ):
93- if "E36233A" not in parse_instruments .keys ():
94- pytest .skip ("E36233A not found. Skipping test" )
95- address = parse_instruments ["E36233A" ]
96- powerSupply = E36233A (address )
97- powerSupply .connect ()
98-
99- powerSupply .first_boot_powered = False
100- # powerSupply.first_boot_powered = True
101-
102- # Turn system off initially
103- powerSupply .ch1 .output_enabled = False
104- # powerSupply.ch2.output_enabled = False
93+
94+ neb_manager = nebula .manager (
95+ configfilename = config_file_zu4eg , board_name = "zu4eg-washington"
96+ )
97+ pdu = neb_manager .power is not None
98+
99+ instrument = "E36233A" in parse_instruments .keys ()
100+
101+ if not instrument and not pdu :
102+ pytest .skip ("Power supply not found. Skipping test" )
103+
104+ if instrument :
105+ address = parse_instruments ["E36233A" ]
106+ powerSupply = E36233A (address )
107+ powerSupply .connect ()
108+
109+ powerSupply .first_boot_powered = False
110+ # powerSupply.first_boot_powered = True
111+
112+ # Turn system off initially
113+ powerSupply .ch1 .output_enabled = False
114+ # powerSupply.ch2.output_enabled = False
115+
116+ yield powerSupply
117+
118+ else :
119+ neb_manager .power .power_down_board ()
120+ neb_manager .first_boot_powered = False
121+ # del neb_manager
122+
123+ yield neb_manager
124+
105125 time .sleep (5 )
106126
107- yield powerSupply
127+
108128
109129 logger .info ("Powering down supply" )
110130 time .sleep (5 )
111- powerSupply .ch1 .output_enabled = False
131+ if not pdu :
132+ powerSupply .ch1 .output_enabled = False
133+ else :
134+ neb_manager .power .power_down_board ()
112135 time .sleep (2 )
113136
114137# @pytest.fixture
@@ -140,8 +163,11 @@ def nebula_boot_adsy1100_ethernet(request, power_supply):
140163 if not power_supply .first_boot_powered :
141164 power_supply .first_boot_powered = True
142165 logger .info ("Power cycling for first boot" )
143- power_supply .ch1 .output_enabled = True
144- # # power_supply.ch2.output_enabled = True
166+ if hasattr (power_supply , "ch1" ):
167+ power_supply .ch1 .output_enabled = True
168+ # # power_supply.ch2.output_enabled = True
169+ else :
170+ power_supply .power .power_up_board ()
145171
146172 # wait for linux to boot
147173 # neb_manager.monitor[0].print_to_console = True
@@ -238,7 +264,7 @@ def nebula_boot_adsy1100_ethernet(request, power_supply):
238264 neb_manager .network_check ()
239265
240266 # Take power measurement
241- pre_measure = measure_power (power_supply )
267+ # pre_measure = measure_power(power_supply)
242268 # record_property("pre_measure", pre_measure)
243269
244270 # Load selmap overlay
@@ -293,8 +319,9 @@ def test_boot(self, nebula_boot_adsy1100_ethernet, power_supply, record_property
293319 params , neb_manager = nebula_boot_adsy1100_ethernet
294320
295321 # Check power
296- post_measure = measure_power (power_supply )
297- record_property ("post_measure" , post_measure )
322+ if hasattr (power_supply , "ch1" ):
323+ post_measure = measure_power (power_supply )
324+ record_property ("post_measure" , post_measure )
298325
299326 # Get dmesg
300327 dmesg = neb_manager .net .run_ssh_command ("dmesg" , show_log = False )
0 commit comments