#2720 closed task (invalid)
tcl tests http.test httpold.test socket.test fail when run from non-root user
Reported by: | Gilles Espinasse | Owned by: | |
---|---|---|---|
Priority: | normal | Milestone: | 6.7 |
Component: | Book | Version: | SVN |
Severity: | normal | Keywords: | |
Cc: |
Description
I build as root on a lenny machine and as non-root on ubuntu-9.04 http.test httpold.test socket.test consistenly fail on the non-root build and work on the root build.
I checked first that compilation log are the same as they should. Then I moved the entire compiled tcl package from one machine to the other.
If I move the compiled tcl (using a tar) on the machine where I compile as root and run the tests as root, they work.
If I do the reverse and move the compiled as root package on the machine where I compile as non-root, the three tests fail.
So I conclude that those 3 tests need to be run as root. I think that should be noted on chap5.11 tcl that those test will failed and the reason.
If you try to replay what I have done, you need to adjust unix/Makefile to match the new place of the package.
Change History (4)
comment:1 by , 14 years ago
follow-up: 3 comment:2 by , 14 years ago
I was wrong in my conclusion.
On the machine where test work for my build system (lenny 32-bits), I try with jhalf as non-root and every test is ok.
I would need to test jhalf on the machine where the tests fail (ubuntu-9.10, not 9.04).
I don't care that much of chap5 tests. But I needed to upgrade expect as previous version disappear from the web. And it happen I tested on the machine where tcl tests fail and from memory I was sure tests were ok on other machines.
Then I try to understand with not so much success actually. Seen that Fedora has commented tcl tests on the spec file.
comment:3 by , 14 years ago
Resolution: | → invalid |
---|---|
Status: | new → closed |
Replying to gespinasse:
I was wrong in my conclusion.
OK, marking as invalid then. Thanks for the followup.
comment:4 by , 14 years ago
Still trying to understand what could be the reason of the failure.
Compiling from exactly the same path as non-root, the only difference I see unders the noise in the logs is the different kernel version. Downgrading the machine that fail from kernel 2.6.31 to 2.6.28 make no difference, on 2.6.27 did not boot, so I am afraid I will not be able to test on exactly same 2.6.26 kernel.
Running a diff -Nur against the 2 tools directory show nothing meaningfull to me:
- noise in info, share/info directories due to a different makeinfo version,
- different static lib .a files, I suppose archive contain a timestamp
- some different binaries at first cross-compilation stage and that's normal as host binutil/gcc are different
- only nscd binary is different later, (could be a timestamp, I didn't look but already removed a glibc timestamp)
So I didn't find what could explain that failure on one machine where it work on the other one.
The only thing I find is that if I recompile tcl at the end of chap6, it consistently fail on all machines I have tried.
I try too to strace on chap6 with nothing much found.
Whilst I can't reproduce your exact results, I can certainly confirm that there are differences between a root and non-root test run. This is from a non-root run:
(the failing test in this case is cmdAH-25.3)
This is from a root run:
To be honest, I think we should simply remove all references to the test suites in chapter 5.