[PATCH] fix testsuite

jdoubleu hi@jdoubleu.de
Thu Mar 24 16:54:26 GMT 2022


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
-------------- next part --------------
From 367bac5167e3c24b26310bafd59a26dc548a3a33 Mon Sep 17 00:00:00 2001
From: jdoubleu <hi@jdoubleu.de>
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



More information about the Newlib mailing list