2
2
import logging
3
3
import os
4
4
import re
5
+ import shutil
5
6
import stat
6
7
import subprocess
7
8
import sys
8
- import shutil
9
9
from io import StringIO
10
10
from pathlib import Path
11
11
from typing import Any , Dict , List , Union , cast
@@ -1066,6 +1066,7 @@ def test_js_console_cmd_line_tool(factor: str) -> None:
1066
1066
)
1067
1067
error_code , _ , stderr = get_main_output (commands )
1068
1068
1069
+ stderr = re .sub (r"\s\s+" , " " , stderr )
1069
1070
assert "[log] Log message" in stderr
1070
1071
assert "[err] Error message" in stderr
1071
1072
@@ -1079,6 +1080,7 @@ def test_no_js_console(factor: str) -> None:
1079
1080
commands .extend (["--no-container" , get_data ("tests/wf/" + test_file )])
1080
1081
_ , _ , stderr = get_main_output (commands )
1081
1082
1083
+ stderr = re .sub (r"\s\s+" , " " , stderr )
1082
1084
assert "[log] Log message" not in stderr
1083
1085
assert "[err] Error message" not in stderr
1084
1086
@@ -1094,6 +1096,7 @@ def test_cid_file_dir(tmp_path: Path, factor: str) -> None:
1094
1096
["--cidfile-dir" , str (tmp_path ), get_data ("tests/wf/" + test_file )]
1095
1097
)
1096
1098
error_code , stdout , stderr = get_main_output (commands )
1099
+ stderr = re .sub (r"\s\s+" , " " , stderr )
1097
1100
assert "completed success" in stderr
1098
1101
assert error_code == 0
1099
1102
cidfiles_count = sum (1 for _ in tmp_path .glob ("**/*" ))
@@ -1112,6 +1115,7 @@ def test_cid_file_dir_arg_is_file_instead_of_dir(tmp_path: Path, factor: str) ->
1112
1115
["--cidfile-dir" , str (bad_cidfile_dir ), get_data ("tests/wf/" + test_file )]
1113
1116
)
1114
1117
error_code , _ , stderr = get_main_output (commands )
1118
+ stderr = re .sub (r"\s\s+" , " " , stderr )
1115
1119
assert "is not a directory, please check it first" in stderr , stderr
1116
1120
assert error_code == 2 or error_code == 1 , stderr
1117
1121
@@ -1132,6 +1136,7 @@ def test_cid_file_non_existing_dir(tmp_path: Path, factor: str) -> None:
1132
1136
]
1133
1137
)
1134
1138
error_code , _ , stderr = get_main_output (commands )
1139
+ stderr = re .sub (r"\s\s+" , " " , stderr )
1135
1140
assert "directory doesn't exist, please create it first" in stderr , stderr
1136
1141
assert error_code == 2 or error_code == 1 , stderr
1137
1142
@@ -1155,6 +1160,7 @@ def test_cid_file_w_prefix(tmp_path: Path, factor: str) -> None:
1155
1160
finally :
1156
1161
listing = tmp_path .iterdir ()
1157
1162
cidfiles_count = sum (1 for _ in tmp_path .glob ("**/pytestcid*" ))
1163
+ stderr = re .sub (r"\s\s+" , " " , stderr )
1158
1164
assert "completed success" in stderr
1159
1165
assert error_code == 0
1160
1166
assert cidfiles_count == 2 , f"{ list (listing )} /n{ stderr } "
@@ -1180,6 +1186,7 @@ def test_secondary_files_v1_1(factor: str) -> None:
1180
1186
# 664 in octal, '-rw-rw-r--'
1181
1187
assert stat .S_IMODE (os .stat ("lsout" ).st_mode ) == 436
1182
1188
os .umask (old_umask ) # revert back to original umask
1189
+ stderr = re .sub (r"\s\s+" , " " , stderr )
1183
1190
assert "completed success" in stderr
1184
1191
assert error_code == 0
1185
1192
@@ -1222,6 +1229,7 @@ def test_secondary_files_v1_0(tmp_path: Path, factor: str) -> None:
1222
1229
]
1223
1230
)
1224
1231
error_code , _ , stderr = get_main_output (commands )
1232
+ stderr = re .sub (r"\s\s+" , " " , stderr )
1225
1233
assert "completed success" in stderr
1226
1234
assert error_code == 0
1227
1235
@@ -1246,6 +1254,7 @@ def test_wf_without_container(tmp_path: Path, factor: str) -> None:
1246
1254
)
1247
1255
error_code , _ , stderr = get_main_output (commands )
1248
1256
1257
+ stderr = re .sub (r"\s\s+" , " " , stderr )
1249
1258
assert "completed success" in stderr
1250
1259
assert error_code == 0
1251
1260
@@ -1260,13 +1269,15 @@ def test_issue_740_fixed(tmp_path: Path, factor: str) -> None:
1260
1269
commands .extend (["--cachedir" , cache_dir , get_data ("tests/wf/" + test_file )])
1261
1270
error_code , _ , stderr = get_main_output (commands )
1262
1271
1272
+ stderr = re .sub (r"\s\s+" , " " , stderr )
1263
1273
assert "completed success" in stderr
1264
1274
assert error_code == 0
1265
1275
1266
1276
commands = factor .split ()
1267
1277
commands .extend (["--cachedir" , cache_dir , get_data ("tests/wf/" + test_file )])
1268
1278
error_code , _ , stderr = get_main_output (commands )
1269
1279
1280
+ stderr = re .sub (r"\s\s+" , " " , stderr )
1270
1281
assert "Output of job will be cached in" not in stderr
1271
1282
assert error_code == 0 , stderr
1272
1283
@@ -1355,6 +1366,7 @@ def test_no_compute_chcksum(tmp_path: Path, factor: str) -> None:
1355
1366
]
1356
1367
)
1357
1368
error_code , stdout , stderr = get_main_output (commands )
1369
+ stderr = re .sub (r"\s\s+" , " " , stderr )
1358
1370
assert "completed success" in stderr
1359
1371
assert error_code == 0
1360
1372
assert "checksum" not in stdout
@@ -1374,6 +1386,7 @@ def test_bad_userspace_runtime(factor: str) -> None:
1374
1386
]
1375
1387
)
1376
1388
error_code , stdout , stderr = get_main_output (commands )
1389
+ stderr = re .sub (r"\s\s+" , " " , stderr )
1377
1390
assert "or quaquioN is missing or broken" in stderr , stderr
1378
1391
assert error_code == 1
1379
1392
@@ -1384,6 +1397,7 @@ def test_bad_basecommand(factor: str) -> None:
1384
1397
commands = factor .split ()
1385
1398
commands .extend ([get_data (test_file )])
1386
1399
error_code , stdout , stderr = get_main_output (commands )
1400
+ stderr = re .sub (r"\s\s+" , " " , stderr )
1387
1401
assert "'neenooGo' not found" in stderr , stderr
1388
1402
assert error_code == 1
1389
1403
@@ -1406,6 +1420,7 @@ def test_v1_0_position_expression(factor: str) -> None:
1406
1420
commands = factor .split ()
1407
1421
commands .extend (["--debug" , get_data (test_file ), get_data (test_job )])
1408
1422
error_code , stdout , stderr = get_main_output (commands )
1423
+ stderr = re .sub (r"\s\s+" , " " , stderr )
1409
1424
assert "is not int" in stderr , stderr
1410
1425
assert error_code == 1
1411
1426
@@ -1430,6 +1445,7 @@ def test_optional_numeric_output_0(factor: str) -> None:
1430
1445
commands .extend ([get_data (test_file )])
1431
1446
error_code , stdout , stderr = get_main_output (commands )
1432
1447
1448
+ stderr = re .sub (r"\s\s+" , " " , stderr )
1433
1449
assert "completed success" in stderr
1434
1450
assert error_code == 0
1435
1451
assert json .loads (stdout )["out" ] == 0
@@ -1463,6 +1479,7 @@ def test_env_filtering(factor: str) -> None:
1463
1479
assert sh_name_b
1464
1480
sh_name = sh_name_b .decode ("utf-8" ).strip ()
1465
1481
1482
+ stderr = re .sub (r"\s\s+" , " " , stderr )
1466
1483
assert "completed success" in stderr , (error_code , stdout , stderr )
1467
1484
assert error_code == 0 , (error_code , stdout , stderr )
1468
1485
if sh_name == "dash" :
@@ -1484,6 +1501,7 @@ def test_v1_0_arg_empty_prefix_separate_false() -> None:
1484
1501
error_code , stdout , stderr = get_main_output (
1485
1502
["--debug" , get_data (test_file ), "--echo" ]
1486
1503
)
1504
+ stderr = re .sub (r"\s\s+" , " " , stderr )
1487
1505
assert "completed success" in stderr
1488
1506
assert error_code == 0
1489
1507
@@ -1515,7 +1533,7 @@ def test_malformed_hints() -> None:
1515
1533
factory = cwltool .factory .Factory ()
1516
1534
with pytest .raises (
1517
1535
ValidationException ,
1518
- match = r".*wc-tool-bad-hints\.cwl:6:1: If 'hints' is\s*present\s*then\s*it\s*must\s*be\s*a\s*list.*" ,
1536
+ match = r".*wc-tool-bad-hints\.cwl:6:1:\s*If\s* 'hints'\s* is\s*present\s*then\s*it\s*must\s*be\s*a\s*list.*" ,
1519
1537
):
1520
1538
factory .make (get_data ("tests/wc-tool-bad-hints.cwl" ))
1521
1539
0 commit comments