Subject: [bug#27412] [PATCH] gnu: rustc: Enable tests.

From: Danny Milosavljevic <[email-masked]>
Date: Sun, 18 Jun 2017 19:28:34 +0200

Hi Marius,

On Sun, 18 Jun 2017 18:17:48 +0200
Marius Bakke <[email-masked]> wrote:

> > +                 (("\"/bin/sh\"") (string-append "
> > +\"" bash "/bin/sh\"")))  
> 
> Can you use '\n' instead?

No idea.  I don't really use '\n' in Guile at all.  I'll try it...

> > +               (substitute* "src/libstd/sys/unix/process/process_common.rs"
> > +                 (("fn test_process_mask") "#[cfg_attr(target_os = \"linux\", ignore)]
> > +fn test_process_mask"))  
> 
> I'm guessing this is disabled due to some build container oddity?

Yeah.  Strangely enough if I manually run the tests in "guix environment -C -N", it works.  WTF?

See <https://lists.gnu.org/archive/html/guix-devel/2017-06/msg00222.html>.

> > +               (substitute* "src/vendor/libc/src/lib.rs"
> > +                 (("TODO") "TXDO"))  

I think this was a false flag and it works without that substitution.  I'll try...

> > +               ;; Our ld-wrapper cannot process non-UTF8 bytes in LIBRARY_PATH.
> > +               (delete-file-recursively "src/test/run-make/linker-output-non-utf8")  

>This is temporary, right? 

Not really.  I think Guile will continue to convert char* to Unicode UCS-4 (or similar) strings - so I don't see how that's ever going to change.  What this Rust test does is it explicitly uses a NON-Unicode character (as in 0xFF) to make sure that that works, too.

I'm not sure what the use case is for that...

See <https://lists.gnu.org/archive/html/guix-devel/2017-06/msg00193.html>.

>Maybe add the guix-devel URL?

I'll add links to these archive entries as comments, and try without the "TODO" substitution and if all is well then I'll push to master (building takes ≈ 4 h per round, so no hurry).

Thanks for the review!