troubadix 25.6.1__tar.gz → 25.7.0__tar.gz
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.
- {troubadix-25.6.1 → troubadix-25.7.0}/PKG-INFO +1 -1
- {troubadix-25.6.1 → troubadix-25.7.0}/pyproject.toml +2 -1
- troubadix-25.7.0/tests/standalone_plugins/test_changed_creation_date.py +173 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/standalone_plugins/test_changed_oid.py +4 -21
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/__version__.py +1 -1
- troubadix-25.7.0/troubadix/standalone_plugins/changed_creation_date.py +141 -0
- troubadix-25.7.0/troubadix/standalone_plugins/util.py +27 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/LICENSE +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/README.md +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/__init__.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/helper/__init__.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/helper/test_date_format.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/helper/test_linguistic_exception_handler.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/helper/test_patterns.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/__init__.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/fail.nasl +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/fail2.nasl +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test.nasl +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_badwords.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_copyright_text.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_copyright_year.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_creation_date.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_cve_format.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_cvss_format.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_dependencies.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_dependency_category_order.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_deprecated_dependency.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_deprecated_functions.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_double_end_points.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_duplicate_oid.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_duplicated_script_tags.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_encoding.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_files/fail_bad_new_line.nasl +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_files/fail_badwords.nasl +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_files/fail_name_and_copyright_newline.nasl +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_files/fail_name_newline.nasl +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_files/fail_permissions.nasl +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_files/fail_spelling.nasl +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_files/nasl/21.04/fail.nasl +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_files/nasl/21.04/fail_badwords.nasl +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_files/nasl/21.04/fail_name_and_copyright_newline.nasl +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_files/nasl/21.04/fail_name_newline.nasl +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_files/nasl/21.04/fail_solution_template.nasl +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_files/nasl/21.04/runner/fail.nasl +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_files/nasl/21.04/runner/fail2.nasl +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_files/nasl/21.04/runner/test.nasl +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_files/nasl/21.04/runner/test_valid_oid.nasl +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_files/nasl/21.04/test.inc +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_files/nasl/21.04/test.nasl +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_files/nasl/warning.nasl +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_files/ok_permissions.nasl +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_files/test_oid.nasl +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_forking_nasl_functions.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_get_kb_on_services.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_grammar.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_http_links_in_tags.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_illegal_characters.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_log_messages.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_malformed_dependencies.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_misplaced_compare_in_if.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_missing_desc_exit.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_missing_tag_solution.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_multiple_re_parameters.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_newlines.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_overlong_description_lines.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_overlong_script_tags.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_prod_svc_detect_in_vulnvt.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_qod.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_reporting_consistency.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_script_add_preference_type.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_script_calls_empty_values.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_script_calls_recommended.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_script_category.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_script_copyright.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_script_family.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_script_tag_form.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_script_tag_whitespaces.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_script_tags_mandatory.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_script_version_and_last_modification_tags.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_script_xref_form.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_script_xref_url.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_security_messages.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_set_get_kb_calls.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_severity_date.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_severity_format.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_severity_origin.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_solution_text.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_solution_type.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_spaces_before_dots.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_spaces_in_filename.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_spelling.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_tabs.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_todo_tbd.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_trailing_spaces_tabs.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_using_display.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_valid_oid.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_valid_script_tag_names.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_variable_redefinition_in_foreach.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_vt_file_permissions.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_vt_placement.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/standalone_plugins/__init__.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/standalone_plugins/changed_packages/__init__.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/standalone_plugins/changed_packages/markers/__init__.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/standalone_plugins/changed_packages/markers/test_added_epoch.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/standalone_plugins/changed_packages/markers/test_added_release.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/standalone_plugins/changed_packages/markers/test_added_udeb.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/standalone_plugins/changed_packages/markers/test_changed_update.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/standalone_plugins/changed_packages/markers/test_dropped_architecture.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/standalone_plugins/changed_packages/test_changed_packages.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/standalone_plugins/changed_packages/test_package.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/standalone_plugins/nasl/21.04/21_script.nasl +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/standalone_plugins/nasl/22.04/22_script.nasl +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/standalone_plugins/nasl/common/bar.nasl +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/standalone_plugins/nasl/common/foo.nasl +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/standalone_plugins/nasl/common/foobar.nasl +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/standalone_plugins/nasl/common/gsf/enterprise_script.nasl +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/standalone_plugins/test_changed_cves.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/standalone_plugins/test_dependency_graph.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/standalone_plugins/test_deprecate_vts.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/standalone_plugins/test_file_extensions.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/standalone_plugins/test_last_modification.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/standalone_plugins/test_no_solution.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/standalone_plugins/test_version_updated.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/test_argparser.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/test_helper.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/test_naslinter.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/test_reporter.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/test_results.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/tests/test_runner.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/__init__.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/argparser.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/codespell/codespell.additions +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/codespell/codespell.exclude +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/codespell/codespell.ignore +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/helper/__init__.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/helper/date_format.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/helper/helper.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/helper/linguistic_exception_handler.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/helper/patterns.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugin.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugins/__init__.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugins/badwords.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugins/copyright_text.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugins/copyright_year.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugins/creation_date.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugins/cve_format.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugins/cvss_format.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugins/dependencies.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugins/dependency_category_order.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugins/deprecated_dependency.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugins/deprecated_functions.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugins/double_end_points.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugins/duplicate_oid.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugins/duplicated_script_tags.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugins/encoding.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugins/forking_nasl_functions.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugins/get_kb_on_services.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugins/grammar.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugins/http_links_in_tags.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugins/illegal_characters.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugins/log_messages.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugins/malformed_dependencies.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugins/misplaced_compare_in_if.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugins/missing_desc_exit.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugins/missing_tag_solution.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugins/multiple_re_parameters.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugins/newlines.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugins/overlong_description_lines.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugins/overlong_script_tags.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugins/prod_svc_detect_in_vulnvt.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugins/qod.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugins/reporting_consistency.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugins/script_add_preference_type.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugins/script_calls_empty_values.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugins/script_calls_recommended.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugins/script_category.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugins/script_copyright.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugins/script_family.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugins/script_tag_form.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugins/script_tag_whitespaces.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugins/script_tags_mandatory.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugins/script_version_and_last_modification_tags.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugins/script_xref_form.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugins/script_xref_url.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugins/security_messages.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugins/set_get_kb_calls.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugins/severity_date.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugins/severity_format.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugins/severity_origin.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugins/solution_text.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugins/solution_type.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugins/spaces_before_dots.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugins/spaces_in_filename.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugins/spelling.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugins/tabs.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugins/todo_tbd.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugins/trailing_spaces_tabs.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugins/using_display.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugins/valid_oid.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugins/valid_script_tag_names.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugins/variable_assigned_in_if.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugins/variable_redefinition_in_foreach.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugins/vt_file_permissions.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/plugins/vt_placement.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/reporter.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/results.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/runner.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/standalone_plugins/__init__.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/standalone_plugins/allowed_rev_diff.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/standalone_plugins/changed_cves.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/standalone_plugins/changed_oid.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/standalone_plugins/changed_packages/changed_packages.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/standalone_plugins/changed_packages/marker/__init__.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/standalone_plugins/changed_packages/marker/added_epoch.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/standalone_plugins/changed_packages/marker/added_release.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/standalone_plugins/changed_packages/marker/added_udeb.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/standalone_plugins/changed_packages/marker/changed_update.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/standalone_plugins/changed_packages/marker/dropped_architecture.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/standalone_plugins/changed_packages/marker/marker.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/standalone_plugins/changed_packages/package.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/standalone_plugins/common.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/standalone_plugins/dependency_graph/__init__.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/standalone_plugins/dependency_graph/checks.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/standalone_plugins/dependency_graph/cli.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/standalone_plugins/dependency_graph/dependency_graph.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/standalone_plugins/dependency_graph/models.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/standalone_plugins/deprecate_vts.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/standalone_plugins/file_extensions.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/standalone_plugins/last_modification.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/standalone_plugins/no_solution.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/standalone_plugins/version_updated.py +0 -0
- {troubadix-25.6.1 → troubadix-25.7.0}/troubadix/troubadix.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "troubadix"
|
|
3
|
-
version = "25.
|
|
3
|
+
version = "25.7.0"
|
|
4
4
|
description = "A linting and QA check tool for NASL files"
|
|
5
5
|
authors = ["Greenbone <info@greenbone.net>"]
|
|
6
6
|
license = "GPL-3.0-or-later"
|
|
@@ -73,6 +73,7 @@ version-module-file = "troubadix/__version__.py"
|
|
|
73
73
|
|
|
74
74
|
[tool.poetry.scripts]
|
|
75
75
|
troubadix = 'troubadix.troubadix:main'
|
|
76
|
+
troubadix-changed-creation-date = 'troubadix.standalone_plugins.changed_creation_date:main'
|
|
76
77
|
troubadix-changed-oid = 'troubadix.standalone_plugins.changed_oid:main'
|
|
77
78
|
troubadix-last-modification = 'troubadix.standalone_plugins.last_modification:main'
|
|
78
79
|
troubadix-version-updated = 'troubadix.standalone_plugins.version_updated:main'
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
+
# SPDX-FileCopyrightText: 2025 Greenbone AG
|
|
3
|
+
|
|
4
|
+
import unittest
|
|
5
|
+
from argparse import Namespace
|
|
6
|
+
from os import chdir
|
|
7
|
+
from pathlib import Path
|
|
8
|
+
from subprocess import SubprocessError
|
|
9
|
+
from tempfile import TemporaryDirectory
|
|
10
|
+
from unittest.mock import patch
|
|
11
|
+
|
|
12
|
+
from troubadix.standalone_plugins.changed_creation_date import (
|
|
13
|
+
check_changed_creation_date,
|
|
14
|
+
git,
|
|
15
|
+
main,
|
|
16
|
+
parse_arguments,
|
|
17
|
+
)
|
|
18
|
+
|
|
19
|
+
TEST_COMMIT_RANGE = "main..test"
|
|
20
|
+
TEST_FILES = [Path("test.nasl")]
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class TestChangedCreationDate(unittest.TestCase):
|
|
24
|
+
|
|
25
|
+
@patch("troubadix.standalone_plugins.changed_creation_date.Path.exists")
|
|
26
|
+
@patch("troubadix.standalone_plugins.changed_creation_date.git")
|
|
27
|
+
def test_check_creation_date_ok(self, mock_git, mock_exists):
|
|
28
|
+
|
|
29
|
+
mock_git.return_value = (
|
|
30
|
+
'-script_tag(name:"creation_date",'
|
|
31
|
+
' value:"2025-03-04 10:00:00 +0200 (Tue, 04 Mar 2025)");\n'
|
|
32
|
+
'+script_tag(name:"creation_date",'
|
|
33
|
+
' value:"2025-03-04 10:00:00 +0200 (Tue, 04 Mar 2025)");\n'
|
|
34
|
+
"+test"
|
|
35
|
+
)
|
|
36
|
+
mock_exists.return_value = True
|
|
37
|
+
|
|
38
|
+
self.assertFalse(
|
|
39
|
+
check_changed_creation_date(TEST_COMMIT_RANGE, TEST_FILES)
|
|
40
|
+
)
|
|
41
|
+
|
|
42
|
+
@patch("troubadix.standalone_plugins.changed_creation_date.Path.exists")
|
|
43
|
+
@patch("troubadix.standalone_plugins.changed_creation_date.git")
|
|
44
|
+
def test_check_creation_date_fail(self, mock_git, mock_exists):
|
|
45
|
+
|
|
46
|
+
mock_git.return_value = (
|
|
47
|
+
'-script_tag(name:"creation_date",'
|
|
48
|
+
' value:"2025-03-04 10:00:00 +0200 (Tue, 04 Mar 2025)");\n'
|
|
49
|
+
'+script_tag(name:"creation_date",'
|
|
50
|
+
' value:"2020-03-04 10:00:00 +0200 (Wed, 04 Mar 2020)");'
|
|
51
|
+
)
|
|
52
|
+
mock_exists.return_value = True
|
|
53
|
+
|
|
54
|
+
self.assertTrue(
|
|
55
|
+
check_changed_creation_date(TEST_COMMIT_RANGE, TEST_FILES)
|
|
56
|
+
)
|
|
57
|
+
|
|
58
|
+
@patch("troubadix.standalone_plugins.changed_creation_date.Path.exists")
|
|
59
|
+
@patch("troubadix.standalone_plugins.changed_creation_date.git")
|
|
60
|
+
def test_creation_date_not_modified_lines_added(
|
|
61
|
+
self, mock_git, mock_exists
|
|
62
|
+
):
|
|
63
|
+
|
|
64
|
+
mock_git.return_value = (
|
|
65
|
+
'-script_tag(name:"creation_date",'
|
|
66
|
+
' value:"2025-03-04 10:00:00 +0200 (Tue, 04 Mar 2025)");\n'
|
|
67
|
+
"test\n"
|
|
68
|
+
'+script_tag(name:"creation_date",'
|
|
69
|
+
' value:"2025-03-04 10:00:00 +0200 (Tue, 04 Mar 2025)");'
|
|
70
|
+
)
|
|
71
|
+
mock_exists.return_value = True
|
|
72
|
+
|
|
73
|
+
self.assertFalse(
|
|
74
|
+
check_changed_creation_date(TEST_COMMIT_RANGE, TEST_FILES)
|
|
75
|
+
)
|
|
76
|
+
|
|
77
|
+
@patch("troubadix.standalone_plugins.changed_creation_date.Path.exists")
|
|
78
|
+
@patch("troubadix.standalone_plugins.changed_creation_date.git")
|
|
79
|
+
def test_creation_date_not_modified_lines_removed(
|
|
80
|
+
self, mock_git, mock_exists
|
|
81
|
+
):
|
|
82
|
+
|
|
83
|
+
mock_git.return_value = (
|
|
84
|
+
'-script_tag(name:"This got removed", value:"Nothing");'
|
|
85
|
+
)
|
|
86
|
+
mock_exists.return_value = True
|
|
87
|
+
|
|
88
|
+
self.assertFalse(
|
|
89
|
+
check_changed_creation_date(TEST_COMMIT_RANGE, TEST_FILES)
|
|
90
|
+
)
|
|
91
|
+
|
|
92
|
+
@patch("troubadix.standalone_plugins.changed_creation_date.Path.exists")
|
|
93
|
+
@patch("troubadix.standalone_plugins.changed_creation_date.git")
|
|
94
|
+
def test_creation_date_added_not_removed(self, mock_git, mock_exists):
|
|
95
|
+
|
|
96
|
+
mock_git.return_value = (
|
|
97
|
+
'+script_tag(name:"This got added", value:"Something");\n'
|
|
98
|
+
'+script_tag(name:"creation_date", '
|
|
99
|
+
' value:"2025-03-04 10:00:00 +0200 (Tue, 04 Mar 2025)");'
|
|
100
|
+
)
|
|
101
|
+
mock_exists.return_value = True
|
|
102
|
+
|
|
103
|
+
self.assertFalse(
|
|
104
|
+
check_changed_creation_date(TEST_COMMIT_RANGE, TEST_FILES)
|
|
105
|
+
)
|
|
106
|
+
|
|
107
|
+
def test_git_fail(self):
|
|
108
|
+
with self.assertRaises(SubprocessError):
|
|
109
|
+
git("blub")
|
|
110
|
+
|
|
111
|
+
def test_git_ok(self):
|
|
112
|
+
git("--version")
|
|
113
|
+
|
|
114
|
+
@patch("troubadix.standalone_plugins.changed_creation_date.git")
|
|
115
|
+
@patch(
|
|
116
|
+
"troubadix.standalone_plugins.changed_creation_date.ArgumentParser.parse_args"
|
|
117
|
+
)
|
|
118
|
+
def test_args_ok(self, mock_parse_args, mock_git):
|
|
119
|
+
|
|
120
|
+
mock_parse_args.return_value = Namespace(
|
|
121
|
+
commit_range="main..test", files=[]
|
|
122
|
+
)
|
|
123
|
+
mock_git.return_value = "test1.nasl\ntest2.nasl\ntest3.txt"
|
|
124
|
+
|
|
125
|
+
parsed_args = parse_arguments()
|
|
126
|
+
|
|
127
|
+
self.assertEqual(parsed_args.commit_range, "main..test")
|
|
128
|
+
self.assertEqual(
|
|
129
|
+
parsed_args.files, [Path("test1.nasl"), Path("test2.nasl")]
|
|
130
|
+
)
|
|
131
|
+
|
|
132
|
+
def test_main_no_git_repository(self):
|
|
133
|
+
cwd = Path.cwd()
|
|
134
|
+
with TemporaryDirectory() as tempdir:
|
|
135
|
+
try:
|
|
136
|
+
chdir(tempdir)
|
|
137
|
+
self.assertEqual(main(), 1)
|
|
138
|
+
finally:
|
|
139
|
+
chdir(cwd)
|
|
140
|
+
|
|
141
|
+
@patch("troubadix.standalone_plugins.changed_creation_date.parse_arguments")
|
|
142
|
+
@patch(
|
|
143
|
+
"troubadix.standalone_plugins.changed_creation_date.check_changed_creation_date"
|
|
144
|
+
)
|
|
145
|
+
@patch("troubadix.standalone_plugins.changed_creation_date.os.chdir")
|
|
146
|
+
@patch("troubadix.standalone_plugins.changed_creation_date.git")
|
|
147
|
+
def test_main_check_creation_date_ok(
|
|
148
|
+
self, mock_git, _, mock_check_creation_date, __
|
|
149
|
+
):
|
|
150
|
+
|
|
151
|
+
mock_git.return_value = "test_directory"
|
|
152
|
+
mock_check_creation_date.return_value = 0
|
|
153
|
+
|
|
154
|
+
self.assertEqual(main(), 0)
|
|
155
|
+
|
|
156
|
+
@patch("troubadix.standalone_plugins.changed_creation_date.parse_arguments")
|
|
157
|
+
@patch(
|
|
158
|
+
"troubadix.standalone_plugins.changed_creation_date.check_changed_creation_date"
|
|
159
|
+
)
|
|
160
|
+
@patch("troubadix.standalone_plugins.changed_creation_date.os.chdir")
|
|
161
|
+
@patch("troubadix.standalone_plugins.changed_creation_date.git")
|
|
162
|
+
def test_main_check_creation_date_fail(
|
|
163
|
+
self, mock_git, _, mock_check_creation_date, __
|
|
164
|
+
):
|
|
165
|
+
|
|
166
|
+
mock_git.return_value = "test_directory"
|
|
167
|
+
mock_check_creation_date.return_value = 2
|
|
168
|
+
|
|
169
|
+
self.assertEqual(main(), 2)
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
if __name__ == "__main__":
|
|
173
|
+
unittest.main()
|
|
@@ -15,29 +15,12 @@
|
|
|
15
15
|
# You should have received a copy of the GNU General Public License
|
|
16
16
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
17
|
|
|
18
|
-
import os
|
|
19
|
-
import tempfile
|
|
20
18
|
import unittest
|
|
21
|
-
from contextlib import contextmanager
|
|
22
19
|
from pathlib import Path
|
|
23
20
|
from subprocess import SubprocessError
|
|
24
|
-
from typing import Generator
|
|
25
21
|
|
|
26
22
|
from troubadix.standalone_plugins.changed_oid import check_oid, git, parse_args
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
@contextmanager
|
|
30
|
-
def tempgitdir() -> Generator[Path, None, None]:
|
|
31
|
-
cwd = Path.cwd()
|
|
32
|
-
tempdir = tempfile.TemporaryDirectory()
|
|
33
|
-
temppath = Path(tempdir.name)
|
|
34
|
-
os.chdir(str(temppath))
|
|
35
|
-
git("init", "-b", "main")
|
|
36
|
-
git("config", "--local", "user.email", "max.mustermann@example.com")
|
|
37
|
-
git("config", "--local", "user.name", "Max Mustermann")
|
|
38
|
-
yield temppath
|
|
39
|
-
tempdir.cleanup()
|
|
40
|
-
os.chdir(str(cwd))
|
|
23
|
+
from troubadix.standalone_plugins.util import temporary_git_directory
|
|
41
24
|
|
|
42
25
|
|
|
43
26
|
def testgit(tmpdir: Path, ok: bool = False) -> None:
|
|
@@ -58,13 +41,13 @@ def testgit(tmpdir: Path, ok: bool = False) -> None:
|
|
|
58
41
|
|
|
59
42
|
class TestChangedOid(unittest.TestCase):
|
|
60
43
|
def test_check_oid_ok(self):
|
|
61
|
-
with
|
|
44
|
+
with temporary_git_directory() as tmpdir:
|
|
62
45
|
testgit(tmpdir, True)
|
|
63
46
|
parsed_args = parse_args(["-c", "main..test"])
|
|
64
47
|
self.assertFalse(check_oid(parsed_args))
|
|
65
48
|
|
|
66
49
|
def test_check_oid_fail(self):
|
|
67
|
-
with
|
|
50
|
+
with temporary_git_directory() as tmpdir:
|
|
68
51
|
testgit(tmpdir)
|
|
69
52
|
parsed_args = parse_args(["-c", "main..test"])
|
|
70
53
|
self.assertTrue(check_oid(parsed_args))
|
|
@@ -77,7 +60,7 @@ class TestChangedOid(unittest.TestCase):
|
|
|
77
60
|
git("--version")
|
|
78
61
|
|
|
79
62
|
def test_args_ok(self):
|
|
80
|
-
with
|
|
63
|
+
with temporary_git_directory() as tmpdir:
|
|
81
64
|
testgit(tmpdir)
|
|
82
65
|
self.assertEqual(
|
|
83
66
|
parse_args(["-c", "main..test"]).commit_range, "main..test"
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
+
# SPDX-FileCopyrightText: 2025 Greenbone AG
|
|
3
|
+
|
|
4
|
+
import logging
|
|
5
|
+
import os
|
|
6
|
+
import re
|
|
7
|
+
import subprocess
|
|
8
|
+
import sys
|
|
9
|
+
from argparse import ArgumentParser, Namespace
|
|
10
|
+
from pathlib import Path
|
|
11
|
+
|
|
12
|
+
from troubadix.argparser import file_type_existing
|
|
13
|
+
from troubadix.standalone_plugins.common import git
|
|
14
|
+
|
|
15
|
+
logger = logging.getLogger(__name__)
|
|
16
|
+
|
|
17
|
+
CREATION_DATE_BASE_PATTERN = (
|
|
18
|
+
r"\s*script_tag\s*\(\s*name\s*:\s*\"creation_date\"\s*,"
|
|
19
|
+
r"\s*value\s*:\s*\"(?P<creation_date>.*)\"\s*\)\s*;"
|
|
20
|
+
)
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
def parse_arguments() -> Namespace:
|
|
24
|
+
|
|
25
|
+
parser = ArgumentParser(
|
|
26
|
+
description="Check for changed creation date",
|
|
27
|
+
)
|
|
28
|
+
parser.add_argument(
|
|
29
|
+
"-c",
|
|
30
|
+
"--commit_range",
|
|
31
|
+
type=str,
|
|
32
|
+
required=True,
|
|
33
|
+
help=(
|
|
34
|
+
"Git commit range to check e.g. "
|
|
35
|
+
"2c87f4b6062804231fd508411510ca07fd270380..HEAD or"
|
|
36
|
+
"YOUR_BRANCH..main"
|
|
37
|
+
),
|
|
38
|
+
)
|
|
39
|
+
parser.add_argument(
|
|
40
|
+
"-f",
|
|
41
|
+
"--files",
|
|
42
|
+
nargs="+",
|
|
43
|
+
type=file_type_existing,
|
|
44
|
+
default=[],
|
|
45
|
+
help=(
|
|
46
|
+
"List of files to diff. "
|
|
47
|
+
"If empty use all files added or modified in the commit range."
|
|
48
|
+
),
|
|
49
|
+
)
|
|
50
|
+
args = parser.parse_args()
|
|
51
|
+
|
|
52
|
+
if not args.files:
|
|
53
|
+
args.files += [
|
|
54
|
+
Path(filename)
|
|
55
|
+
for filename in git(
|
|
56
|
+
"diff", "--name-only", "--diff-filter=d", args.commit_range
|
|
57
|
+
).splitlines()
|
|
58
|
+
if filename.endswith(".nasl")
|
|
59
|
+
]
|
|
60
|
+
|
|
61
|
+
return args
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
def check_changed_creation_date(
|
|
65
|
+
commit_range: str, nasl_files: list[Path]
|
|
66
|
+
) -> bool:
|
|
67
|
+
"""
|
|
68
|
+
This script checks (via git diff) if the creation date of
|
|
69
|
+
passed VTs has changed, which is not allowed.
|
|
70
|
+
"""
|
|
71
|
+
creation_date_changed = False
|
|
72
|
+
|
|
73
|
+
for nasl_file in nasl_files:
|
|
74
|
+
|
|
75
|
+
if not nasl_file.exists():
|
|
76
|
+
continue
|
|
77
|
+
|
|
78
|
+
logger.info("Check file %s", nasl_file)
|
|
79
|
+
text = git(
|
|
80
|
+
"-c",
|
|
81
|
+
"color.status=false",
|
|
82
|
+
"--no-pager",
|
|
83
|
+
"diff",
|
|
84
|
+
commit_range,
|
|
85
|
+
nasl_file,
|
|
86
|
+
)
|
|
87
|
+
|
|
88
|
+
creation_date_added = re.search(
|
|
89
|
+
r"^\+" + CREATION_DATE_BASE_PATTERN,
|
|
90
|
+
text,
|
|
91
|
+
re.MULTILINE,
|
|
92
|
+
)
|
|
93
|
+
if not creation_date_added or not (
|
|
94
|
+
added := creation_date_added.group("creation_date")
|
|
95
|
+
):
|
|
96
|
+
continue
|
|
97
|
+
|
|
98
|
+
creation_date_removed = re.search(
|
|
99
|
+
r"^\-" + CREATION_DATE_BASE_PATTERN,
|
|
100
|
+
text,
|
|
101
|
+
re.MULTILINE,
|
|
102
|
+
)
|
|
103
|
+
if not creation_date_removed or not (
|
|
104
|
+
removed := creation_date_removed.group("creation_date")
|
|
105
|
+
):
|
|
106
|
+
continue
|
|
107
|
+
|
|
108
|
+
if added != removed:
|
|
109
|
+
logger.error(
|
|
110
|
+
"The creation date of %s was changed, "
|
|
111
|
+
"which is not allowed.\nNew creation date: "
|
|
112
|
+
"%s\nOld creation date: %s",
|
|
113
|
+
nasl_file,
|
|
114
|
+
added,
|
|
115
|
+
removed,
|
|
116
|
+
)
|
|
117
|
+
creation_date_changed = True
|
|
118
|
+
|
|
119
|
+
return creation_date_changed
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
def main() -> int:
|
|
123
|
+
|
|
124
|
+
try:
|
|
125
|
+
git_base = git("rev-parse", "--show-toplevel")
|
|
126
|
+
os.chdir(git_base.rstrip("\n"))
|
|
127
|
+
except subprocess.SubprocessError:
|
|
128
|
+
logger.error(
|
|
129
|
+
"Your current working directory doesn't belong to a git repository"
|
|
130
|
+
)
|
|
131
|
+
return 1
|
|
132
|
+
|
|
133
|
+
args = parse_arguments()
|
|
134
|
+
if check_changed_creation_date(args.commit_range, args.files):
|
|
135
|
+
return 2
|
|
136
|
+
|
|
137
|
+
return 0
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
if __name__ == "__main__":
|
|
141
|
+
sys.exit(main())
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
+
# SPDX-FileCopyrightText: 2025 Greenbone AG
|
|
3
|
+
|
|
4
|
+
from contextlib import contextmanager
|
|
5
|
+
from os import chdir
|
|
6
|
+
from pathlib import Path
|
|
7
|
+
from tempfile import TemporaryDirectory
|
|
8
|
+
|
|
9
|
+
from troubadix.standalone_plugins.changed_creation_date import git
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
@contextmanager
|
|
13
|
+
def temporary_git_directory():
|
|
14
|
+
|
|
15
|
+
cwd = Path.cwd()
|
|
16
|
+
|
|
17
|
+
with TemporaryDirectory() as tempdir:
|
|
18
|
+
|
|
19
|
+
try:
|
|
20
|
+
chdir(tempdir)
|
|
21
|
+
git("init", "-b", "main")
|
|
22
|
+
git("config", "--local", "user.email", "max.mustermann@example.com")
|
|
23
|
+
git("config", "--local", "user.name", "Max Mustermann")
|
|
24
|
+
yield Path(tempdir)
|
|
25
|
+
|
|
26
|
+
finally:
|
|
27
|
+
chdir(cwd)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_files/fail_name_and_copyright_newline.nasl
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_files/nasl/21.04/fail_badwords.nasl
RENAMED
|
File without changes
|
|
File without changes
|
{troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_files/nasl/21.04/fail_name_newline.nasl
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{troubadix-25.6.1 → troubadix-25.7.0}/tests/plugins/test_files/nasl/21.04/runner/test_valid_oid.nasl
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|