Source: gitlint
Version: 0.12.0-0.1
Severity: serious
Justification: FTBFS on amd64
Tags: buster sid
Usertags: ftbfs-20200222 ftbfs-buster

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.

Relevant part (hopefully):
> make[1]: Entering directory '/<<PKGBUILDDIR>>'
> PYBUILD_SYSTEM=custom dh_auto_test
> I: pybuild base:217: python3.8 -m coverage run 
> --omit='/usr/*,/<<PKGBUILDDIR>>/gitlint/tests/*,/<<PKGBUILDDIR>>/gitlint/qa/*'
>  -m unittest discover -v -s /<<PKGBUILDDIR>>/gitlint/tests
> test_contrib_rule_instantiated (contrib.test_contrib_rules.ContribRuleTests)
> Tests that all contrib rules can be instantiated without errors. ... ok
> test_contrib_rule_naming_conventions 
> (contrib.test_contrib_rules.ContribRuleTests)
> Tests that contrib rules follow certain naming conventions. ... ok
> test_contrib_rule_uniqueness (contrib.test_contrib_rules.ContribRuleTests)
> Tests that all contrib rules have unique identifiers. ... ok
> test_contrib_tests_exist (contrib.test_contrib_rules.ContribRuleTests)
> Tests that every contrib rule file has an associated test file. ... ok
> test_conventional_commits 
> (contrib.test_conventional_commit.ContribConventionalCommitTests) ... ok
> test_enable (contrib.test_conventional_commit.ContribConventionalCommitTests) 
> ... ok
> test_enable (contrib.test_signedoff_by.ContribSignedOffByTests) ... ok
> test_signedoff_by (contrib.test_signedoff_by.ContribSignedOffByTests) ... ok
> test_body_changed_file_mention (rules.test_body_rules.BodyRuleTests) ... ok
> test_body_first_line_empty (rules.test_body_rules.BodyRuleTests) ... ok
> test_body_min_length (rules.test_body_rules.BodyRuleTests) ... ok
> test_body_missing (rules.test_body_rules.BodyRuleTests) ... ok
> test_body_missing_merge_commit (rules.test_body_rules.BodyRuleTests) ... ok
> test_hard_tabs (rules.test_body_rules.BodyRuleTests) ... ok
> test_max_line_length (rules.test_body_rules.BodyRuleTests) ... ok
> test_trailing_whitespace (rules.test_body_rules.BodyRuleTests) ... ok
> test_ignore_by_body (rules.test_configuration_rules.ConfigurationRuleTests) 
> ... ok
> test_ignore_by_title (rules.test_configuration_rules.ConfigurationRuleTests) 
> ... ok
> test_author_valid_email_rule (rules.test_meta_rules.MetaRuleTests) ... ok
> test_author_valid_email_rule_custom_regex 
> (rules.test_meta_rules.MetaRuleTests) ... ok
> test_hard_tabs (rules.test_title_rules.TitleRuleTests) ... ok
> test_leading_whitespace (rules.test_title_rules.TitleRuleTests) ... ok
> test_max_line_length (rules.test_title_rules.TitleRuleTests) ... ok
> test_regex_matches (rules.test_title_rules.TitleRuleTests) ... ok
> test_title_must_not_contain_word (rules.test_title_rules.TitleRuleTests) ... 
> ok
> test_trailing_punctuation (rules.test_title_rules.TitleRuleTests) ... ok
> test_trailing_whitespace (rules.test_title_rules.TitleRuleTests) ... ok
> test_assert_valid_rule_class (rules.test_user_rules.UserRuleTests) ... ok
> test_assert_valid_rule_class_negative (rules.test_user_rules.UserRuleTests) 
> ... ok
> test_assert_valid_rule_class_negative_id 
> (rules.test_user_rules.UserRuleTests) ... ok
> test_assert_valid_rule_class_negative_name 
> (rules.test_user_rules.UserRuleTests) ... ok
> test_assert_valid_rule_class_negative_option_spec 
> (rules.test_user_rules.UserRuleTests) ... ok
> test_assert_valid_rule_class_negative_parent 
> (rules.test_user_rules.UserRuleTests) ... ok
> test_assert_valid_rule_class_negative_target 
> (rules.test_user_rules.UserRuleTests) ... ok
> test_assert_valid_rule_class_negative_validate 
> (rules.test_user_rules.UserRuleTests) ... ok
> test_empty_user_classes (rules.test_user_rules.UserRuleTests) ... ok
> test_extra_path_specified_by_file (rules.test_user_rules.UserRuleTests) ... ok
> test_failed_module_import (rules.test_user_rules.UserRuleTests) ... ok
> test_find_rule_classes (rules.test_user_rules.UserRuleTests) ... ok
> test_find_rule_classes_nonexisting_path (rules.test_user_rules.UserRuleTests) 
> ... ok
> test_rules_from_init_file (rules.test_user_rules.UserRuleTests) ... ok
> test_config_file (test_cli.CLITests)
> Test for --config option ... ok
> test_config_file_negative (test_cli.CLITests)
> Negative test for --config option ... ok
> test_contrib (test_cli.CLITests) ... ok
> test_contrib_negative (test_cli.CLITests) ... ok
> test_debug (test_cli.CLITests)
> Test for --debug option ... FAIL
> test_extra_path (test_cli.CLITests)
> Test for --extra-path flag ... ok
> test_generate_config (test_cli.CLITests)
> Test for the generate-config subcommand ... ok
> test_generate_config_negative (test_cli.CLITests)
> Negative test for the generate-config subcommand ... ok
> test_git_error (test_cli.CLITests)
> Tests that the cli handles git errors properly ... ok
> test_input_stream (test_cli.CLITests)
> Test for linting when a message is passed via stdin ... ok
> test_install_hook (test_cli.CLITests)
> Test for install-hook subcommand ... ok
> test_install_hook_negative (test_cli.CLITests)
> Negative test for install-hook subcommand ... ok
> test_install_hook_target (test_cli.CLITests)
> Test for install-hook subcommand with a specific --target option specified 
> ... ok
> test_lint (test_cli.CLITests)
> Test for basic simple linting functionality ... FAIL
> test_lint_ignore_stdin (test_cli.CLITests)
> Test for ignoring stdin when --ignore-stdin flag is enabled ... FAIL
> test_lint_multiple_commits (test_cli.CLITests)
> Test for --commits option ... FAIL
> test_lint_multiple_commits_config (test_cli.CLITests)
> Test for --commits option where some of the commits have gitlint config in 
> the commit message ... FAIL
> test_lint_multiple_commits_configuration_rules (test_cli.CLITests)
> Test for --commits option where where we have configured gitlint to ignore 
> certain rules for certain commits ... FAIL
> test_msg_filename (test_cli.CLITests) ... ok
> test_no_commits_in_range (test_cli.CLITests)
> Test for --commits with the specified range being empty. ... ok
> test_silent_mode (test_cli.CLITests)
> Test for --silent option ... ok
> test_target (test_cli.CLITests)
> Test for the --target option ... ok
> test_target_negative (test_cli.CLITests)
> Negative test for the --target option ... ok
> test_uninstall_hook (test_cli.CLITests)
> Test for uninstall-hook subcommand ... ok
> test_uninstall_hook_negative (test_cli.CLITests)
> Negative test for uninstall-hook subcommand ... ok
> test_verbosity (test_cli.CLITests)
> Test for --verbosity option ... ok
> test_version (test_cli.CLITests)
> Test for --version option ... ok
> test_e (test_display.DisplayTests) ... ok
> test_v (test_display.DisplayTests) ... ok
> test_commit_msg_custom_commentchar (test_git.GitTests) ... ok
> test_from_commit_msg_comment (test_git.GitTests) ... ok
> test_from_commit_msg_empty (test_git.GitTests) ... ok
> test_from_commit_msg_fixup_squash_commit (test_git.GitTests) ... ok
> test_from_commit_msg_full (test_git.GitTests) ... ok
> test_from_commit_msg_just_title (test_git.GitTests) ... ok
> test_from_commit_msg_merge_commit (test_git.GitTests) ... ok
> test_from_local_repository_specific_ref (test_git.GitTests) ... ERROR
> test_get_latest_commit (test_git.GitTests) ... ERROR
> test_get_latest_commit_command_not_found (test_git.GitTests) ... ok
> test_get_latest_commit_fixup_squash_commit (test_git.GitTests) ... ERROR
> test_get_latest_commit_git_error (test_git.GitTests) ... ok
> test_get_latest_commit_merge_commit (test_git.GitTests) ... ERROR
> test_git_commentchar (test_git.GitTests) ... ok
> test_git_hooks_dir (test_git.GitTests) ... ok
> test_gitcommit_equality (test_git.GitTests) ... ok
> test_commit_msg_hook_path (test_hooks.HookTests) ... ok
> test_install_commit_msg_hook (test_hooks.HookTests) ... ok
> test_install_commit_msg_hook_negative (test_hooks.HookTests) ... ok
> test_uninstall_commit_msg_hook (test_hooks.HookTests) ... ok
> test_uninstall_commit_msg_hook_negative (test_hooks.HookTests) ... ok
> test_lint_configuration_rule (test_lint.LintTests) ... ok
> test_lint_ignore (test_lint.LintTests) ... ok
> test_lint_meta (test_lint.LintTests)
> Lint sample2 but also add some metadata to the commit so we that get's linted 
> as well ... ok
> test_lint_sample1 (test_lint.LintTests) ... ok
> test_lint_sample2 (test_lint.LintTests) ... ok
> test_lint_sample3 (test_lint.LintTests) ... ok
> test_lint_sample4 (test_lint.LintTests) ... ok
> test_lint_sample5 (test_lint.LintTests) ... ok
> test_lint_special_commit (test_lint.LintTests) ... ok
> test_print_violations (test_lint.LintTests) ... ok
> test_boolean_option (test_options.RuleOptionTests) ... ok
> test_int_option (test_options.RuleOptionTests) ... ok
> test_list_option (test_options.RuleOptionTests) ... ok
> test_option_equals (test_options.RuleOptionTests) ... ok
> test_path_option (test_options.RuleOptionTests) ... ok
> test_str_option (test_options.RuleOptionTests) ... ok
> 
> ======================================================================
> ERROR: test_from_local_repository_specific_ref (test_git.GitTests)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/usr/lib/python3.8/unittest/mock.py", line 1348, in patched
>     return func(*newargs, **newkeywargs)
>   File "/<<PKGBUILDDIR>>/gitlint/tests/test_git.py", line 79, in 
> test_from_local_repository_specific_ref
>     context = GitContext.from_local_repository(u"fåke/path", sample_sha)
>   File "/<<PKGBUILDDIR>>/gitlint/git.py", line 212, in from_local_repository
>     commit_date = arrow.get(ustr(date), "YYYY-MM-DD HH:mm:ss Z").datetime
>   File "/usr/lib/python3/dist-packages/arrow/api.py", line 21, in get
>     return _factory.get(*args, **kwargs)
>   File "/usr/lib/python3/dist-packages/arrow/factory.py", line 243, in get
>     dt = parser.DateTimeParser(locale).parse(args[0], args[1])
>   File "/usr/lib/python3/dist-packages/arrow/parser.py", line 223, in parse
>     raise ParserMatchError(
> arrow.parser.ParserMatchError: Failed to match 'YYYY-MM-DD HH:mm:ss Z' when 
> parsing '2016-12-03 15:28:15 01:00'
> 
> ======================================================================
> ERROR: test_get_latest_commit (test_git.GitTests)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/usr/lib/python3.8/unittest/mock.py", line 1348, in patched
>     return func(*newargs, **newkeywargs)
>   File "/<<PKGBUILDDIR>>/gitlint/tests/test_git.py", line 46, in 
> test_get_latest_commit
>     context = GitContext.from_local_repository(u"fåke/path")
>   File "/<<PKGBUILDDIR>>/gitlint/git.py", line 212, in from_local_repository
>     commit_date = arrow.get(ustr(date), "YYYY-MM-DD HH:mm:ss Z").datetime
>   File "/usr/lib/python3/dist-packages/arrow/api.py", line 21, in get
>     return _factory.get(*args, **kwargs)
>   File "/usr/lib/python3/dist-packages/arrow/factory.py", line 243, in get
>     dt = parser.DateTimeParser(locale).parse(args[0], args[1])
>   File "/usr/lib/python3/dist-packages/arrow/parser.py", line 223, in parse
>     raise ParserMatchError(
> arrow.parser.ParserMatchError: Failed to match 'YYYY-MM-DD HH:mm:ss Z' when 
> parsing '2016-12-03 15:28:15 01:00'
> 
> ======================================================================
> ERROR: test_get_latest_commit_fixup_squash_commit (test_git.GitTests)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/usr/lib/python3.8/unittest/mock.py", line 1348, in patched
>     return func(*newargs, **newkeywargs)
>   File "/<<PKGBUILDDIR>>/gitlint/tests/test_git.py", line 146, in 
> test_get_latest_commit_fixup_squash_commit
>     context = GitContext.from_local_repository(u"fåke/path")
>   File "/<<PKGBUILDDIR>>/gitlint/git.py", line 212, in from_local_repository
>     commit_date = arrow.get(ustr(date), "YYYY-MM-DD HH:mm:ss Z").datetime
>   File "/usr/lib/python3/dist-packages/arrow/api.py", line 21, in get
>     return _factory.get(*args, **kwargs)
>   File "/usr/lib/python3/dist-packages/arrow/factory.py", line 243, in get
>     dt = parser.DateTimeParser(locale).parse(args[0], args[1])
>   File "/usr/lib/python3/dist-packages/arrow/parser.py", line 223, in parse
>     raise ParserMatchError(
> arrow.parser.ParserMatchError: Failed to match 'YYYY-MM-DD HH:mm:ss Z' when 
> parsing '2016-12-03 15:28:15 01:00'
> 
> ======================================================================
> ERROR: test_get_latest_commit_merge_commit (test_git.GitTests)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/usr/lib/python3.8/unittest/mock.py", line 1348, in patched
>     return func(*newargs, **newkeywargs)
>   File "/<<PKGBUILDDIR>>/gitlint/tests/test_git.py", line 112, in 
> test_get_latest_commit_merge_commit
>     context = GitContext.from_local_repository(u"fåke/path")
>   File "/<<PKGBUILDDIR>>/gitlint/git.py", line 212, in from_local_repository
>     commit_date = arrow.get(ustr(date), "YYYY-MM-DD HH:mm:ss Z").datetime
>   File "/usr/lib/python3/dist-packages/arrow/api.py", line 21, in get
>     return _factory.get(*args, **kwargs)
>   File "/usr/lib/python3/dist-packages/arrow/factory.py", line 243, in get
>     dt = parser.DateTimeParser(locale).parse(args[0], args[1])
>   File "/usr/lib/python3/dist-packages/arrow/parser.py", line 223, in parse
>     raise ParserMatchError(
> arrow.parser.ParserMatchError: Failed to match 'YYYY-MM-DD HH:mm:ss Z' when 
> parsing '2016-12-03 15:28:15 01:00'
> 
> ======================================================================
> FAIL: test_debug (test_cli.CLITests)
> Test for --debug option
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/usr/lib/python3.8/unittest/mock.py", line 1348, in patched
>     return func(*newargs, **newkeywargs)
>   File "/<<PKGBUILDDIR>>/gitlint/tests/test_cli.py", line 302, in test_debug
>     self.assertEqual(stderr.getvalue(), expected)
> AssertionError: '' != 'Commit 6f29bf81a8:\n3: B5\n\nCommit 25053[61 
> chars]B6\n'
> + Commit 6f29bf81a8:
> + 3: B5
> + 
> + Commit 25053ccec5:
> + 1: T3
> + 3: B5
> + 
> + Commit 4da2656b0d:
> + 2: B4
> + 3: B5
> + 3: B6
> 
> 
> ======================================================================
> FAIL: test_lint (test_cli.CLITests)
> Test for basic simple linting functionality
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/usr/lib/python3.8/unittest/mock.py", line 1348, in patched
>     return func(*newargs, **newkeywargs)
>   File "/<<PKGBUILDDIR>>/gitlint/tests/test_cli.py", line 81, in test_lint
>     self.assertEqual(stderr.getvalue(), u'3: B5 Body message is too short 
> (11<20): "commït-body"\n')
> AssertionError: '' != '3: B5 Body message is too short (11<20): 
> "commït-body"\n'
> + 3: B5 Body message is too short (11<20): "commït-body"
> 
> 
> ======================================================================
> FAIL: test_lint_ignore_stdin (test_cli.CLITests)
> Test for ignoring stdin when --ignore-stdin flag is enabled
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/usr/lib/python3.8/unittest/mock.py", line 1348, in patched
>     return func(*newargs, **newkeywargs)
>   File "/<<PKGBUILDDIR>>/gitlint/tests/test_cli.py", line 214, in 
> test_lint_ignore_stdin
>     self.assertEqual(stderr.getvalue(), u'3: B5 Body message is too short 
> (11<20): "commït-body"\n')
> AssertionError: '' != '3: B5 Body message is too short (11<20): 
> "commït-body"\n'
> + 3: B5 Body message is too short (11<20): "commït-body"
> 
> 
> ======================================================================
> FAIL: test_lint_multiple_commits (test_cli.CLITests)
> Test for --commits option
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/usr/lib/python3.8/unittest/mock.py", line 1348, in patched
>     return func(*newargs, **newkeywargs)
>   File "/<<PKGBUILDDIR>>/gitlint/tests/test_cli.py", line 113, in 
> test_lint_multiple_commits
>     self.assertEqual(stderr.getvalue(), expected)
> AssertionError: '' != 'Commit 6f29bf81a8:\n3: B5 Body message is[190 
> chars]3"\n'
> + Commit 6f29bf81a8:
> + 3: B5 Body message is too short (12<20): "commït-body1"
> + 
> + Commit 25053ccec5:
> + 3: B5 Body message is too short (12<20): "commït-body2"
> + 
> + Commit 4da2656b0d:
> + 3: B5 Body message is too short (12<20): "commït-body3"
> 
> 
> ======================================================================
> FAIL: test_lint_multiple_commits_config (test_cli.CLITests)
> Test for --commits option where some of the commits have gitlint config in 
> the commit message
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/usr/lib/python3.8/unittest/mock.py", line 1348, in patched
>     return func(*newargs, **newkeywargs)
>   File "/<<PKGBUILDDIR>>/gitlint/tests/test_cli.py", line 146, in 
> test_lint_multiple_commits_config
>     self.assertEqual(stderr.getvalue(), expected)
> AssertionError: '' != 'Commit 6f29bf81a8:\n3: B5 Body message is[171 
> chars]3"\n'
> + Commit 6f29bf81a8:
> + 3: B5 Body message is too short (12<20): "commït-body1"
> + 
> + Commit 4da2656b0d:
> + 1: T3 Title has trailing punctuation (.): "commït-title3."
> + 3: B5 Body message is too short (12<20): "commït-body3"
> 
> 
> ======================================================================
> FAIL: test_lint_multiple_commits_configuration_rules (test_cli.CLITests)
> Test for --commits option where where we have configured gitlint to ignore 
> certain rules for certain commits
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/usr/lib/python3.8/unittest/mock.py", line 1348, in patched
>     return func(*newargs, **newkeywargs)
>   File "/<<PKGBUILDDIR>>/gitlint/tests/test_cli.py", line 185, in 
> test_lint_multiple_commits_configuration_rules
>     self.assertEqual(stderr.getvalue(), expected)
> AssertionError: '' != 'Commit 6f29bf81a8:\n3: B5 Body message is[114 
> chars]."\n'
> + Commit 6f29bf81a8:
> + 3: B5 Body message is too short (12<20): "commït-body1"
> + 
> + Commit 4da2656b0d:
> + 1: T3 Title has trailing punctuation (.): "commït-title3."
> 
> 
> ----------------------------------------------------------------------
> Ran 107 tests in 0.308s
> 
> FAILED (failures=6, errors=4)
> E: pybuild pybuild:341: test: plugin custom failed with: exit code=1: 
> python3.8 -m coverage run 
> --omit='/usr/*,/<<PKGBUILDDIR>>/gitlint/tests/*,/<<PKGBUILDDIR>>/gitlint/qa/*'
>  -m unittest discover -v -s /<<PKGBUILDDIR>>/gitlint/tests
> dh_auto_test: error: pybuild --test -i python{version} -p "3.8 3.7" returned 
> exit code 13

The full build log is available from:
   http://qa-logs.debian.net/2020/02/22/gitlint_0.12.0-0.1_unstable.log

A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

About the archive rebuild: The rebuild was done on EC2 VM instances from
Amazon Web Services, using a clean, minimal and up-to-date chroot. Every
failed build was retried once to eliminate random failures.

Reply via email to