[PATCH] fix testsuite

jdoubleu <[email protected]>
Newsgroups gmane.comp.lib.newlib
Message-ID <[email protected]>
I found the issue: newlib/testsuite/lib/passfail.exp was using a the 
function `newlib_target_compile` which is defined in newlib.exp but 
hasn't been included yet.

I attached a patch.

Still some tests fail to compile, but that seems more like an issue with 
the host environment or target board.


Cheers
---
🙎🏻‍♂️ jdoubleu
On 3/21/2022 4:37 PM, jdoubleu wrote:
> Hi,
> 
> I'm currently trying to run the newlib testsuite on my linux host. 
> Unforunately, it looks like the tests cannot be compiled (by DEJAGNU).
> 
> I've followed the steps in 
> https://sourceware.org/git/?p=newlib-cygwin.git;a=blob;f=newlib/README;h=97890b9d20ca0ac9f206d7a2334d55a3d7052289;hb=HEAD#l470 
> to setup and configure my environment.
> 
> I'm getting the following stack trace when I run `make check`:
> ```
> $ make check
> ...
> make[1]: Entering directory '/path/to/newlib-cygwin/build'
> Found expect: expect
> Found runtest: runtest
> /path/to/newlib-cygwin/build/testsuite
> WARNING: Couldn't find tool init file
> Test run by jdoubleu on Mon Mar 21 16:27:27 2022
> Target is x86_64-pc-linux-gnu
> Host   is x86_64-pc-linux-gnu
> 
>                  === newlib tests ===
> 
> Schedule of variations:
>      unix
> 
> Running target unix
> Using /usr/share/dejagnu/baseboards/unix.exp as board description file 
> for target.
> Using /usr/share/dejagnu/config/unix.exp as generic interface file for 
> target.
> Using /path/to/newlib-cygwin/newlib/testsuite/config/default.exp as 
> tool-and-target-specific interface file.
> WARNING: Assuming target board is the local machine (which is probably 
> wrong).
> You may need to set your DEJAGNU environment variable.
> Running /path/to/newlib-cygwin/newlib/testsuite/newlib.elix/elix.exp ...
> Running /path/to/newlib-cygwin/newlib/testsuite/newlib.iconv/iconv.exp ...
> ERROR: (DejaGnu) proc "newlib_target_compile 
> /path/to/newlib-cygwin/newlib/testsuite/newlib.iconv/iconvnm.c 
> /path/to/newlib-cygwin/build/testsuite/iconvnm.x executable {}" does not 
> exist.
> The error code is TCL LOOKUP COMMAND newlib_target_compile
> The info on the error is:
> invalid command name "newlib_target_compile"
>      while executing
> "::tcl_unknown newlib_target_compile 
> /path/to/newlib-cygwin/newlib/testsuite/newlib.iconv/iconvnm.c 
> /path/to/newli..."
>      ("uplevel" body line 1)
>      invoked from within
> "uplevel 1 ::tcl_unknown $args"
> 
>                  === newlib Summary ===
> 
> make[1]: Leaving directory '/path/to/newlib-cygwin/build'
> ```
> 
> Building the lib (`make`) works.
> 
> I've also noticed, the docs are mentioning to run `make 
> check-target-newlib` (see 
> https://sourceware.org/git/?p=newlib-cygwin.git;a=blob;f=newlib/README;h=97890b9d20ca0ac9f206d7a2334d55a3d7052289;hb=HEAD#l505), 
> which does not seem to exist. I could only run `check` which eventually 
> runs `check-DEJAGNU`.
> 
> 
> Best regards
0001-fix-testsuite.patch (text/plain, 757 B)
From 367bac5167e3c24b26310bafd59a26dc548a3a33 Mon Sep 17 00:00:00 2001
From: jdoubleu <[email protected]>
Date: Thu, 24 Mar 2022 17:49:08 +0100
Subject: [PATCH] fix testsuite

---
 newlib/testsuite/lib/passfail.exp | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/newlib/testsuite/lib/passfail.exp b/newlib/testsuite/lib/passfail.exp
index 5e7eb21..2c9abf6 100644
--- a/newlib/testsuite/lib/passfail.exp
+++ b/newlib/testsuite/lib/passfail.exp
@@ -4,6 +4,8 @@
 # is freely granted, provided that this notice is preserved.
 #
 
+load_lib newlib.exp
+
 # newlib_pass_fail_all compiles and runs all the source files in the
 # test directory. If flag is -x, then the sources whose basenames are
 # listed in exclude_list are not compiled and run.
-- 
2.35.1
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.