All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Yann E. MORIN" <yann.morin.1998@free.fr>
To: buildroot@buildroot.org
Cc: Ricardo Martincoski <ricardo.martincoski@gmail.com>
Subject: Re: [Buildroot] [PATCH] utils/check-package: check ignored files exist
Date: Sat, 13 May 2023 12:10:06 +0200	[thread overview]
Message-ID: <20230513101006.GK2582048@scaer> (raw)
In-Reply-To: <20230506212531.365446-1-yann.morin.1998@free.fr>

All,

On 2023-05-06 23:25 +0200, Yann E. MORIN spake thusly:
> When an ignored file is removed (e.g. a package patch is no longer
> needed after a version bump), the corresponding entry in the ignore list
> is no longer needed.
> 
> However, we currently only validate that an ignored *test* still fails,
> not that a ignore files is now missing.
> 
> Add a new test to check-package that does that check, and add a
> test-case for that check.
> 
> Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
> Cc: Ricardo Martincoski <ricardo.martincoski@gmail.com>

Applied to master, thanks.

Regards,
Yann E. MORIN.

> ---
>  utils/check-package                      |  4 ++++
>  utils/checkpackagelib/lib_ignore.py      | 14 ++++++++++++++
>  utils/checkpackagelib/test_lib_ignore.py | 18 ++++++++++++++++++
>  3 files changed, 36 insertions(+)
>  create mode 100644 utils/checkpackagelib/lib_ignore.py
>  create mode 100644 utils/checkpackagelib/test_lib_ignore.py
> 
> diff --git a/utils/check-package b/utils/check-package
> index 83b9750f5a..3de3a72e0c 100755
> --- a/utils/check-package
> +++ b/utils/check-package
> @@ -11,6 +11,7 @@ import sys
>  import checkpackagelib.base
>  import checkpackagelib.lib_config
>  import checkpackagelib.lib_hash
> +import checkpackagelib.lib_ignore
>  import checkpackagelib.lib_mk
>  import checkpackagelib.lib_patch
>  import checkpackagelib.lib_python
> @@ -107,6 +108,7 @@ def get_lib_from_filetype(fname):
>  
>  CONFIG_IN_FILENAME = re.compile(r"Config\.\S*$")
>  DO_CHECK_INTREE = re.compile(r"|".join([
> +    r".checkpackageignore",
>      r"Config.in",
>      r"arch/",
>      r"board/",
> @@ -146,6 +148,8 @@ def get_lib_from_filename(fname):
>          if os.path.basename(fname) == "external.mk" and \
>             os.path.exists(fname[:-2] + "desc"):
>              return None
> +    if fname == ".checkpackageignore":
> +        return checkpackagelib.lib_ignore
>      if CONFIG_IN_FILENAME.search(fname):
>          return checkpackagelib.lib_config
>      if fname.endswith(".hash"):
> diff --git a/utils/checkpackagelib/lib_ignore.py b/utils/checkpackagelib/lib_ignore.py
> new file mode 100644
> index 0000000000..f3698fc3b4
> --- /dev/null
> +++ b/utils/checkpackagelib/lib_ignore.py
> @@ -0,0 +1,14 @@
> +# See utils/checkpackagelib/readme.txt before editing this file.
> +
> +import os
> +
> +from checkpackagelib.base import _CheckFunction
> +
> +
> +class IgnoreMissingFile(_CheckFunction):
> +    def check_line(self, lineno, text):
> +        fields = text.split()
> +        if not os.path.exists(fields[0]):
> +            return ["{}:{}: ignored file {} is missing"
> +                    .format(self.filename, lineno, fields[0]),
> +                    text]
> diff --git a/utils/checkpackagelib/test_lib_ignore.py b/utils/checkpackagelib/test_lib_ignore.py
> new file mode 100644
> index 0000000000..6cd856d669
> --- /dev/null
> +++ b/utils/checkpackagelib/test_lib_ignore.py
> @@ -0,0 +1,18 @@
> +import pytest
> +import checkpackagelib.test_util as util
> +import checkpackagelib.lib_ignore as m
> +
> +
> +IgnoreMissingFile = [
> +    ('missing ignored file',
> +     '.checkpackageignore',
> +     'this-file-does-not-exist SomeTest',
> +     [['.checkpackageignore:1: ignored file this-file-does-not-exist is missing',
> +       'this-file-does-not-exist SomeTest']]),
> +    ]
> +
> +
> +@pytest.mark.parametrize('testname,filename,string,expected', IgnoreMissingFile)
> +def test_IgnoreMissingFile(testname, filename, string, expected):
> +    warnings = util.check_file(m.IgnoreMissingFile, filename, string)
> +    assert warnings == expected
> -- 
> 2.25.1
> 

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

  reply	other threads:[~2023-05-13 10:10 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-06 21:25 [Buildroot] [PATCH] utils/check-package: check ignored files exist Yann E. MORIN
2023-05-13 10:10 ` Yann E. MORIN [this message]
2023-06-13 12:36 ` Peter Korsgaard

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230513101006.GK2582048@scaer \
    --to=yann.morin.1998@free.fr \
    --cc=buildroot@buildroot.org \
    --cc=ricardo.martincoski@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.