Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

diffoscope: add missing tools #89195

Merged
merged 1 commit into from Jun 2, 2020
Merged

Conversation

danielfullmer
Copy link
Contributor

@danielfullmer danielfullmer commented May 29, 2020

Motivation for this change

Add a bunch of dependencies for missing tools.

nix path-info -S reports the following changes:
diffoscope: 345M -> 356.7M
diffoscope w/ enableBloat: 5.4G -> 6.1G

Also re-enabled the tests and added the dependencies to checkInputs so
the comparator tests are not automatically skipped.

CC @dezgeg @Ma27

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.

Copy link
Member

@Ma27 Ma27 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tests are failing for me like this:

diffoscope> =================================== FAILURES ===================================
diffoscope> _________________________________ test_content _________________________________
diffoscope> differences = [<Difference dir -- dir [<Difference stat {} -- stat {} []>, <Difference text -- text [<Difference stat {} -- stat {} []>]>, <Difference stat {} -- stat {} []>]>]
diffoscope>     def test_content(differences):
diffoscope>         assert differences[0].source1 == 'dir'
diffoscope> >       assert differences[0].details[0].source1 == 'text'
diffoscope> E       AssertionError: assert 'stat {}' == 'text'
diffoscope> E         - stat {}
diffoscope> E         + text
diffoscope> tests/comparators/test_directory.py:71: AssertionError
diffoscope> ============= 1 failed, 344 passed, 98 skipped in 83.97s (0:01:23) =============
diffoscope> builder for '/nix/store/7gnvgnbj2qs3k2792x69k9fss6f4jv2i-diffoscope-144.drv' failed with exit code 1

@danielfullmer
Copy link
Contributor Author

@Ma27 Hmm, that's strange. It is working for me, and I haven't been able to reproduce. It also seems to be working on the OfBorg builder: https://github.com/NixOS/nixpkgs/pull/89195/checks?check_run_id=722214621

What filesystem are you using? I've tried this on two different machines, using zfs and btrfs. Could you think of any other impurities that might affect this?

@Ma27
Copy link
Member

Ma27 commented May 31, 2020

That's interesting. It builds fine on my local machine (NixOS 20.03, Linux 5.6.14, ZFS) and breaks on my remote builder (NixOS 20.03, Linux 5.6.14, ext4 in a KVM).

Unless we find the culprit, I'd suggest to skip the flaky test.

@danielfullmer danielfullmer changed the title diffoscope: add missing tools diffoscope: 144 -> 146 May 31, 2020
@danielfullmer
Copy link
Contributor Author

danielfullmer commented May 31, 2020

I was able to reproduce this in a VM with ext4. It turns out this issue was fixed in the most recent version of diffoscope:
https://salsa.debian.org/reproducible-builds/diffoscope/-/issues/74

So, I added a commit bumping to 146. Built and tested diffoscope with and without enableBloat.


(edit: Whoops, it looks like you beat me to it!)

@danielfullmer danielfullmer changed the title diffoscope: 144 -> 146 diffoscope: add missing tools May 31, 2020
@danielfullmer
Copy link
Contributor Author

Rebased commit against master. I also had to add apksigner as a dependency to make the apk tests work with 146 and enableBloat.

However, now that I've rebased against master, an indirect dependency is failing to build for me: multipath-tools.

@ofborg ofborg bot requested a review from Ma27 May 31, 2020 21:47
@Ma27
Copy link
Member

Ma27 commented Jun 2, 2020

@danielfullmer please rebase onto latest master, multipath-tools has been fixed in #89367.

`nix path-info -S` reports the following changes:
diffoscope: 345M -> 356.7M
diffoscope w/ enableBloat: 5.4G -> 6.1G

Also re-enabled the tests and added the dependencies to checkInputs so
the comparator tests are not automatically skipped.
@danielfullmer
Copy link
Contributor Author

Rebased against master, successfully built and briefly tested with and without enableBloat. Should be good to go!

@Ma27 Ma27 merged commit 7729943 into NixOS:master Jun 2, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants