[distcc] distcc 2.12.1 test suite patch

Martin Pool mbp at sourcefrog.net
Sun Feb 29 03:50:14 GMT 2004


On 19 Feb 2004, Albert Chin <distcc at mlists.thewrittenword.com> wrote:
> Patch below to get test suite working on most of the platforms we
> support:
>   1. Not much use in testing with the native compiler so we *force*
>      the test suite to use gcc.
> 
>   2. Rather than picking up gcc from $PATH, we pass the full path
>      to GCC. This avoids problems when distccd is running.
> 
>   3. I've added known failures on some platforms. For example, the
>      assembler test should only run on Linux x86. Where we know
>      the test will fail, we print:
>        DashONoSpace_Case              NOTRUN, GCC mips-tfile wants space after -o
>        ...
>        RemoteAssemble_Case            NOTRUN, Linux x86 only
>        PreprocessAsm_Case             NOTRUN, Linux x86 only
>        ...
> 
> The tests pass on:
>   HP-UX 10.20, 11.00, 11i; IRIX 6.5;
>   Redhat Linux 7.1, 9; Solaris 7, 8, 9; Tru64 UNIX 4.0d, 5.1

That looks very good.  Thanks!

> Failures:
>   1. Solaris 2.5.1, 2.6 hang after NoDetachDaemon_Case.
>   3. AIX 4.3.2, 5.1 hang at BigAssFile_Case and fail ImplicitCompiler_Case
>      (the IBM C compiler wants the cwd to be writable). Should I disable
>      ImplicitCompiler_Case or should distcc call 'gcc' as the default
>      compiler rather than 'cc'?

I kind of think that is an IBM cc bug.  Probably testing using gcc is
best until other compilers are known to work.

Maybe distcc should hardcode "gcc" not "cc"?
 
> One odd thing that happens on HP-UX and Tru64 UNIX is that the
> distccd's run during the test don't end after the tests complete. Why?

I'm not sure.  Maybe something about signals not interrupting
whichever syscall they're in?  Maybe you could have a look at the logs
in testtmp/ or get a backtrace from the daemons?

> Also, due to the large number of distccd processes run during the test
> suite, I had to bump my process/user limit up (AIX, HP-UX, Tru64 UNIX).

OK.

> +# When invoking compiler, use absolute path so distccd can find it
> +for path in os.environ['PATH'].split (':'):
> +  abs_path = os.path.join (path, 'gcc')
> +
> +  if os.path.isfile (abs_path):
> +    _gcc = abs_path
> +

You ought to terminate the loop so it gets the first gcc on the path,
not the last.

I'll commit with that change.

-- 
Martin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://lists.samba.org/archive/distcc/attachments/20040229/c6c9ad7d/attachment.bin


More information about the distcc mailing list