11
11
12
12
import pytest
13
13
from common .nicctl import Nicctl
14
- from create_pcap_file .ramdisk import RamdiskPreparer
15
14
from mfd_common_libs .custom_logger import add_logging_level
16
15
from mfd_common_libs .log_levels import TEST_FAIL , TEST_INFO , TEST_PASS
17
16
from mfd_connect .exceptions import ConnectionCalledProcessError
@@ -138,29 +137,21 @@ def prepare_ramdisk(hosts, test_config):
138
137
ramdisk_cfg = test_config .get ("ramdisk" , {})
139
138
capture_cfg = test_config .get ("capture_cfg" , {})
140
139
pcap_dir = ramdisk_cfg .get ("pcap_dir" , "/home/pcap_files" )
141
- tmpfs_size = ramdisk_cfg .get ("tmpfs_size" , "768G" )
142
- tmpfs_name = ramdisk_cfg .get ("tmpfs_name" , "new_disk_name" )
143
- use_sudo = ramdisk_cfg .get ("use_sudo" , True )
140
+ tmpfs_size_gib = ramdisk_cfg .get ("tmpfs_size_gib" , "768" )
144
141
145
142
if capture_cfg .get ("enable" , False ):
146
- for host in hosts .values ():
147
- preparer = RamdiskPreparer (
148
- host = host ,
149
- pcap_dir = pcap_dir ,
150
- tmpfs_size = tmpfs_size ,
151
- tmpfs_name = tmpfs_name ,
152
- use_sudo = use_sudo ,
153
- )
154
- preparer .start ()
143
+ ramdisks = [Ramdisk (host = host , mount_point = pcap_dir , size_gib = tmpfs_size_gib ) for host in hosts .values ()]
144
+ for ramdisk in ramdisks :
145
+ ramdisk .mount ()
155
146
156
147
157
148
@pytest .fixture (scope = "session" )
158
149
def media_ramdisk (hosts , test_config ):
150
+ ramdisk_config = test_config .get ("ramdisk" , {}).get ("media" , {})
151
+ ramdisk_mountpoint = ramdisk_config .get ("mountpoint" , "/mnt/ramdisk/media" )
152
+ ramdisk_size_gib = ramdisk_config .get ("size_gib" , 32 )
159
153
ramdisks = [
160
- Ramdisk (
161
- host = host , mount_point = test_config ["media_ramdisk_mountpoint" ], size_gib = 32
162
- )
163
- for host in hosts .values ()
154
+ Ramdisk (host = host , mount_point = ramdisk_mountpoint , size_gib = ramdisk_size_gib ) for host in hosts .values ()
164
155
]
165
156
for ramdisk in ramdisks :
166
157
ramdisk .mount ()
@@ -172,42 +163,31 @@ def media_ramdisk(hosts, test_config):
172
163
@pytest .fixture (scope = "function" )
173
164
def media_file (media_ramdisk , request , hosts , test_config ):
174
165
media_file_info = request .param
175
- src_media_file_path = os .path .join (
176
- test_config ["media_path" ], media_file_info ["filename" ]
177
- )
178
- ramdisk_media_file_path = os .path .join (
179
- test_config ["media_ramdisk_mountpoint" ], media_file_info ["filename" ]
180
- )
166
+ ramdisk_config = test_config .get ("ramdisk" , {}).get ("media" , {})
167
+ ramdisk_mountpoint = ramdisk_config .get ("mountpoint" , "/mnt/ramdisk/media" )
168
+ media_path = test_config .get ("media_path" , "/mnt/media" )
169
+ src_media_file_path = os .path .join (media_path , media_file_info ["filename" ])
170
+ ramdisk_media_file_path = os .path .join (ramdisk_mountpoint , media_file_info ["filename" ])
181
171
for host in hosts .values ():
182
172
cmd = f"cp { src_media_file_path } { ramdisk_media_file_path } "
183
173
try :
184
174
host .connection .execute_command (cmd )
185
175
except ConnectionCalledProcessError as e :
186
- logging .log (
187
- level = logging .ERROR , msg = f"Failed to execute command { cmd } : { e } "
188
- )
176
+ logging .log (level = logging .ERROR , msg = f"Failed to execute command { cmd } : { e } " )
189
177
yield media_file_info , ramdisk_media_file_path
190
178
for host in hosts .values ():
191
179
cmd = f"rm { ramdisk_media_file_path } "
192
180
try :
193
181
host .connection .execute_command (cmd )
194
182
except ConnectionCalledProcessError as e :
195
- logging .log (
196
- level = logging .ERROR , msg = f"Failed to execute command { cmd } : { e } "
197
- )
183
+ logging .log (level = logging .ERROR , msg = f"Failed to execute command { cmd } : { e } " )
198
184
199
185
200
186
def pytest_addoption (parser ):
201
- parser .addoption (
202
- "--keep" , help = "keep result media files: all, failed, none (default)"
203
- )
204
- parser .addoption (
205
- "--dmesg" , help = "method of dmesg gathering: clear (dmesg -C), keep (default)"
206
- )
187
+ parser .addoption ("--keep" , help = "keep result media files: all, failed, none (default)" )
188
+ parser .addoption ("--dmesg" , help = "method of dmesg gathering: clear (dmesg -C), keep (default)" )
207
189
parser .addoption ("--media" , help = "path to media asset (default /mnt/media)" )
208
- parser .addoption (
209
- "--build" , help = "path to build (default ../Media-Transport-Library)"
210
- )
190
+ parser .addoption ("--build" , help = "path to build (default ../Media-Transport-Library)" )
211
191
parser .addoption ("--nic" , help = "list of PCI IDs of network devices" )
212
192
parser .addoption ("--dma" , help = "list of PCI IDs of DMA devices" )
213
193
parser .addoption ("--time" , help = "seconds to run every test (default=15)" )
@@ -261,9 +241,7 @@ def log_case(request, caplog: pytest.LogCaptureFixture):
261
241
os .makedirs (os .path .join (LOG_FOLDER , "latest" , case_folder ), exist_ok = True )
262
242
logfile = os .path .join (LOG_FOLDER , "latest" , f"{ case_id } .log" )
263
243
fh = logging .FileHandler (logfile )
264
- formatter = request .session .config .pluginmanager .get_plugin (
265
- "logging-plugin"
266
- ).formatter
244
+ formatter = request .session .config .pluginmanager .get_plugin ("logging-plugin" ).formatter
267
245
format = AmberLogFormatter (formatter )
268
246
fh .setFormatter (format )
269
247
fh .setLevel (logging .DEBUG )
0 commit comments