Bug#931881: diffoscope: undeclared versioned dependency on file

2019-07-12 Thread Mattia Rizzolo
On Fri, 12 Jul 2019, 6:09 pm Chris Lamb,  wrote:

>   * DIFFOSCOPE_FAIL_TESTS_ON_MISSING_TOOLS=''
> → Fails; the required version is missing and unlisted.
>
>   * DIFFOSCOPE_FAIL_TESTS_ON_MISSING_TOOLS="foo bar"
> → Fails; the required version is missing and unlisted.
>

These shouldn't fail.  As in, the program is present, but the required
version is missing.  That variable isn't holding versions after all.

At least, having that fail in this case wasn't my intention when I wrote
that thing.  If you went down that route it would make that
variable/setting unusable in any circumstance where simply the required
version is missing.

Having said all of this, I think we should make the failing test able to
run with either of the file versions.  `file` keeps changing and breaking
our tests, but it would be awful to only support running the testsuite with
the latest version available.

>
>


Bug#931881: diffoscope: undeclared versioned dependency on file

2019-07-12 Thread Chris Lamb
Hi Mattia,

> >  I think we need to add "file" to the DIFFOSCOPE_TESTS_MISSING_TOOLS
> >  list in debian/tests/pytest. Mattia, can you confirm?
[…]
> mh, no. I think some logic needs tweaking, as file is definitely 
> present (it's an hard dependency of diffoscope), and that test should 
> just be skipped.

I just went to hack on this but, hmm, isn't this providing exactly
what we need? :) ie. skipping these tests when run with a insufficiently
new version of file?

My testcase is to run:

  $ py.test-3 -rsx tests/test_presenters.py::test_text_proper_indentation

… within current sid (ie. src:file 5.35-4) and then by variously exporting:

  * DIFFOSCOPE_FAIL_TESTS_ON_MISSING_TOOLS=[unset]
→ Skipped correctly.

  * DIFFOSCOPE_FAIL_TESTS_ON_MISSING_TOOLS=''
→ Fails; the required version is missing and unlisted.

  * DIFFOSCOPE_FAIL_TESTS_ON_MISSING_TOOLS="foo bar" 
→ Fails; the required version is missing and unlisted.

  * DIFFOSCOPE_FAIL_TESTS_ON_MISSING_TOOLS="foo bar file"
→ Skipped correctly.

What am I missing here? :) (Note that I renamed this variable in
d5b9daf04).


Best wishes,

-- 
  ,''`.
 : :'  : Chris Lamb
 `. `'`  la...@debian.org 🍥 chris-lamb.co.uk
   `-



Bug#931881: diffoscope: undeclared versioned dependency on file

2019-07-11 Thread Mattia Rizzolo
mh, no.  I think some logic needs tweaking, as file is definitely present
(it's an hard dependency of diffoscope), and that test should just be
skipped.

On Thu, Jul 11, 2019 at 11:42 PM Chris Lamb  wrote:

> Steve Langasek wrote:
>
> > At the very least, it seems this should be a versioned test dep on file
> (>=
> > 5.37), but perhaps it should also be a versioned runtime dependency. I
> > haven't looked to see what the impact is of the wrong version of 'file'
> when
> > DIFFOSCOPE_TESTS_FAIL_ON_MISSING_TOOLS is not set.
>
> I think we need to add "file" to the DIFFOSCOPE_TESTS_MISSING_TOOLS
> list in debian/tests/pytest. Mattia, can you confirm?
>
>
> Regards,
>
> --
>   ,''`.
>  : :'  : Chris Lamb
>  `. `'`  la...@debian.org 🍥 chris-lamb.co.uk
>`-
>
>

-- 
regards,
Mattia Rizzolo

GPG Key: 66AE 2B4A FCCF 3F52 DA18  4D18 4B04 3FCD B944 4540  .''`.
more about me:  https://mapreri.org : :'  :
Launchpad user: https://launchpad.net/~mapreri  `. `'`
Debian QA page: https://qa.debian.org/developer.php?login=mattia  `-


Bug#931881: diffoscope: undeclared versioned dependency on file

2019-07-11 Thread Chris Lamb
Steve Langasek wrote:

> At the very least, it seems this should be a versioned test dep on file (>=
> 5.37), but perhaps it should also be a versioned runtime dependency. I
> haven't looked to see what the impact is of the wrong version of 'file' when
> DIFFOSCOPE_TESTS_FAIL_ON_MISSING_TOOLS is not set.

I think we need to add "file" to the DIFFOSCOPE_TESTS_MISSING_TOOLS
list in debian/tests/pytest. Mattia, can you confirm?


Regards,

-- 
  ,''`.
 : :'  : Chris Lamb
 `. `'`  la...@debian.org 🍥 chris-lamb.co.uk
   `-



Bug#931881: diffoscope: undeclared versioned dependency on file

2019-07-11 Thread Steve Langasek
Package: diffoscope
Version: 117
Severity: serious
Justification: autopkgtest failures and runtime failures
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu eoan

Dear maintainers,

diffoscope 117 is not migratable to testing because its autopkgtests are
failing, due to runtime errors complaining about a wrong version of the
'file' command:

[...]
=== FAILURES ===
_ test_text_proper_indentation _

args2 = (), kwargs2 = {}

def inner(*args2, **kwargs2):
if args[0]:  # i.e. the condition of the skipif() is True
>   return pytest.fail(msg)
E   Failed: requires file >= 5.37 (5.35 detected) 
(DIFFOSCOPE_TESTS_FAIL_ON_MISSING_TOOLS=1)

args   = (True,)
args2  = ()
kwargs2= {}
msg= ('requires file >= 5.37 (5.35 detected) '
 '(DIFFOSCOPE_TESTS_FAIL_ON_MISSING_TOOLS=1)')

tests/utils/tools.py:77: Failed
[...]

(https://ci.debian.net/packages/d/diffoscope/testing/amd64/)

file 5.37 is only present in Debian experimental, and the diffoscope package
declares no dependency on file >= 5.37.

At the very least, it seems this should be a versioned test dep on file (>=
5.37), but perhaps it should also be a versioned runtime dependency.  I
haven't looked to see what the impact is of the wrong version of 'file' when
DIFFOSCOPE_TESTS_FAIL_ON_MISSING_TOOLS is not set.

-- 
Steve Langasek   Give me a lever long enough and a Free OS
Debian Developer   to set it on, and I can move the world.
Ubuntu Developer   https://www.debian.org/
slanga...@ubuntu.com vor...@debian.org


signature.asc
Description: PGP signature