recog 2.3.18 → 2.3.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. checksums.yaml +4 -4
  2. data/.github/dependabot.yml +8 -0
  3. data/.github/workflows/ci.yml +26 -0
  4. data/.github/workflows/verify.yml +89 -0
  5. data/CONTRIBUTING.md +6 -0
  6. data/README.md +17 -0
  7. data/bin/recog_standardize +33 -12
  8. data/bin/recog_verify +1 -2
  9. data/cpe-remap.yaml +355 -200
  10. data/features/verify.feature +14 -14
  11. data/identifiers/README.md +24 -10
  12. data/identifiers/fields.txt +105 -0
  13. data/identifiers/hw_device.txt +8 -0
  14. data/identifiers/hw_family.txt +19 -0
  15. data/identifiers/hw_product.txt +122 -0
  16. data/identifiers/os_device.txt +2 -1
  17. data/identifiers/os_family.txt +3 -0
  18. data/identifiers/os_product.txt +46 -8
  19. data/identifiers/service_family.txt +10 -1
  20. data/identifiers/service_product.txt +90 -2
  21. data/identifiers/vendor.txt +104 -0
  22. data/lib/recog/db.rb +2 -1
  23. data/lib/recog/fingerprint.rb +18 -5
  24. data/lib/recog/nizer.rb +1 -82
  25. data/lib/recog/verifier.rb +5 -5
  26. data/lib/recog/verifier_factory.rb +3 -3
  27. data/lib/recog/verify_reporter.rb +14 -4
  28. data/lib/recog/version.rb +1 -1
  29. data/requirements.txt +1 -1
  30. data/spec/lib/fingerprint_self_test_spec.rb +1 -0
  31. data/spec/lib/recog/verify_reporter_spec.rb +69 -0
  32. data/tools/dev/hooks/pre-commit +21 -0
  33. data/update_cpes.py +19 -6
  34. data/xml/apache_modules.xml +60 -0
  35. data/xml/apache_os.xml +38 -38
  36. data/xml/dhcp_vendor_class.xml +206 -0
  37. data/xml/dns_versionbind.xml +11 -1
  38. data/xml/favicons.xml +270 -45
  39. data/xml/ftp_banners.xml +89 -64
  40. data/xml/h323_callresp.xml +99 -99
  41. data/xml/hp_pjl_id.xml +3 -3
  42. data/xml/html_title.xml +1051 -62
  43. data/xml/http_cookies.xml +294 -85
  44. data/xml/http_servers.xml +551 -122
  45. data/xml/http_wwwauth.xml +139 -43
  46. data/xml/imap_banners.xml +8 -8
  47. data/xml/ldap_searchresult.xml +1 -0
  48. data/xml/mdns_device-info_txt.xml +720 -27
  49. data/xml/mysql_banners.xml +3 -2
  50. data/xml/nntp_banners.xml +4 -4
  51. data/xml/ntp_banners.xml +79 -65
  52. data/xml/operating_system.xml +6 -6
  53. data/xml/pop_banners.xml +11 -11
  54. data/xml/rsh_resp.xml +3 -3
  55. data/xml/rtsp_servers.xml +7 -0
  56. data/xml/sip_banners.xml +374 -9
  57. data/xml/sip_user_agents.xml +377 -5
  58. data/xml/smb_native_lm.xml +32 -1
  59. data/xml/smb_native_os.xml +160 -33
  60. data/xml/smtp_banners.xml +168 -129
  61. data/xml/smtp_ehlo.xml +1 -1
  62. data/xml/smtp_expn.xml +1 -0
  63. data/xml/smtp_help.xml +10 -10
  64. data/xml/smtp_noop.xml +2 -2
  65. data/xml/smtp_vrfy.xml +1 -0
  66. data/xml/snmp_sysdescr.xml +508 -214
  67. data/xml/snmp_sysobjid.xml +25 -25
  68. data/xml/ssh_banners.xml +145 -29
  69. data/xml/telnet_banners.xml +240 -61
  70. data/xml/tls_jarm.xml +162 -0
  71. data/xml/x509_issuers.xml +237 -2
  72. data/xml/x509_subjects.xml +369 -49
  73. metadata +10 -3
data/cpe-remap.yaml CHANGED
@@ -1,201 +1,356 @@
1
1
  mappings:
2
- alpine:
3
- vendor: alpinelinux
4
- products:
5
- linux: alpine_linux
6
- apache:
7
- products:
8
- httpd: http_server
9
- apple:
10
- products:
11
- ios: iphone_os
12
- aprelium_technologies:
13
- vendor: aprelium
14
- alt-n:
15
- vendor: altn
16
- bea:
17
- products:
18
- weblogic: weblogic_server
19
- blue_coat:
20
- vendor: bluecoat
21
- carnegie_mellon_university:
22
- vendor: cmu
23
- products:
24
- cyrus_imap: cyrus_imap_server
25
- centos:
26
- products:
27
- linux: centos
28
- centos_webpanel:
29
- vendor: centos-webpanel
30
- check_point:
31
- vendor: checkpoint
32
- cisco:
33
- vendor: cisco
34
- products:
35
- adaptive_security_appliance: adaptive_security_appliance_software
36
- apic: application_policy_infrastructure_controller
37
- pix: pix_firewall_software
38
- telepresence: telepresence_video_communication_server_software
39
- crushftp:
40
- products:
41
- crushftp_web_interface: crushftp
42
- data_domain:
43
- vendor: dell
44
- products:
45
- dd_os: emc_data_domain_os
46
- debian:
47
- products:
48
- linux: debian_linux
49
- drupal:
50
- products:
51
- cms: drupal
52
- embedthis:
53
- products:
54
- goahead_webserver: goahead
55
- emc:
56
- products:
57
- celerra: celerra_network_attached_storage
58
- f5:
59
- products:
60
- big-ip: big-ip_local_traffic_manager
61
- big-ip_ltm: big-ip_local_traffic_manager
62
- fedora_project:
63
- vendor: fedoraproject
64
- hp:
65
- products:
66
- ilo: integrated_lights_out
67
- tru64_unix: tru64
68
- ibm:
69
- products:
70
- lotus_domino: lotus_domino_server
71
- ibm_domino: lotus_domino
72
- os/400: os_400
73
- intel:
74
- products:
75
- intel(r)_active_management_technology: active_management_technology
76
- intel(r)_standard_manageability: standard_manageability
77
- jamf:
78
- products:
79
- jamf_pro: jamf
80
- juniper:
81
- products:
82
- junos_os: junos
83
- kibana:
84
- vendor: elasticsearch
85
- kodi:
86
- products:
87
- media_server: kodi
88
- cz.nic:
89
- vendor: knot-dns
90
- litespeed_technologies:
91
- vendor: litespeedtech
92
- linux:
93
- products:
94
- linux: linux_kernel
95
- lynx_technology:
96
- vendor: lynxtechnology
97
- products:
98
- twonky_media_server: twonky_server
99
- mailenable:
100
- products:
101
- mail_server: mailenable
102
- microsoft:
103
- products:
104
- active_directory_controller: active_directory
105
- exchange_server_5.5: exchange_server
106
- exchange_2000_server: exchange_server
107
- exchange_2003_server: exchange_server
108
- exchange_2007_server: exchange_server
109
- lightweight_directory_server: active_directory_lightweight_directory_service
110
- windows_server_2003_datacenter_edition: windows_server_2003
111
- windows_server_2003_r2: windows_server_2003
112
- windows_2008_r2: windows_server_2008
113
- windows_server_2008_datacenter_edition: windows_server_2008
114
- windows_server_2008_r2: windows_server_2008
115
- windows_server_2008_r2_datacenter_edition: windows_server_2008
116
- windows_server_2012_r2: windows_server_2012
117
- nt: windows_nt
118
- windows_nt_desktop: windows_nt
119
- windows_nt_server: windows_nt
120
- windows_server_2000: windows_2000
121
- windows_2000_server: windows_2000
122
- windows_2000_datacenter_server: windows_2000
123
- pws: personal_web_server
124
- mod_ssl:
125
- vendor: modssl
126
- mod_wsgi:
127
- vendor: modwsgi
128
- mort_bay:
129
- vendor: mortbay
130
- munin:
131
- vendor: munin-monitoring
132
- nlnet_labs:
133
- vendor: nlnetlabs
134
- products:
135
- dnsd: name_server_daemon
136
- net-snmp:
137
- products:
138
- snmp_agent: net-snmp
139
- owncloud:
140
- products:
141
- owncloud_server: owncloud
142
- palo_alto_networks:
143
- vendor: paloaltonetworks
144
- products:
145
- pa_firewall: pan-os
146
- parallels:
147
- products:
148
- plesk: parallels_plesk_panel
149
- plesk:
150
- vendor: parallels
151
- proftpd_project:
152
- vendor: proftpd
153
- progress:
154
- products:
155
- openedge_explorer: openedge
156
- pulse_secure:
157
- vendor: pulsesecure
158
- realvnc_ltd.:
159
- vendor: realvnc
160
- red_hat:
161
- vendor: redhat
162
- products:
163
- cygwin_x_server_project: cygwin
164
- fedora_core_linux: fedora_core
165
- jboss_as: jboss_wildfly_application_server
166
- jboss_eap: jboss_enterprise_application_platform
167
- jbossweb: jboss_web_framework_kit
168
- red_hat_directory_server: directory_server
169
- squid_cache:
170
- vendor: squid-cache
171
- sun:
172
- vendor: sun
173
- products:
174
- solaris: sunos
175
- swagger:
176
- vendor: smartbear
177
- tandberg:
178
- vendor: cisco
179
- tightvnc:
180
- products:
181
- desktop: tightvnc
182
- ubiquiti:
183
- vendor: ui
184
- ubuntu:
185
- vendor: canonical
186
- products:
187
- linux: ubuntu_linux
188
- vandyke_software:
189
- vendor: vandyke
190
- vmware:
191
- products:
192
- photon_linux: photon_os
193
- zimbra: zimbra_desktop
194
- vcenter: vcenter_server
195
- vmware_esx_server: esx
196
- vmware_esxi_server: esxi
197
- wind_river:
198
- vendor: windriver
199
- x.org:
200
- products:
201
- x.org_x11: x11
2
+ # The following section contains CPE application or 'a' remappings. These will
3
+ # ONLY be used for mapping Recog 'service' attributes.
4
+ a:
5
+ akamai:
6
+ products:
7
+ ghost: akamaighost
8
+ amazon:
9
+ products:
10
+ s3: amazon_simple_storage_service
11
+ cloudfront_load_balancer: amazon_cloudfront
12
+ apache:
13
+ products:
14
+ httpd: http_server
15
+ aprelium_technologies:
16
+ vendor: aprelium
17
+ alt-n:
18
+ vendor: altn
19
+ aruba_networks:
20
+ vendor: arubanetworks
21
+ bea:
22
+ products:
23
+ weblogic: weblogic_server
24
+ blue_coat:
25
+ vendor: bluecoat
26
+ carnegie_mellon_university:
27
+ vendor: cmu
28
+ products:
29
+ cyrus_imap: cyrus_imap_server
30
+ centos_webpanel:
31
+ vendor: centos-webpanel
32
+ check_point:
33
+ vendor: checkpoint
34
+ cherokee_project:
35
+ vendor: cherokee-project
36
+ cisco:
37
+ products:
38
+ apic: application_policy_infrastructure_controller
39
+ cloudflare:
40
+ products:
41
+ cloudflare_load_balancer: load_balancing
42
+ cpanel:
43
+ products:
44
+ cpanel_service_daemon: cpanel
45
+ crushftp:
46
+ products:
47
+ crushftp_web_interface: crushftp
48
+ cz.nic:
49
+ vendor: knot-dns
50
+ drupal:
51
+ products:
52
+ cms: drupal
53
+ embedthis:
54
+ products:
55
+ goahead_webserver: goahead
56
+ envoy_proxy:
57
+ vendor: envoyproxy
58
+ f5:
59
+ products:
60
+ big-ip: big-ip_local_traffic_manager
61
+ big-ip_ltm: big-ip_local_traffic_manager
62
+ fedora_project:
63
+ vendor: fedoraproject
64
+ google:
65
+ products:
66
+ google_web_services: web_server
67
+ ibm:
68
+ products:
69
+ lotus_domino: lotus_domino_server
70
+ ibm_domino: lotus_domino
71
+ ignite_realtime:
72
+ vendor: igniterealtime
73
+ intel:
74
+ products:
75
+ intel(r)_active_management_technology: active_management_technology
76
+ intel(r)_standard_manageability: standard_manageability
77
+ jamf:
78
+ products:
79
+ jamf_pro: jamf
80
+ kibana:
81
+ vendor: elasticsearch
82
+ kubernetes:
83
+ products:
84
+ nginx_ingress_controller: ingress-nginx
85
+ kodi:
86
+ products:
87
+ media_server: kodi
88
+ kong:
89
+ vendor: konghq
90
+ products:
91
+ gateway: kong_gateway
92
+ litespeed_technologies:
93
+ vendor: litespeedtech
94
+ lotus:
95
+ vendor: ibm
96
+ lynx_technology:
97
+ vendor: lynxtechnology
98
+ products:
99
+ twonky_media_server: twonky_server
100
+ mailenable:
101
+ products:
102
+ mail_server: mailenable
103
+ manageengine:
104
+ vendor: zohocorp
105
+ products:
106
+ adaudit_plus: manageengine_adaudit_plus
107
+ desktop_central: manageengine_desktop_central
108
+ opmanager: manageengine_opmanager
109
+ microsoft:
110
+ products:
111
+ active_directory_controller: active_directory
112
+ exchange_server_5.5: exchange_server
113
+ exchange_2000_server: exchange_server
114
+ exchange_2003_server: exchange_server
115
+ exchange_2007_server: exchange_server
116
+ lightweight_directory_server: active_directory_lightweight_directory_service
117
+ pws: personal_web_server
118
+ mod_ssl:
119
+ vendor: modssl
120
+ mod_wsgi:
121
+ vendor: modwsgi
122
+ # NIST took the vendor name from the website but apparently missed the `.in`
123
+ # in moinmo.in was part of the name
124
+ moinmoin:
125
+ vendor: moinmo
126
+ mort_bay:
127
+ vendor: mortbay
128
+ munin:
129
+ vendor: munin-monitoring
130
+ nlnet_labs:
131
+ vendor: nlnetlabs
132
+ products:
133
+ dnsd: name_server_daemon
134
+ net-snmp:
135
+ products:
136
+ snmp_agent: net-snmp
137
+ owncloud:
138
+ products:
139
+ owncloud_server: owncloud
140
+ parallels:
141
+ products:
142
+ plesk: parallels_plesk_panel
143
+ phoenix_contact:
144
+ vendor: phoenixcontact
145
+ plesk:
146
+ vendor: parallels
147
+ proftpd_project:
148
+ vendor: proftpd
149
+ progress:
150
+ products:
151
+ openedge_explorer: openedge
152
+ pulse_secure:
153
+ vendor: pulsesecure
154
+ realvnc_ltd.:
155
+ vendor: realvnc
156
+ red_hat:
157
+ vendor: redhat
158
+ products:
159
+ cygwin_x_server_project: cygwin
160
+ jboss_as: jboss_wildfly_application_server
161
+ jboss_eap: jboss_enterprise_application_platform
162
+ jbossweb: jboss_web_framework_kit
163
+ red_hat_directory_server: directory_server
164
+ rundeck:
165
+ vendor: pagerduty
166
+ serv-u:
167
+ vendor: solarwinds
168
+ squid_cache:
169
+ vendor: squid-cache
170
+ ssh_communications_security:
171
+ vendor: ssh
172
+ products:
173
+ ssh_tectia_server: tectia_server
174
+ standard_networks:
175
+ vendor: ipswitch
176
+ swagger:
177
+ vendor: smartbear
178
+ synology:
179
+ products:
180
+ dsm: diskstation_manager
181
+ tightvnc:
182
+ products:
183
+ desktop: tightvnc
184
+ tor_project:
185
+ vendor: torproject
186
+ traefik_labs:
187
+ vendor: traefik
188
+ products:
189
+ traefik_proxy: traefik
190
+ twistedmatrix:
191
+ products:
192
+ twisted_web: twistedweb
193
+ ubiquiti:
194
+ vendor: ui
195
+ vandyke_software:
196
+ vendor: vandyke
197
+ vmware:
198
+ products:
199
+ zimbra: zimbra_desktop
200
+ vcenter: vcenter_server
201
+ x.org:
202
+ products:
203
+ x.org_x11: x11
204
+
205
+ # The following section contains CPE operating system or 'o' remappings. These will
206
+ # ONLY be used for mapping Recog 'os' attributes.
207
+ o:
208
+ alpine:
209
+ vendor: alpinelinux
210
+ products:
211
+ linux: alpine_linux
212
+ apple:
213
+ products:
214
+ ios: iphone_os
215
+ mac_os: macos
216
+ brocade:
217
+ vendor: broadcom
218
+ products:
219
+ fabric_os: fabric_operating_system
220
+ centos:
221
+ products:
222
+ linux: centos
223
+ check_point:
224
+ vendor: checkpoint
225
+ cisco:
226
+ products:
227
+ adaptive_security_appliance: adaptive_security_appliance_software
228
+ nam: network_analysis_module_software
229
+ pix: pix_firewall_software
230
+ telepresence: telepresence_video_communication_server_software
231
+ vpn_3000_concentrator: vpn_3000_concentrator_series_software
232
+ wireless_lan_controller: wireless_lan_controller_software
233
+ citrix:
234
+ products:
235
+ netscaler: netscaler_firmware
236
+ netscaler_gateway: netscaler_gateway_firmware
237
+ cumulus:
238
+ vendor: cumulusnetworks
239
+ data_domain:
240
+ vendor: dell
241
+ products:
242
+ dd_os: emc_data_domain_os
243
+ debian:
244
+ products:
245
+ linux: debian_linux
246
+ hp:
247
+ products:
248
+ ilo: integrated_lights-out_firmware
249
+ ilo_firmware: integrated_lights-out_firmware
250
+ ilo_2: integrated_lights-out_2_firmware
251
+ ilo_3: integrated_lights-out_3_firmware
252
+ ilo_4: integrated_lights-out_4_firmware
253
+ ilo_5: integrated_lights-out_5_firmware
254
+ tru64_unix: tru64
255
+ ibm:
256
+ products:
257
+ os/400: os_400
258
+ i5/os: i5os
259
+ juniper:
260
+ products:
261
+ junos_os: junos
262
+ linux:
263
+ products:
264
+ linux: linux_kernel
265
+ microsoft:
266
+ products:
267
+ windows_server_2003_datacenter_edition: windows_server_2003
268
+ windows_server_2003_r2: windows_server_2003
269
+ windows_2008_r2: windows_server_2008
270
+ windows_server_2008_datacenter_edition: windows_server_2008
271
+ windows_server_2008_r2: windows_server_2008
272
+ windows_server_2008_r2_datacenter_edition: windows_server_2008
273
+ windows_server_2012_r2: windows_server_2012
274
+ nt: windows_nt
275
+ windows_nt_desktop: windows_nt
276
+ windows_nt_server: windows_nt
277
+ windows_server_2000: windows_2000
278
+ windows_2000_server: windows_2000
279
+ windows_2000_datacenter_server: windows_2000
280
+ oracle:
281
+ products:
282
+ ilom: integrated_lights_out_manager_firmware
283
+ palo_alto_networks:
284
+ vendor: paloaltonetworks
285
+ phoenix_contact:
286
+ vendor: phoenixcontact
287
+ red_hat:
288
+ vendor: redhat
289
+ products:
290
+ fedora_core_linux: fedora_core
291
+ software_house:
292
+ vendor: swhouse
293
+ sun:
294
+ products:
295
+ solaris: sunos
296
+ ubiquiti:
297
+ vendor: ui
298
+ ubuntu:
299
+ vendor: canonical
300
+ products:
301
+ linux: ubuntu_linux
302
+ vmware:
303
+ products:
304
+ photon_linux: photon_os
305
+ vmware_esx_server: esx
306
+ vmware_esxi_server: esxi
307
+ wind_river:
308
+ vendor: windriver
309
+
310
+ # The following section contains CPE hardware or 'h' remappings. These will
311
+ # ONLY be used for mapping Recog 'hw' attributes.
312
+ h:
313
+ apple:
314
+ products:
315
+ imac_(retina_4k_21.5-inch_2019): imac
316
+ imac_(retina_5k_27-inch_2017): imac
317
+ imac_(retina_5k_27-inch_2019): imac
318
+ imac_(retina_5k_27-inch_2020): imac
319
+ macbook_air_(13-inch_2017): macbook_air
320
+ macbook_air_(m1_2020): macbook_air
321
+ macbook_air_(retina_13-inch_2018): macbook_air
322
+ macbook_air_(retina_13-inch_2019): macbook_air
323
+ macbook_air_(retina_13-inch_2020): macbook_air
324
+ macbook_pro_(13-inch_2018_four_thunderbolt_3_ports): macbook_pro
325
+ macbook_pro_(13-inch_2019_two_thunderbolt_3_ports): macbook_pro
326
+ macbook_pro_(13-inch_2020): macbook_pro
327
+ macbook_pro_(13-inch_m1_2020): macbook_pro
328
+ macbook_pro_(15-inch_2018): macbook_pro
329
+ macbook_pro_(15-inch_2019): macbook_pro
330
+ macbook_pro_(16-inch_2019): macbook_pro
331
+ macbook_pro_(retina_13-inch_early_2015): macbook_pro
332
+ macbook_pro_(retina_15-inch_mid_2015): macbook_pro
333
+ cisco:
334
+ products:
335
+ nam: network_analysis_module
336
+ citrix:
337
+ products:
338
+ netscaler_sdx_gateway: netscaler_sdx
339
+ emc:
340
+ products:
341
+ celerra: celerra_network_attached_storage
342
+ hp:
343
+ products:
344
+ ilo: integrated_lights-out
345
+ kace:
346
+ vendor: dell
347
+ products:
348
+ k1000: kace_k1000_systems_management_appliance
349
+ phoenix_contact:
350
+ vendor: phoenixcontact
351
+ software_house:
352
+ vendor: swhouse
353
+ tandberg:
354
+ vendor: cisco
355
+ ubiquiti:
356
+ vendor: ui
@@ -2,17 +2,17 @@ Feature: Verify
2
2
  @no-clobber
3
3
  Scenario: No tests
4
4
  When I run `recog_verify no_tests.xml`
5
- Then it should pass with:
5
+ Then it should pass with exactly:
6
6
  """
7
- SUMMARY: Test completed with 0 successful, 0 warnings, and 0 failures
7
+ no_tests.xml: SUMMARY: Test completed with 0 successful, 0 warnings, and 0 failures
8
8
  """
9
9
 
10
10
  @no-clobber
11
11
  Scenario: Successful tests
12
12
  When I run `recog_verify successful_tests.xml`
13
- Then it should pass with:
13
+ Then it should pass with exactly:
14
14
  """
15
- SUMMARY: Test completed with 4 successful, 0 warnings, and 0 failures
15
+ successful_tests.xml: SUMMARY: Test completed with 4 successful, 0 warnings, and 0 failures
16
16
  """
17
17
 
18
18
  @no-clobber
@@ -20,18 +20,18 @@ Feature: Verify
20
20
  When I run `recog_verify tests_with_warnings.xml`
21
21
  Then it should fail with:
22
22
  """
23
- WARN: 'Pure-FTPd' has no test cases
24
- WARN: 'Pure-FTPd' is missing an example that checks for parameter 'pureftpd.config' messsage which is derived from a capture group
25
- SUMMARY: Test completed with 1 successful, 2 warnings, and 0 failures
23
+ tests_with_warnings.xml: WARN: 'Pure-FTPd' has no test cases
24
+ tests_with_warnings.xml: WARN: 'Pure-FTPd' is missing an example that checks for parameter 'pureftpd.config' which is derived from a capture group
25
+ tests_with_warnings.xml: SUMMARY: Test completed with 1 successful, 2 warnings, and 0 failures
26
26
  """
27
27
  And the exit status should be 2
28
28
 
29
29
  @no-clobber
30
30
  Scenario: Tests with warnings, warnings disabled
31
31
  When I run `recog_verify --no-warnings tests_with_warnings.xml`
32
- Then it should pass with:
32
+ Then it should pass with exactly:
33
33
  """
34
- SUMMARY: Test completed with 1 successful, 0 warnings, and 0 failures
34
+ tests_with_warnings.xml: SUMMARY: Test completed with 1 successful, 0 warnings, and 0 failures
35
35
  """
36
36
 
37
37
  @no-clobber
@@ -39,10 +39,10 @@ Feature: Verify
39
39
  When I run `recog_verify tests_with_failures.xml`
40
40
  Then it should fail with:
41
41
  """
42
- FAIL: 'foo test' failed to match "bar" with (?-mix:^foo$)'
43
- FAIL: '' failed to match "This almost matches" with (?-mix:^This matches$)'
44
- FAIL: 'bar test's os.name is a non-zero pos but specifies a value of 'Bar'
45
- FAIL: 'bar test' failed to find expected capture group os.version '5.0'. Result was 1.0
46
- SUMMARY: Test completed with 0 successful, 0 warnings, and 4 failures
42
+ tests_with_failures.xml: FAIL: 'foo test' failed to match "bar" with (?-mix:^foo$)'
43
+ tests_with_failures.xml: FAIL: '' failed to match "This almost matches" with (?-mix:^This matches$)'
44
+ tests_with_failures.xml: FAIL: 'bar test's os.name is a non-zero pos but specifies a value of 'Bar'
45
+ tests_with_failures.xml: FAIL: 'bar test' failed to find expected capture group os.version '5.0'. Result was 1.0
46
+ tests_with_failures.xml: SUMMARY: Test completed with 0 successful, 0 warnings, and 4 failures
47
47
  """
48
48
  And the exit status should be 4