py37: skipped because could not find python interpreter with spec(s): py37
py37: SKIP ⚠ in 1.32 seconds
py38: install_deps> python -I -m pip install coverage pytest pytest-cov -r requirements.txt
.pkg: install_requires> python -I -m pip install 'setuptools>=40.8.0'
.pkg: _optional_hooks> python /tmp/venv-NE1S/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: get_requires_for_build_sdist> python /tmp/venv-NE1S/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: get_requires_for_build_wheel> python /tmp/venv-NE1S/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: freeze> python -m pip freeze --all
.pkg: pip==26.0.1,setuptools==82.0.0
.pkg: prepare_metadata_for_build_wheel> python /tmp/venv-NE1S/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: build_sdist> python /tmp/venv-NE1S/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
py38: install_package_deps> python -I -m pip install onap_dcae_cbs_docker_client==2.2.1 pyasn1==0.4.8 pysnmp==4.4.12 pyyaml requests==2.18.3
py38: install_package> python -I -m pip install --force-reinstall --no-deps /w/workspace/dcaegen2-collectors-snmptrap-tox-merge-master/.tox/.tmp/package/1/snmptrap-2.0.8.tar.gz
py38: freeze> python -m pip freeze --all
py38: certifi==2026.2.25,chardet==3.0.4,coverage==7.6.1,exceptiongroup==1.3.1,idna==2.5,iniconfig==2.1.0,onap_dcae_cbs_docker_client==2.2.1,packaging==26.0,pip==25.0.1,pluggy==1.5.0,ply==3.11,pyasn1==0.4.8,pycryptodomex==3.23.0,pysmi==0.3.4,pysnmp==4.4.12,pytest==8.3.5,pytest-cov==5.0.0,PyYAML==6.0.3,requests==2.18.3,setuptools==75.3.4,snmptrap @ file:///w/workspace/dcaegen2-collectors-snmptrap-tox-merge-master/.tox/.tmp/package/1/snmptrap-2.0.8.tar.gz#sha256=cdbfb8e3dd4cf97831c124b174a76419017b7e92ec5abdee2285d31f1ad0259f,tomli==2.4.0,typing_extensions==4.13.2,urllib3==1.22,wheel==0.45.1
py38: commands[0]> pytest --cov snmptrap --cov-report=xml --cov-report=html --cov-report=term tests --verbose --verbose --verbose
============================= test session starts ==============================
platform linux -- Python 3.8.14, pytest-8.3.5, pluggy-1.5.0 -- /w/workspace/dcaegen2-collectors-snmptrap-tox-merge-master/.tox/py38/bin/python
cachedir: .tox/py38/.pytest_cache
rootdir: /w/workspace/dcaegen2-collectors-snmptrap-tox-merge-master
plugins: cov-5.0.0
collecting ... collected 96 items

tests/test_snmptrapd.py::test_snmptrapd::test_add_varbind_to_json PASSED [  1%]
tests/test_snmptrapd.py::test_snmptrapd::test_add_varbind_to_log_string PASSED [  2%]
tests/test_snmptrapd.py::test_snmptrapd::test_comm_string_rewrite_observer SKIPPEDthod) [  3%]
tests/test_snmptrapd.py::test_snmptrapd::test_load_all_configs PASSED    [  4%]
tests/test_snmptrapd.py::test_snmptrapd::test_load_all_configs_signal PASSED [  5%]
tests/test_snmptrapd.py::test_snmptrapd::test_log_all_arriving_traps PASSED [  6%]
tests/test_snmptrapd.py::test_snmptrapd::test_log_all_incorrect_log_type PASSED [  7%]
tests/test_snmptrapd.py::test_snmptrapd::test_notif_receiver_cb PASSED   [  8%]
tests/test_snmptrapd.py::test_snmptrapd::test_post_dmaap PASSED          [  9%]
tests/test_snmptrapd.py::test_snmptrapd::test_resolve_ip PASSED          [ 10%]
tests/test_snmptrapd.py::test_snmptrapd::test_snmp_engine_observer_cb PASSED [ 11%]
tests/test_snmptrapd.py::test_snmptrapd::test_usage_err PASSED           [ 12%]
tests/test_snmptrapd.py::test_snmptrapd::test_v1_trap_receipt PASSED     [ 13%]
tests/test_trapd_exit.py::test_cleanup_and_exit::test_abnormal_exit PASSED [ 14%]
tests/test_trapd_exit.py::test_cleanup_and_exit::test_normal_exit PASSED [ 15%]
tests/test_trapd_get_cbs_config.py::test_trapd_get_cbs_config::test_cbs_env_present PASSED [ 16%]
tests/test_trapd_get_cbs_config.py::test_trapd_get_cbs_config::test_cbs_fallback_env_present PASSED [ 17%]
tests/test_trapd_get_cbs_config.py::test_trapd_get_cbs_config::test_cbs_fallback_env_present_bad_numbers PASSED [ 18%]
tests/test_trapd_get_cbs_config.py::test_trapd_get_cbs_config::test_cbs_override_env_invalid PASSED [ 19%]
tests/test_trapd_get_cbs_config.py::test_trapd_get_cbs_config::test_cbs_override_env_undefined PASSED [ 20%]
tests/test_trapd_http_session.py::test_init_session_obj::test_close_existing_session PASSED [ 21%]
tests/test_trapd_http_session.py::test_init_session_obj::test_close_nonexisting_close_raises PASSED [ 22%]
tests/test_trapd_http_session.py::test_init_session_obj::test_close_nonexisting_session PASSED [ 23%]
tests/test_trapd_http_session.py::test_init_session_obj::test_init_session_obj PASSED [ 25%]
tests/test_trapd_http_session.py::test_init_session_obj::test_init_session_obj_raises PASSED [ 26%]
tests/test_trapd_http_session.py::test_init_session_obj::test_reset PASSED [ 27%]
tests/test_trapd_io.py::test_trapd_io::test_close_file_does_not_exist PASSED [ 28%]
tests/test_trapd_io.py::test_trapd_io::test_close_file_exists PASSED     [ 29%]
tests/test_trapd_io.py::test_trapd_io::test_ecomp_logger_type_audit PASSED [ 30%]
tests/test_trapd_io.py::test_trapd_io::test_ecomp_logger_type_audit_bad_fd PASSED [ 31%]
tests/test_trapd_io.py::test_trapd_io::test_ecomp_logger_type_error PASSED [ 32%]
tests/test_trapd_io.py::test_trapd_io::test_ecomp_logger_type_error_bad_fd PASSED [ 33%]
tests/test_trapd_io.py::test_trapd_io::test_ecomp_logger_type_metrics PASSED [ 34%]
tests/test_trapd_io.py::test_trapd_io::test_ecomp_logger_type_metrics_bad_fd PASSED [ 35%]
tests/test_trapd_io.py::test_trapd_io::test_ecomp_logger_type_unknown PASSED [ 36%]
tests/test_trapd_io.py::test_trapd_io::test_ecomp_logger_type_unknown_bad_fd PASSED [ 37%]
tests/test_trapd_io.py::test_trapd_io::test_open_eelf_audit_file PASSED  [ 38%]
tests/test_trapd_io.py::test_trapd_io::test_open_eelf_audit_file_missing_name PASSED [ 39%]
tests/test_trapd_io.py::test_trapd_io::test_open_eelf_debug_file PASSED  [ 40%]
tests/test_trapd_io.py::test_trapd_io::test_open_eelf_debug_file_missing_name PASSED [ 41%]
tests/test_trapd_io.py::test_trapd_io::test_open_eelf_error_file PASSED  [ 42%]
tests/test_trapd_io.py::test_trapd_io::test_open_eelf_error_file_missing_name PASSED [ 43%]
tests/test_trapd_io.py::test_trapd_io::test_open_eelf_metrics_file PASSED [ 44%]
tests/test_trapd_io.py::test_trapd_io::test_open_eelf_metrics_file_missing_name PASSED [ 45%]
tests/test_trapd_io.py::test_trapd_io::test_open_file_exists PASSED      [ 46%]
tests/test_trapd_io.py::test_trapd_io::test_open_file_exists_does_not_exist PASSED [ 47%]
tests/test_trapd_io.py::test_trapd_io::test_roll_all_logs PASSED         [ 48%]
tests/test_trapd_io.py::test_trapd_io::test_roll_all_logs_not_open PASSED [ 50%]
tests/test_trapd_io.py::test_trapd_io::test_roll_all_logs_open_eelf_logs_returns_false PASSED [ 51%]
tests/test_trapd_io.py::test_trapd_io::test_roll_all_logs_open_file_arriving_traps_throws PASSED [ 52%]
tests/test_trapd_io.py::test_trapd_io::test_roll_all_logs_open_file_json_traps_throws PASSED [ 53%]
tests/test_trapd_io.py::test_trapd_io::test_roll_all_logs_roll_file_throws PASSED [ 54%]
tests/test_trapd_io.py::test_trapd_io::test_roll_file PASSED             [ 55%]
tests/test_trapd_io.py::test_trapd_io::test_roll_file_no_write_perms PASSED [ 56%]
tests/test_trapd_io.py::test_trapd_io::test_roll_file_not_present PASSED [ 57%]
tests/test_trapd_runtime_pid.py::test_trapd_runtime_pid::test_correct_usage PASSED [ 58%]
tests/test_trapd_runtime_pid.py::test_trapd_runtime_pid::test_correct_usage_but_throws PASSED [ 59%]
tests/test_trapd_runtime_pid.py::test_trapd_runtime_pid::test_missing_directory PASSED [ 60%]
tests/test_trapd_runtime_pid.py::test_trapd_runtime_pid::test_missing_file PASSED [ 61%]
tests/test_trapd_settings.py::test_trapd_settings::test_config_dict PASSED [ 62%]
tests/test_trapd_settings.py::test_trapd_settings::test_dns_cache_ip_expires PASSED [ 63%]
tests/test_trapd_settings.py::test_trapd_settings::test_dns_cache_ip_to_name PASSED [ 64%]
tests/test_trapd_settings.py::test_trapd_settings::test_nonexistent_dict PASSED [ 65%]
tests/test_trapd_snmpv3.py::test_snmpv3_config::test_v3_config_missing_engine PASSED [ 66%]
tests/test_trapd_snmpv3.py::test_snmpv3_config::test_v3_config_missing_user SKIPPED [ 67%]
tests/test_trapd_snmpv3.py::test_snmpv3_config::test_v3_config_not_present PASSED [ 68%]
tests/test_trapd_snmpv3.py::test_snmpv3_config::test_v3_config_present PASSED [ 69%]
tests/test_trapd_stormwatch.py::test_cleanup_and_exit::test_increment_existing_counter PASSED [ 70%]
tests/test_trapd_stormwatch.py::test_cleanup_and_exit::test_sw_clear_dicts PASSED [ 71%]
tests/test_trapd_stormwatch.py::test_cleanup_and_exit::test_sw_init PASSED [ 72%]
tests/test_trapd_stormwatch.py::test_cleanup_and_exit::test_sw_load_trap_config PASSED [ 73%]
tests/test_trapd_stormwatch.py::test_cleanup_and_exit::test_sw_log_metrics PASSED [ 75%]
tests/test_trapd_stormwatch.py::test_cleanup_and_exit::test_sw_reset_counter_dict PASSED [ 76%]
tests/test_trapd_stormwatch.py::test_cleanup_and_exit::test_sw_storm_active PASSED [ 77%]
tests/test_trapd_stormwatch_settings.py::test_cleanup_and_exit::test_nonexistent_dict PASSED [ 78%]
tests/test_trapd_stormwatch_settings.py::test_cleanup_and_exit::test_storm_active_dict PASSED [ 79%]
tests/test_trapd_stormwatch_settings.py::test_cleanup_and_exit::test_storm_counter_dict PASSED [ 80%]
tests/test_trapd_stormwatch_settings.py::test_cleanup_and_exit::test_sw_config_category PASSED [ 81%]
tests/test_trapd_stormwatch_settings.py::test_cleanup_and_exit::test_sw_config_high_water_in_interval_dict PASSED [ 82%]
tests/test_trapd_stormwatch_settings.py::test_cleanup_and_exit::test_sw_config_low_water_in_interval_dict PASSED [ 83%]
tests/test_trapd_stormwatch_settings.py::test_cleanup_and_exit::test_sw_config_oid_dict PASSED [ 84%]
tests/test_trapd_stormwatch_settings.py::test_cleanup_and_exit::test_sw_interval_in_seconds PASSED [ 85%]
tests/test_trapd_stormwatch_settings.py::test_cleanup_and_exit::test_sw_last_stormwatch_dict_analysis PASSED [ 86%]
tests/test_trapd_vb_types.py::test_trapd_vb_types::test_trapd_vb_type_conversion_bits PASSED [ 87%]
tests/test_trapd_vb_types.py::test_trapd_vb_types::test_trapd_vb_type_conversion_counter32 PASSED [ 88%]
tests/test_trapd_vb_types.py::test_trapd_vb_types::test_trapd_vb_type_conversion_gauge32 PASSED [ 89%]
tests/test_trapd_vb_types.py::test_trapd_vb_types::test_trapd_vb_type_conversion_integer PASSED [ 90%]
tests/test_trapd_vb_types.py::test_trapd_vb_types::test_trapd_vb_type_conversion_integer32 PASSED [ 91%]
tests/test_trapd_vb_types.py::test_trapd_vb_types::test_trapd_vb_type_conversion_invalid PASSED [ 92%]
tests/test_trapd_vb_types.py::test_trapd_vb_types::test_trapd_vb_type_conversion_ipaddress PASSED [ 93%]
tests/test_trapd_vb_types.py::test_trapd_vb_types::test_trapd_vb_type_conversion_null PASSED [ 94%]
tests/test_trapd_vb_types.py::test_trapd_vb_types::test_trapd_vb_type_conversion_objectidentifier PASSED [ 95%]
tests/test_trapd_vb_types.py::test_trapd_vb_types::test_trapd_vb_type_conversion_octetstring PASSED [ 96%]
tests/test_trapd_vb_types.py::test_trapd_vb_types::test_trapd_vb_type_conversion_py_type_5 PASSED [ 97%]
tests/test_trapd_vb_types.py::test_trapd_vb_types::test_trapd_vb_type_conversion_py_type_6 PASSED [ 98%]
tests/test_trapd_vb_types.py::test_trapd_vb_types::test_trapd_vb_type_conversion_timeticks PASSED [100%]

=============================== warnings summary ===============================
.tox/py38/lib/python3.8/site-packages/urllib3/util/selectors.py:14
  /w/workspace/dcaegen2-collectors-snmptrap-tox-merge-master/.tox/py38/lib/python3.8/site-packages/urllib3/util/selectors.py:14: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3, and in 3.10 it will stop working
    from collections import namedtuple, Mapping

.tox/py38/lib/python3.8/site-packages/urllib3/_collections.py:2
  /w/workspace/dcaegen2-collectors-snmptrap-tox-merge-master/.tox/py38/lib/python3.8/site-packages/urllib3/_collections.py:2: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3, and in 3.10 it will stop working
    from collections import Mapping, MutableMapping

.tox/py38/lib/python3.8/site-packages/pysnmp/carrier/asyncio/dispatch.py:58
  /w/workspace/dcaegen2-collectors-snmptrap-tox-merge-master/.tox/py38/lib/python3.8/site-packages/pysnmp/carrier/asyncio/dispatch.py:58: DeprecationWarning: "@coroutine" decorator is deprecated since Python 3.8, use "async def" instead
    def handle_timeout(self):

<string>:2
  <string>:2: DeprecationWarning: "@coroutine" decorator is deprecated since Python 3.8, use "async def" instead

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html

---------- coverage: platform linux, python 3.8.14-final-0 -----------
Name                                        Stmts   Miss  Cover
---------------------------------------------------------------
snmptrap/__init__.py                            0      0   100%
snmptrap/mod/__init__.py                        0      0   100%
snmptrap/mod/trapd_exit.py                     10      0   100%
snmptrap/mod/trapd_get_cbs_config.py           57      3    95%
snmptrap/mod/trapd_http_session.py             31      0   100%
snmptrap/mod/trapd_io.py                      159      0   100%
snmptrap/mod/trapd_runtime_pid.py              25      0   100%
snmptrap/mod/trapd_settings.py                 54      0   100%
snmptrap/mod/trapd_snmpv3.py                  107      2    98%
snmptrap/mod/trapd_stats_settings.py            6      0   100%
snmptrap/mod/trapd_stormwatch.py              227     19    92%
snmptrap/mod/trapd_stormwatch_settings.py      10      0   100%
snmptrap/mod/trapd_vb_types.py                 23      0   100%
snmptrap/snmptrapd.py                         362     85    77%
---------------------------------------------------------------
TOTAL                                        1071    109    90%
Coverage HTML written to dir htmlcov
Coverage XML written to file coverage.xml

================== 94 passed, 2 skipped, 4 warnings in 11.73s ==================
py38: OK ✔ in 22.95 seconds
py39: install_deps> python -I -m pip install coverage pytest pytest-cov -r requirements.txt
py39: install_package_deps> python -I -m pip install onap_dcae_cbs_docker_client==2.2.1 pyasn1==0.4.8 pysnmp==4.4.12 pyyaml requests==2.18.3
py39: install_package> python -I -m pip install --force-reinstall --no-deps /w/workspace/dcaegen2-collectors-snmptrap-tox-merge-master/.tox/.tmp/package/2/snmptrap-2.0.8.tar.gz
py39: freeze> python -m pip freeze --all
py39: certifi==2026.2.25,chardet==3.0.4,coverage==7.10.7,exceptiongroup==1.3.1,idna==2.5,iniconfig==2.1.0,onap_dcae_cbs_docker_client==2.2.1,packaging==26.0,pip==26.0.1,pluggy==1.6.0,ply==3.11,pyasn1==0.4.8,pycryptodomex==3.23.0,Pygments==2.19.2,pysmi==0.3.4,pysnmp==4.4.12,pytest==8.4.2,pytest-cov==7.0.0,PyYAML==6.0.3,requests==2.18.3,setuptools==82.0.0,snmptrap @ file:///w/workspace/dcaegen2-collectors-snmptrap-tox-merge-master/.tox/.tmp/package/2/snmptrap-2.0.8.tar.gz#sha256=cdbfb8e3dd4cf97831c124b174a76419017b7e92ec5abdee2285d31f1ad0259f,tomli==2.4.0,typing_extensions==4.15.0,urllib3==1.22
py39: commands[0]> pytest --cov snmptrap --cov-report=xml --cov-report=html --cov-report=term tests --verbose --verbose --verbose
============================= test session starts ==============================
platform linux -- Python 3.9.14, pytest-8.4.2, pluggy-1.6.0 -- /w/workspace/dcaegen2-collectors-snmptrap-tox-merge-master/.tox/py39/bin/python
cachedir: .tox/py39/.pytest_cache
rootdir: /w/workspace/dcaegen2-collectors-snmptrap-tox-merge-master
plugins: cov-7.0.0
collecting ... collected 96 items

tests/test_snmptrapd.py::test_snmptrapd::test_add_varbind_to_json PASSED [  1%]
tests/test_snmptrapd.py::test_snmptrapd::test_add_varbind_to_log_string PASSED [  2%]
tests/test_snmptrapd.py::test_snmptrapd::test_comm_string_rewrite_observer SKIPPEDthod) [  3%]
tests/test_snmptrapd.py::test_snmptrapd::test_load_all_configs PASSED    [  4%]
tests/test_snmptrapd.py::test_snmptrapd::test_load_all_configs_signal PASSED [  5%]
tests/test_snmptrapd.py::test_snmptrapd::test_log_all_arriving_traps PASSED [  6%]
tests/test_snmptrapd.py::test_snmptrapd::test_log_all_incorrect_log_type PASSED [  7%]
tests/test_snmptrapd.py::test_snmptrapd::test_notif_receiver_cb PASSED   [  8%]
tests/test_snmptrapd.py::test_snmptrapd::test_post_dmaap PASSED          [  9%]
tests/test_snmptrapd.py::test_snmptrapd::test_resolve_ip PASSED          [ 10%]
tests/test_snmptrapd.py::test_snmptrapd::test_snmp_engine_observer_cb PASSED [ 11%]
tests/test_snmptrapd.py::test_snmptrapd::test_usage_err PASSED           [ 12%]
tests/test_snmptrapd.py::test_snmptrapd::test_v1_trap_receipt PASSED     [ 13%]
tests/test_trapd_exit.py::test_cleanup_and_exit::test_abnormal_exit PASSED [ 14%]
tests/test_trapd_exit.py::test_cleanup_and_exit::test_normal_exit PASSED [ 15%]
tests/test_trapd_get_cbs_config.py::test_trapd_get_cbs_config::test_cbs_env_present PASSED [ 16%]
tests/test_trapd_get_cbs_config.py::test_trapd_get_cbs_config::test_cbs_fallback_env_present PASSED [ 17%]
tests/test_trapd_get_cbs_config.py::test_trapd_get_cbs_config::test_cbs_fallback_env_present_bad_numbers PASSED [ 18%]
tests/test_trapd_get_cbs_config.py::test_trapd_get_cbs_config::test_cbs_override_env_invalid PASSED [ 19%]
tests/test_trapd_get_cbs_config.py::test_trapd_get_cbs_config::test_cbs_override_env_undefined PASSED [ 20%]
tests/test_trapd_http_session.py::test_init_session_obj::test_close_existing_session PASSED [ 21%]
tests/test_trapd_http_session.py::test_init_session_obj::test_close_nonexisting_close_raises PASSED [ 22%]
tests/test_trapd_http_session.py::test_init_session_obj::test_close_nonexisting_session PASSED [ 23%]
tests/test_trapd_http_session.py::test_init_session_obj::test_init_session_obj PASSED [ 25%]
tests/test_trapd_http_session.py::test_init_session_obj::test_init_session_obj_raises PASSED [ 26%]
tests/test_trapd_http_session.py::test_init_session_obj::test_reset PASSED [ 27%]
tests/test_trapd_io.py::test_trapd_io::test_close_file_does_not_exist PASSED [ 28%]
tests/test_trapd_io.py::test_trapd_io::test_close_file_exists PASSED     [ 29%]
tests/test_trapd_io.py::test_trapd_io::test_ecomp_logger_type_audit PASSED [ 30%]
tests/test_trapd_io.py::test_trapd_io::test_ecomp_logger_type_audit_bad_fd PASSED [ 31%]
tests/test_trapd_io.py::test_trapd_io::test_ecomp_logger_type_error PASSED [ 32%]
tests/test_trapd_io.py::test_trapd_io::test_ecomp_logger_type_error_bad_fd PASSED [ 33%]
tests/test_trapd_io.py::test_trapd_io::test_ecomp_logger_type_metrics PASSED [ 34%]
tests/test_trapd_io.py::test_trapd_io::test_ecomp_logger_type_metrics_bad_fd PASSED [ 35%]
tests/test_trapd_io.py::test_trapd_io::test_ecomp_logger_type_unknown PASSED [ 36%]
tests/test_trapd_io.py::test_trapd_io::test_ecomp_logger_type_unknown_bad_fd PASSED [ 37%]
tests/test_trapd_io.py::test_trapd_io::test_open_eelf_audit_file PASSED  [ 38%]
tests/test_trapd_io.py::test_trapd_io::test_open_eelf_audit_file_missing_name PASSED [ 39%]
tests/test_trapd_io.py::test_trapd_io::test_open_eelf_debug_file PASSED  [ 40%]
tests/test_trapd_io.py::test_trapd_io::test_open_eelf_debug_file_missing_name PASSED [ 41%]
tests/test_trapd_io.py::test_trapd_io::test_open_eelf_error_file PASSED  [ 42%]
tests/test_trapd_io.py::test_trapd_io::test_open_eelf_error_file_missing_name PASSED [ 43%]
tests/test_trapd_io.py::test_trapd_io::test_open_eelf_metrics_file PASSED [ 44%]
tests/test_trapd_io.py::test_trapd_io::test_open_eelf_metrics_file_missing_name PASSED [ 45%]
tests/test_trapd_io.py::test_trapd_io::test_open_file_exists PASSED      [ 46%]
tests/test_trapd_io.py::test_trapd_io::test_open_file_exists_does_not_exist PASSED [ 47%]
tests/test_trapd_io.py::test_trapd_io::test_roll_all_logs PASSED         [ 48%]
tests/test_trapd_io.py::test_trapd_io::test_roll_all_logs_not_open PASSED [ 50%]
tests/test_trapd_io.py::test_trapd_io::test_roll_all_logs_open_eelf_logs_returns_false PASSED [ 51%]
tests/test_trapd_io.py::test_trapd_io::test_roll_all_logs_open_file_arriving_traps_throws PASSED [ 52%]
tests/test_trapd_io.py::test_trapd_io::test_roll_all_logs_open_file_json_traps_throws PASSED [ 53%]
tests/test_trapd_io.py::test_trapd_io::test_roll_all_logs_roll_file_throws PASSED [ 54%]
tests/test_trapd_io.py::test_trapd_io::test_roll_file PASSED             [ 55%]
tests/test_trapd_io.py::test_trapd_io::test_roll_file_no_write_perms PASSED [ 56%]
tests/test_trapd_io.py::test_trapd_io::test_roll_file_not_present PASSED [ 57%]
tests/test_trapd_runtime_pid.py::test_trapd_runtime_pid::test_correct_usage PASSED [ 58%]
tests/test_trapd_runtime_pid.py::test_trapd_runtime_pid::test_correct_usage_but_throws PASSED [ 59%]
tests/test_trapd_runtime_pid.py::test_trapd_runtime_pid::test_missing_directory PASSED [ 60%]
tests/test_trapd_runtime_pid.py::test_trapd_runtime_pid::test_missing_file PASSED [ 61%]
tests/test_trapd_settings.py::test_trapd_settings::test_config_dict PASSED [ 62%]
tests/test_trapd_settings.py::test_trapd_settings::test_dns_cache_ip_expires PASSED [ 63%]
tests/test_trapd_settings.py::test_trapd_settings::test_dns_cache_ip_to_name PASSED [ 64%]
tests/test_trapd_settings.py::test_trapd_settings::test_nonexistent_dict PASSED [ 65%]
tests/test_trapd_snmpv3.py::test_snmpv3_config::test_v3_config_missing_engine PASSED [ 66%]
tests/test_trapd_snmpv3.py::test_snmpv3_config::test_v3_config_missing_user SKIPPED [ 67%]
tests/test_trapd_snmpv3.py::test_snmpv3_config::test_v3_config_not_present PASSED [ 68%]
tests/test_trapd_snmpv3.py::test_snmpv3_config::test_v3_config_present PASSED [ 69%]
tests/test_trapd_stormwatch.py::test_cleanup_and_exit::test_increment_existing_counter PASSED [ 70%]
tests/test_trapd_stormwatch.py::test_cleanup_and_exit::test_sw_clear_dicts PASSED [ 71%]
tests/test_trapd_stormwatch.py::test_cleanup_and_exit::test_sw_init PASSED [ 72%]
tests/test_trapd_stormwatch.py::test_cleanup_and_exit::test_sw_load_trap_config PASSED [ 73%]
tests/test_trapd_stormwatch.py::test_cleanup_and_exit::test_sw_log_metrics PASSED [ 75%]
tests/test_trapd_stormwatch.py::test_cleanup_and_exit::test_sw_reset_counter_dict PASSED [ 76%]
tests/test_trapd_stormwatch.py::test_cleanup_and_exit::test_sw_storm_active PASSED [ 77%]
tests/test_trapd_stormwatch_settings.py::test_cleanup_and_exit::test_nonexistent_dict PASSED [ 78%]
tests/test_trapd_stormwatch_settings.py::test_cleanup_and_exit::test_storm_active_dict PASSED [ 79%]
tests/test_trapd_stormwatch_settings.py::test_cleanup_and_exit::test_storm_counter_dict PASSED [ 80%]
tests/test_trapd_stormwatch_settings.py::test_cleanup_and_exit::test_sw_config_category PASSED [ 81%]
tests/test_trapd_stormwatch_settings.py::test_cleanup_and_exit::test_sw_config_high_water_in_interval_dict PASSED [ 82%]
tests/test_trapd_stormwatch_settings.py::test_cleanup_and_exit::test_sw_config_low_water_in_interval_dict PASSED [ 83%]
tests/test_trapd_stormwatch_settings.py::test_cleanup_and_exit::test_sw_config_oid_dict PASSED [ 84%]
tests/test_trapd_stormwatch_settings.py::test_cleanup_and_exit::test_sw_interval_in_seconds PASSED [ 85%]
tests/test_trapd_stormwatch_settings.py::test_cleanup_and_exit::test_sw_last_stormwatch_dict_analysis PASSED [ 86%]
tests/test_trapd_vb_types.py::test_trapd_vb_types::test_trapd_vb_type_conversion_bits PASSED [ 87%]
tests/test_trapd_vb_types.py::test_trapd_vb_types::test_trapd_vb_type_conversion_counter32 PASSED [ 88%]
tests/test_trapd_vb_types.py::test_trapd_vb_types::test_trapd_vb_type_conversion_gauge32 PASSED [ 89%]
tests/test_trapd_vb_types.py::test_trapd_vb_types::test_trapd_vb_type_conversion_integer PASSED [ 90%]
tests/test_trapd_vb_types.py::test_trapd_vb_types::test_trapd_vb_type_conversion_integer32 PASSED [ 91%]
tests/test_trapd_vb_types.py::test_trapd_vb_types::test_trapd_vb_type_conversion_invalid PASSED [ 92%]
tests/test_trapd_vb_types.py::test_trapd_vb_types::test_trapd_vb_type_conversion_ipaddress PASSED [ 93%]
tests/test_trapd_vb_types.py::test_trapd_vb_types::test_trapd_vb_type_conversion_null PASSED [ 94%]
tests/test_trapd_vb_types.py::test_trapd_vb_types::test_trapd_vb_type_conversion_objectidentifier PASSED [ 95%]
tests/test_trapd_vb_types.py::test_trapd_vb_types::test_trapd_vb_type_conversion_octetstring PASSED [ 96%]
tests/test_trapd_vb_types.py::test_trapd_vb_types::test_trapd_vb_type_conversion_py_type_5 PASSED [ 97%]
tests/test_trapd_vb_types.py::test_trapd_vb_types::test_trapd_vb_type_conversion_py_type_6 PASSED [ 98%]
tests/test_trapd_vb_types.py::test_trapd_vb_types::test_trapd_vb_type_conversion_timeticks PASSED [100%]

=============================== warnings summary ===============================
.tox/py39/lib/python3.9/site-packages/urllib3/util/selectors.py:14
  /w/workspace/dcaegen2-collectors-snmptrap-tox-merge-master/.tox/py39/lib/python3.9/site-packages/urllib3/util/selectors.py:14: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3, and in 3.10 it will stop working
    from collections import namedtuple, Mapping

.tox/py39/lib/python3.9/site-packages/urllib3/_collections.py:2
  /w/workspace/dcaegen2-collectors-snmptrap-tox-merge-master/.tox/py39/lib/python3.9/site-packages/urllib3/_collections.py:2: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3, and in 3.10 it will stop working
    from collections import Mapping, MutableMapping

.tox/py39/lib/python3.9/site-packages/pysnmp/carrier/asyncio/dispatch.py:58
  /w/workspace/dcaegen2-collectors-snmptrap-tox-merge-master/.tox/py39/lib/python3.9/site-packages/pysnmp/carrier/asyncio/dispatch.py:58: DeprecationWarning: "@coroutine" decorator is deprecated since Python 3.8, use "async def" instead
    def handle_timeout(self):

<string>:2
  <string>:2: DeprecationWarning: "@coroutine" decorator is deprecated since Python 3.8, use "async def" instead

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
================================ tests coverage ================================
_______________ coverage: platform linux, python 3.9.14-final-0 ________________

Name                                        Stmts   Miss  Cover
---------------------------------------------------------------
snmptrap/__init__.py                            0      0   100%
snmptrap/mod/__init__.py                        0      0   100%
snmptrap/mod/trapd_exit.py                     10      0   100%
snmptrap/mod/trapd_get_cbs_config.py           57      3    95%
snmptrap/mod/trapd_http_session.py             31      0   100%
snmptrap/mod/trapd_io.py                      159      0   100%
snmptrap/mod/trapd_runtime_pid.py              25      0   100%
snmptrap/mod/trapd_settings.py                 54      0   100%
snmptrap/mod/trapd_snmpv3.py                  107      2    98%
snmptrap/mod/trapd_stats_settings.py            6      0   100%
snmptrap/mod/trapd_stormwatch.py              227     19    92%
snmptrap/mod/trapd_stormwatch_settings.py      10      0   100%
snmptrap/mod/trapd_vb_types.py                 23      0   100%
snmptrap/snmptrapd.py                         362     85    77%
---------------------------------------------------------------
TOTAL                                        1071    109    90%
Coverage HTML written to dir htmlcov
Coverage XML written to file coverage.xml
================== 94 passed, 2 skipped, 4 warnings in 12.44s ==================
  py37: SKIP (1.32 seconds)
  py38: OK (22.95=setup[10.85]+cmd[12.10] seconds)
  py39: OK (22.65=setup[9.80]+cmd[12.85] seconds)
  congratulations :) (46.95 seconds)
