12
12
sys .path .append ("scripts" )
13
13
import coredump_gen_handler as cdump_mod
14
14
15
+ AUTO_TS_STDOUT = """
16
+ Techsupport is running with silent option. This command might take a long time.
17
+ The SAI dump is generated to /tmp/saisdkdump/sai_sdk_dump_11_22_2021_11_07_PM
18
+ /tmp/saisdkdump
19
+ """
15
20
16
21
def set_auto_ts_cfg (redis_mock , state = "disabled" ,
17
22
rate_limit_interval = "0" ,
@@ -74,12 +79,13 @@ def test_invoc_ts_state_db_update(self):
74
79
populate_state_db (redis_mock )
75
80
with Patcher () as patcher :
76
81
def mock_cmd (cmd , env ):
82
+ ts_dump = "/var/dump/sonic_dump_random3.tar.gz"
77
83
cmd_str = " " .join (cmd )
78
84
if "show techsupport" in cmd_str :
79
- patcher .fs .create_file ("/var/dump/sonic_dump_random3.tar.gz" )
85
+ patcher .fs .create_file (ts_dump )
80
86
else :
81
87
return 1 , "" , "Command Not Found"
82
- return 0 , "" , ""
88
+ return 0 , AUTO_TS_STDOUT + ts_dump , ""
83
89
cdump_mod .subprocess_exec = mock_cmd
84
90
patcher .fs .create_file ("/var/dump/sonic_dump_random1.tar.gz" )
85
91
patcher .fs .create_file ("/var/dump/sonic_dump_random2.tar.gz" )
@@ -105,12 +111,13 @@ def test_global_rate_limit_interval(self):
105
111
populate_state_db (redis_mock )
106
112
with Patcher () as patcher :
107
113
def mock_cmd (cmd , env ):
114
+ ts_dump = "/var/dump/sonic_dump_random3.tar.gz"
108
115
cmd_str = " " .join (cmd )
109
116
if "show techsupport" in cmd_str :
110
- patcher .fs .create_file ("/var/dump/sonic_dump_random3.tar.gz" )
117
+ patcher .fs .create_file (ts_dump )
111
118
else :
112
119
return 1 , "" , "Command Not Found"
113
- return 0 , "" , ""
120
+ return 0 , AUTO_TS_STDOUT + ts_dump , ""
114
121
cdump_mod .subprocess_exec = mock_cmd
115
122
patcher .fs .create_file ("/var/dump/sonic_dump_random1.tar.gz" )
116
123
patcher .fs .create_file ("/var/dump/sonic_dump_random2.tar.gz" )
@@ -138,12 +145,13 @@ def test_per_container_rate_limit_interval(self):
138
145
"orchagent;{};swss" .format (int (time .time ()))})
139
146
with Patcher () as patcher :
140
147
def mock_cmd (cmd , env ):
148
+ ts_dump = "/var/dump/sonic_dump_random3.tar.gz"
141
149
cmd_str = " " .join (cmd )
142
150
if "show techsupport" in cmd_str :
143
- patcher .fs .create_file ("/var/dump/sonic_dump_random3.tar.gz" )
151
+ patcher .fs .create_file (ts_dump )
144
152
else :
145
153
return 1 , "" , "Command Not Found"
146
- return 0 , "" , ""
154
+ return 0 , AUTO_TS_STDOUT + ts_dump , ""
147
155
cdump_mod .subprocess_exec = mock_cmd
148
156
patcher .fs .create_file ("/var/dump/sonic_dump_random1.tar.gz" )
149
157
patcher .fs .create_file ("/var/core/orchagent.12345.123.core.gz" )
@@ -167,12 +175,13 @@ def test_invoc_ts_after_rate_limit_interval(self):
167
175
"orchagent;{};swss" .format (int (time .time ()))})
168
176
with Patcher () as patcher :
169
177
def mock_cmd (cmd , env ):
178
+ ts_dump = "/var/dump/sonic_dump_random3.tar.gz"
170
179
cmd_str = " " .join (cmd )
171
180
if "show techsupport" in cmd_str :
172
- patcher .fs .create_file ("/var/dump/sonic_dump_random3.tar.gz" )
181
+ patcher .fs .create_file (ts_dump )
173
182
else :
174
183
return 1 , "" , "Command Not Found"
175
- return 0 , "" , ""
184
+ return 0 , AUTO_TS_STDOUT + ts_dump , ""
176
185
cdump_mod .subprocess_exec = mock_cmd
177
186
patcher .fs .create_file ("/var/dump/sonic_dump_random1.tar.gz" )
178
187
patcher .fs .create_file ("/var/dump/sonic_dump_random2.tar.gz" )
@@ -197,12 +206,13 @@ def test_core_dump_with_invalid_container_name(self):
197
206
populate_state_db (redis_mock , {})
198
207
with Patcher () as patcher :
199
208
def mock_cmd (cmd , env ):
209
+ ts_dump = "/var/dump/sonic_dump_random3.tar.gz"
200
210
cmd_str = " " .join (cmd )
201
211
if "show techsupport" in cmd_str :
202
- patcher .fs .create_file ("/var/dump/sonic_dump_random3.tar.gz" )
212
+ patcher .fs .create_file (ts_dump )
203
213
else :
204
214
return 1 , "" , "Command Not Found"
205
- return 0 , "" , ""
215
+ return 0 , AUTO_TS_STDOUT + ts_dump , ""
206
216
cdump_mod .subprocess_exec = mock_cmd
207
217
patcher .fs .create_file ("/var/dump/sonic_dump_random1.tar.gz" )
208
218
patcher .fs .create_file ("/var/core/snmpd.12345.123.core.gz" )
@@ -225,12 +235,13 @@ def test_feature_table_not_set(self):
225
235
populate_state_db (redis_mock , {})
226
236
with Patcher () as patcher :
227
237
def mock_cmd (cmd , env ):
238
+ ts_dump = "/var/dump/sonic_dump_random3.tar.gz"
228
239
cmd_str = " " .join (cmd )
229
240
if "show techsupport" in cmd_str :
230
- patcher .fs .create_file ("/var/dump/sonic_dump_random3.tar.gz" )
241
+ patcher .fs .create_file (ts_dump )
231
242
else :
232
243
return 1 , "" , "Command Not Found"
233
- return 0 , "" , ""
244
+ return 0 , AUTO_TS_STDOUT + ts_dump , ""
234
245
cdump_mod .subprocess_exec = mock_cmd
235
246
patcher .fs .create_file ("/var/dump/sonic_dump_random1.tar.gz" )
236
247
patcher .fs .create_file ("/var/core/python3.12345.123.core.gz" )
@@ -251,10 +262,11 @@ def test_since_argument(self):
251
262
populate_state_db (redis_mock )
252
263
with Patcher () as patcher :
253
264
def mock_cmd (cmd , env ):
265
+ ts_dump = "/var/dump/sonic_dump_random3.tar.gz"
254
266
cmd_str = " " .join (cmd )
255
- if "show techsupport --since '4 days ago'" in cmd_str :
256
- patcher .fs .create_file ("/var/dump/sonic_dump_random3.tar.gz" )
257
- return 0 , "" , ""
267
+ if "--since '4 days ago'" in cmd_str :
268
+ patcher .fs .create_file (ts_dump )
269
+ return 0 , AUTO_TS_STDOUT + ts_dump , ""
258
270
elif "date --date='4 days ago'" in cmd_str :
259
271
return 0 , "" , ""
260
272
else :
@@ -284,12 +296,13 @@ def test_masic_core_dump(self):
284
296
populate_state_db (redis_mock )
285
297
with Patcher () as patcher :
286
298
def mock_cmd (cmd , env ):
299
+ ts_dump = "/var/dump/sonic_dump_random3.tar.gz"
287
300
cmd_str = " " .join (cmd )
288
301
if "show techsupport" in cmd_str :
289
- patcher .fs .create_file ("/var/dump/sonic_dump_random3.tar.gz" )
302
+ patcher .fs .create_file (ts_dump )
290
303
else :
291
304
return 1 , "" , "Command Not Found"
292
- return 0 , "" , ""
305
+ return 0 , AUTO_TS_STDOUT + ts_dump , ""
293
306
cdump_mod .subprocess_exec = mock_cmd
294
307
patcher .fs .create_file ("/var/dump/sonic_dump_random1.tar.gz" )
295
308
patcher .fs .create_file ("/var/dump/sonic_dump_random2.tar.gz" )
@@ -315,10 +328,12 @@ def test_invalid_since_argument(self):
315
328
populate_state_db (redis_mock )
316
329
with Patcher () as patcher :
317
330
def mock_cmd (cmd , env ):
331
+ ts_dump = "/var/dump/sonic_dump_random3.tar.gz"
318
332
cmd_str = " " .join (cmd )
319
- if "show techsupport --since '2 days ago'" in cmd_str :
320
- patcher .fs .create_file ("/var/dump/sonic_dump_random3.tar.gz" )
321
- return 0 , "" , ""
333
+ if "--since '2 days ago'" in cmd_str :
334
+ patcher .fs .create_file (ts_dump )
335
+ print (AUTO_TS_STDOUT + ts_dump )
336
+ return 0 , AUTO_TS_STDOUT + ts_dump , ""
322
337
elif "date --date='whatever'" in cmd_str :
323
338
return 1 , "" , "Invalid Date Format"
324
339
else :
@@ -370,7 +385,7 @@ def mock_cmd(cmd, env):
370
385
cmd_str = " " .join (cmd )
371
386
if "show techsupport" in cmd_str :
372
387
patcher .fs .create_file ("/var/dump/sonic_dump_random3.tar.gz" )
373
- return 0 , "" , ""
388
+ return 0 , AUTO_TS_STDOUT + ts_dump , ""
374
389
patcher .fs .set_disk_usage (2000 , path = "/var/core/" )
375
390
patcher .fs .create_file ("/var/core/orchagent.12345.123.core.gz" , st_size = 25 )
376
391
patcher .fs .create_file ("/var/core/lldpmgrd.12345.22.core.gz" , st_size = 25 )
0 commit comments