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

cmp: helpful EOF messages #766

Merged
merged 1 commit into from
Oct 21, 2024
Merged

cmp: helpful EOF messages #766

merged 1 commit into from
Oct 21, 2024

Conversation

mknos
Copy link
Contributor

@mknos mknos commented Oct 21, 2024

  • It is easy to provide extra descriptive output when files differ at EOF, as done by GNU cmp
  • Shell scripts running cmp would normally use the -s flag and check the exit code, i.e. the text description shouldn't be depended on for portability
  • Also convert $chunk_size global to a constant because it doesn't vary
%dd if=/dev/urandom bs=512 count=1 of=rnd
%cp rnd rnd2
%echo >> rnd2
%touch empty
%perl cmp rnd rnd2 # test1: non-empty files, eof on arg1
cmp: EOF on rnd after byte 512, in line 6
%perl cmp rnd2 rnd # test2: non-empty files, eof on arg2
cmp: EOF on rnd after byte 512, in line 6
%perl cmp empty rnd # test3: arg1 empty
cmp: EOF on empty which is empty
%perl cmp rnd empty # test4: arg2 empty
cmp: EOF on empty which is empty

* It's trivial to provide extra descriptive output when files differ at EOF, as done by GNU cmp
* Shell scripts running cmp would normally use the -s flag and check the exit code, i.e. the text description shouldn't be depended upon for portability

%dd if=/dev/urandom bs=512 count=1 of=rnd
%cp rnd rnd2
%echo >> rnd2
%touch empty
%perl cmp rnd rnd2 # test1: non-empty files, eof on arg1
cmp: EOF on rnd after byte 512, in line 6
%perl cmp rnd2 rnd # test2: non-empty files, eof on arg2
cmp: EOF on rnd after byte 512, in line 6
%perl cmp empty rnd # test3: arg1 empty
cmp: EOF on empty which is empty
%perl cmp rnd empty # test4: arg2 empty
cmp: EOF on empty which is empty
@github-actions github-actions bot added Type: enhancement improve a feature that already exists Priority: low get to this whenever Program: cmp The cop program labels Oct 21, 2024
@mknos mknos temporarily deployed to automated_testing October 21, 2024 11:42 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing October 21, 2024 11:42 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing October 21, 2024 11:42 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing October 21, 2024 11:42 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing October 21, 2024 11:42 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing October 21, 2024 11:42 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing October 21, 2024 11:42 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing October 21, 2024 11:42 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing October 21, 2024 11:42 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing October 21, 2024 11:42 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing October 21, 2024 11:42 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing October 21, 2024 11:42 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing October 21, 2024 11:42 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing October 21, 2024 11:42 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing October 21, 2024 11:42 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing October 21, 2024 11:42 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing October 21, 2024 11:42 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing October 21, 2024 11:42 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing October 21, 2024 11:42 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing October 21, 2024 11:43 — with GitHub Actions Inactive
@coveralls
Copy link

coveralls commented Oct 21, 2024

Pull Request Test Coverage Report for Build 11439366106

Details

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage decreased (-0.7%) to 73.069%

Totals Coverage Status
Change from base Build 11418850560: -0.7%
Covered Lines: 350
Relevant Lines: 479

💛 - Coveralls

@briandfoy briandfoy merged commit 715e441 into briandfoy:master Oct 21, 2024
22 of 23 checks passed
@briandfoy
Copy link
Owner

changes: better messages when files differ at end of file

@briandfoy briandfoy removed the Priority: low get to this whenever label Oct 21, 2024
@briandfoy briandfoy added the Status: accepted The fix is accepted label Oct 21, 2024
@briandfoy briandfoy self-assigned this Oct 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Program: cmp The cop program Status: accepted The fix is accepted Type: enhancement improve a feature that already exists
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants