Util-Linux package development
 help / color / mirror / Atom feed
* cancelling the tests says that they all passed
@ 2016-03-17  9:44 Benno Schulenberg
  2016-03-17 10:35 ` Ruediger Meier
  0 siblings, 1 reply; 8+ messages in thread
From: Benno Schulenberg @ 2016-03-17  9:44 UTC (permalink / raw)
  To: Util-Linux


When one hits ^C when the compilation phase of 'make check'
finishes and the first tests start executing, the script prints

  All 177 tests PASSED

before aborting.  That... doesn't seem quite right.


When I leave the tests to run to completion, it says:

  4 tests of 177 FAILED

The failed ones are these:

         ipcs: mk-rm-shm                                     ... FAILED (ipcs/mk-rm-shm)
         misc: fallocate                                     ... FAILED (misc/fallocate)
         misc: swaplabel                                     ... FAILED (misc/swaplabel)
         misc: ul                                            ... FAILED (misc/ul)

Benno

-- 
http://www.fastmail.com - The way an email service should be


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: cancelling the tests says that they all passed
  2016-03-17  9:44 cancelling the tests says that they all passed Benno Schulenberg
@ 2016-03-17 10:35 ` Ruediger Meier
  2016-03-17 11:53   ` Benno Schulenberg
  0 siblings, 1 reply; 8+ messages in thread
From: Ruediger Meier @ 2016-03-17 10:35 UTC (permalink / raw)
  To: Benno Schulenberg; +Cc: Util-Linux

On Thursday 17 March 2016, Benno Schulenberg wrote:
> When one hits ^C when the compilation phase of 'make check'
> finishes and the first tests start executing, the script prints

I don't manage to reproduce that. How do you run make exactly (-j)?
If I hit ctrl-C during compilation then the test script does not start 
at all. Maybe there is a dependency problem and your tests start before 
compilation is finished?

>   All 177 tests PASSED

This is because the test script actually means this

  "None of 177 available tests failed"

It does not count the executed tests but failures only.

> before aborting.  That... doesn't seem quite right.

I've had already planned to improve/refactor the failure/success 
counting and also the handling of broken/aborted scripts. Probably this 
would also improve such cosmetical issues.

But this is something for the next release. Would be too risky to change 
something just a few days before releasing 2.28.


> When I leave the tests to run to completion, it says:
>
>   4 tests of 177 FAILED
>
> The failed ones are these:
>
>          ipcs: mk-rm-shm                                     ...
> FAILED (ipcs/mk-rm-shm) misc: fallocate                              
>       ... FAILED (misc/fallocate) misc: swaplabel                    
>                 ... FAILED (misc/swaplabel) misc: ul                 
>                           ... FAILED (misc/ul)
>



Could you show us the test diffs?
$ find tests/diff/ -type f | xargs -r cat

Maybe also warnings durning the test run (if any).

cu,
Rudi

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: cancelling the tests says that they all passed
  2016-03-17 10:35 ` Ruediger Meier
@ 2016-03-17 11:53   ` Benno Schulenberg
  2016-03-17 12:50     ` Ruediger Meier
  0 siblings, 1 reply; 8+ messages in thread
From: Benno Schulenberg @ 2016-03-17 11:53 UTC (permalink / raw)
  To: Ruediger Meier; +Cc: Util-Linux

[-- Attachment #1: Type: text/plain, Size: 1248 bytes --]


On Thu, Mar 17, 2016, at 11:35, Ruediger Meier wrote:
> On Thursday 17 March 2016, Benno Schulenberg wrote:
> > When one hits ^C when the compilation phase of 'make check'
> > finishes and the first tests start executing, the script prints
> 
> I don't manage to reproduce that. How do you run make exactly (-j)?

Just plain 'make' and 'make check'.

> If I hit ctrl-C during compilation then the test script does not start 
> at all. Maybe there is a dependency problem and your tests start before 
> compilation is finished?

No, I don't hit ^C during compilation but when it has finished,
when that scary warning "Don't execute on production system!"
has been printed and the first "OK"s have appeared.

> Could you show us the test diffs?
> $ find tests/diff/ -type f | xargs -r cat

Attached.

> Maybe also warnings durning the test run (if any).

Only the ipcs one prints warnings:

         ipcs: mk-rm-msg                                     ... OK
         ipcs: mk-rm-sem                                     ... OK
ipcs: id 1048595 not found
ipcs: id 1081363 not found
         ipcs: mk-rm-shm                                     ... FAILED (ipcs/mk-rm-shm)

Benno

-- 
http://www.fastmail.com - A no graphics, no pop-ups email service


[-- Attachment #2: thediffs --]
[-- Type: application/octet-stream, Size: 1655 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: cancelling the tests says that they all passed
  2016-03-17 11:53   ` Benno Schulenberg
@ 2016-03-17 12:50     ` Ruediger Meier
  2016-03-17 16:49       ` Benno Schulenberg
  0 siblings, 1 reply; 8+ messages in thread
From: Ruediger Meier @ 2016-03-17 12:50 UTC (permalink / raw)
  To: Benno Schulenberg; +Cc: Util-Linux

On Thursday 17 March 2016, Benno Schulenberg wrote:
> On Thu, Mar 17, 2016, at 11:35, Ruediger Meier wrote:
> > On Thursday 17 March 2016, Benno Schulenberg wrote:
> > > When one hits ^C when the compilation phase of 'make check'
> > > finishes and the first tests start executing, the script prints
> >
> > I don't manage to reproduce that. How do you run make exactly (-j)?
>
> Just plain 'make' and 'make check'.
>
> > If I hit ctrl-C during compilation then the test script does not
> > start at all. Maybe there is a dependency problem and your tests
> > start before compilation is finished?
>
> No, I don't hit ^C during compilation but when it has finished,
> when that scary warning "Don't execute on production system!"
> has been printed and the first "OK"s have appeared.
>
> > Could you show us the test diffs?
> > $ find tests/diff/ -type f | xargs -r cat
>
> Attached.
> 
> > Maybe also warnings durning the test run (if any).
>
> Only the ipcs one prints warnings:
>
>          ipcs: mk-rm-msg                                     ... OK
>          ipcs: mk-rm-sem                                     ... OK
> ipcs: id 1048595 not found
> ipcs: id 1081363 not found
>          ipcs: mk-rm-shm                                     ...
> FAILED (ipcs/mk-rm-shm)

Thanks!

I have some guesses about "ipcs" and "fallocate" but some more 
questions:

1. Which kernel version?
2. Which file system? (findmnt -n -o FSTYPE -T tests/output)
3. Is /proc mounted?
4  grep "FALL" config.h

"swaplabel" test fails because it's using again fallocate. Maybe we 
should use dd/truncate instead to not test fallocate again.

The misc/ul failure is something about different ncurses (or 
terminals?). I know it from BSD. Don't know how this should be fixed in 
our test suite because I don't know much about ncurses stuff.

This is the plain diff:

--- tests/expected/misc/ul
+++ tests/output/misc/ul
@@ -1,3 +1,3 @@
-^[[1ma^[(B^[[mb^[[4mc^[[24m
+^[[1ma^[[m^[(Bb^[[4mc^[[24m


Interpreted by terminal both looks ok: "abc" with bold "a" and 
underlined "c". I sombody confirmes that both strings in the diff are 
totally ok on any system, then I would fix the test by using sed.

cu,
Rudi

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: cancelling the tests says that they all passed
  2016-03-17 12:50     ` Ruediger Meier
@ 2016-03-17 16:49       ` Benno Schulenberg
  2016-03-17 17:18         ` Ruediger Meier
  0 siblings, 1 reply; 8+ messages in thread
From: Benno Schulenberg @ 2016-03-17 16:49 UTC (permalink / raw)
  To: Ruediger Meier; +Cc: Util-Linux


On Thu, Mar 17, 2016, at 13:50, Ruediger Meier wrote:
> I have some guesses about "ipcs" and "fallocate" but some more 
> questions:
> 
> 1. Which kernel version?

2.6.32

> 2. Which file system? (findmnt -n -o FSTYPE -T tests/output)

ext3

> 3. Is /proc mounted?

$ ./findmnt -n -t proc
/proc  none   proc   rw,nosuid,nodev,noexec,relatime

> 4  grep "FALL" config.h

#define HAVE_FALLOCATE 1
#define HAVE_LINUX_FALLOC_H 1

Benno

-- 
http://www.fastmail.com - A fast, anti-spam email service.


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: cancelling the tests says that they all passed
  2016-03-17 16:49       ` Benno Schulenberg
@ 2016-03-17 17:18         ` Ruediger Meier
  2016-03-17 18:23           ` Benno Schulenberg
  0 siblings, 1 reply; 8+ messages in thread
From: Ruediger Meier @ 2016-03-17 17:18 UTC (permalink / raw)
  To: Benno Schulenberg; +Cc: Util-Linux

On Thursday 17 March 2016, Benno Schulenberg wrote:
> On Thu, Mar 17, 2016, at 13:50, Ruediger Meier wrote:
> > I have some guesses about "ipcs" and "fallocate" but some more
> > questions:
> >
> > 1. Which kernel version?
>
> 2.6.32

Hehe my guess was right.

I've noticed already 2 years ago on Debian 6 that our scanf code in 
ipc_shm_get_info() is not compatible to this kernel version. (2.6.34 
worked AFAIR.)

Could you show us
$ cat /proc/sysvipc/shm

Maybe it's easy to fix.

Generally I think we should make a statement about "what is the minimum 
kernel version" for util-linux. Two years ago I decided for myself that 
I should fix bugs for newer kernels first. On the other hand 2.6.32 
would have been worth to support because it was officially maintained 
from 2009 until last month!

> > 2. Which file system? (findmnt -n -o FSTYPE -T tests/output)
>
> ext3

ext3 is not supported but the system call should return an error and the 
test should look like this:
   misc: fallocate ... SKIPPED ('ext3' not supported)

I guess the kernel syscall does not return error thus our fallocate 
succeed but the file is empty. It's a kernel bug we can't fix. Or 
should we add a stat() call to validate the syscall?

> > 3. Is /proc mounted?
>
> $ ./findmnt -n -t proc
> /proc  none   proc   rw,nosuid,nodev,noexec,relatime
>
> > 4  grep "FALL" config.h
>
> #define HAVE_FALLOCATE 1
> #define HAVE_LINUX_FALLOC_H 1
>
> Benno



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: cancelling the tests says that they all passed
  2016-03-17 17:18         ` Ruediger Meier
@ 2016-03-17 18:23           ` Benno Schulenberg
  2016-03-17 19:48             ` Ruediger Meier
  0 siblings, 1 reply; 8+ messages in thread
From: Benno Schulenberg @ 2016-03-17 18:23 UTC (permalink / raw)
  To: Ruediger Meier; +Cc: Util-Linux


On Thu, Mar 17, 2016, at 18:18, Ruediger Meier wrote:
> Could you show us
> $ cat /proc/sysvipc/shm

       key      shmid perms       size  cpid  lpid nattch   uid   gid  cuid  cgid      atime      dtime      ctime
         0     131072  1600     393216  1409   921      2  1000  1000  1000  1000 1458201259          0 1458201259
         0     163841  1600     393216  1413 19472      2  1000  1000  1000  1000 1458231784 1458231784 1458201259
         0     196610  1600     393216  1399   921      2  1000  1000  1000  1000 1458201260          0 1458201260
         0     229379  1600     393216  1399   921      2  1000  1000  1000  1000 1458201260          0 1458201260
         0     262148  1600     393216  1419  1474      2  1000  1000  1000  1000 1458201262 1458201262 1458201261
         0     294917  1600     393216  1419  1474      2  1000  1000  1000  1000 1458201262 1458201262 1458201261
         0     327686  1600     393216  1388   921      2  1000  1000  1000  1000 1458201262          0 1458201262
         0     360455  1600     393216  1416  2127      2  1000  1000  1000  1000 1458204570 1458204570 1458201265
         0     393224  1600     393216  1424   921      2  1000  1000  1000  1000 1458201265          0 1458201265
         0     425993  1600     393216  1490   921      2  1000  1000  1000  1000 1458201268          0 1458201268
         0     458762  1600     393216  1495   921      2  1000  1000  1000  1000 1458201268          0 1458201268
         0     491531  1600     393216  1508   921      2  1000  1000  1000  1000 1458201268          0 1458201268
         0     524300  1600     393216  1497   921      2  1000  1000  1000  1000 1458201268          0 1458201268
         0     557069  1600     393216  1405 18482      2  1000  1000  1000  1000 1458215908 1458215908 1458201269
         0     589838  1600     393216  1492   921      2  1000  1000  1000  1000 1458201270          0 1458201270
         0     622607  1600     393216  1493   921      2  1000  1000  1000  1000 1458201273          0 1458201273
         0     655376  1600     393216  1496   921      2  1000  1000  1000  1000 1458201274          0 1458201274
         0     688145  1600     393216  1417   921      2  1000  1000  1000  1000 1458201282          0 1458201282
         0     720914  1600     393216  1413 19472      2  1000  1000  1000  1000 1458231784 1458231784 1458201449
 -60920149    1081363   644         12 10036     0      0  1000  1000  1000  1000          0          0 1458215137
         0    1114132  1600     393216  1417   921      2  1000  1000  1000  1000 1458215476          0 1458215476

> Generally I think we should make a statement about "what is the minimum 
> kernel version" for util-linux.

A statement.  And let the tests check the version and print
a warning in case it's too old.

> Two years ago I decided for myself that 
> I should fix bugs for newer kernels first. On the other hand 2.6.32 
> would have been worth to support because it was officially maintained 
> from 2009 until last month!

I'm not expecting you to fix things.  It's just nice to put
things in a harsher environment and see how they hold up.  :)

> I guess the kernel syscall does not return error thus our fallocate 
> succeed but the file is empty. It's a kernel bug we can't fix. Or 
> should we add a stat() call to validate the syscall?

That sounds like a good idea: check, and double check.

Benno

-- 
http://www.fastmail.com - Accessible with your email software
                          or over the web


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: cancelling the tests says that they all passed
  2016-03-17 18:23           ` Benno Schulenberg
@ 2016-03-17 19:48             ` Ruediger Meier
  0 siblings, 0 replies; 8+ messages in thread
From: Ruediger Meier @ 2016-03-17 19:48 UTC (permalink / raw)
  To: Benno Schulenberg; +Cc: Util-Linux

On Thursday 17 March 2016, Benno Schulenberg wrote:
> On Thu, Mar 17, 2016, at 18:18, Ruediger Meier wrote:
> > Could you show us
> > $ cat /proc/sysvipc/shm

>   key      shmid perms       size  cpid  lpid nattch   uid   gid  cuid  cgid      atime      dtime      ctime
>     0     131072  1600     393216  1409   921      2  1000  1000  1000  1000 1458201259          0 1458201259

Ok, nowadays we have just two more columns at the end: "rss" and "swap".
Could be fixed probably. We have also still fallback code for the old
syscall which is used if there is no /proc at all.

Actually it was on my imaginary TODO list to review all /proc scanf
code for robustness against future column additions.

>
> > Generally I think we should make a statement about "what is the
> > minimum kernel version" for util-linux.
>
> A statement.  And let the tests check the version and print
> a warning in case it's too old.

Actually a failed test is the best "warning" (based on facts rather
than parsed version numbers):
  FAILED == "Stop! something is wrong with ul and your system."

But IMO ok to give users a hint like "your kernel might be too old".
This warning could be repeated when there are failed tests.

On the other hand this reminds me about all these wrong >2.6 version
checks, and why uname26 was invented :)

> > Two years ago I decided for myself that
> > I should fix bugs for newer kernels first. On the other hand 2.6.32
> > would have been worth to support because it was officially
> > maintained from 2009 until last month!
>
> I'm not expecting you to fix things.  It's just nice to put
> things in a harsher environment and see how they hold up.  :)

> > I guess the kernel syscall does not return error thus our fallocate
> > succeed but the file is empty. It's a kernel bug we can't fix. Or
> > should we add a stat() call to validate the syscall?
>
> That sounds like a good idea: check, and double check.
>
> Benno



^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2016-03-17 19:48 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-03-17  9:44 cancelling the tests says that they all passed Benno Schulenberg
2016-03-17 10:35 ` Ruediger Meier
2016-03-17 11:53   ` Benno Schulenberg
2016-03-17 12:50     ` Ruediger Meier
2016-03-17 16:49       ` Benno Schulenberg
2016-03-17 17:18         ` Ruediger Meier
2016-03-17 18:23           ` Benno Schulenberg
2016-03-17 19:48             ` Ruediger Meier

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox