All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gernot Hillier <gernot.hillier@siemens.com>
To: xenomai@xenomai.org
Subject: [Xenomai] xeno-regression-test returns SUCCESS when Xenomai not available
Date: Tue, 20 Aug 2013 14:45:35 +0200	[thread overview]
Message-ID: <521364EF.8050006@siemens.com> (raw)

Hi there!

I'm currently working on an automatic test environment for Xenomai
kernels. Sometimes, Xenomai integration into my kernel fails completely 
and I expected this to be detected in a xeno-regression-test run - however:

root@localhost:~# xeno-regression-test && echo Worked.
Started child 28231: /bin/bash 
/usr/lib/xenomai/testsuite/xeno-test-run-wrapper 
/usr/bin/xeno-regression-test
++ echo 0
/usr/bin/xeno-regression-test: line 38: /proc/xenomai/latency: No such 
file or directory
++ :
++ /usr/lib/xenomai/testsuite/arith
Xenomai: /dev/rtheap is missing
(chardev, major=10 minor=254)
Worked.

Looking into xeno-test-run.c, I see that a dead script child is not
causing an error exit of xeno-test-run in handle_script_child().

Is there any special reason for that behaviour or could we just add a
comparable EXIT_FAILURE branch as in handle_checked_child(), something
like

--- src/testsuite/xeno-test/xeno-test-run.c.orig        2013-08-20 
10:10:04.452067093 +0200
+++ src/testsuite/xeno-test/xeno-test-run.c     2013-08-20 
13:10:12.739924212 +0200
@@ -420,7 +418,14 @@ void handle_script_child(struct child *c
         int rc;

         if (child->dead) {
+               int status = child->exit_status;
                 child_cleanup(child);
+               if (WIFEXITED(status)) {
+                       fail_fprintf(stderr,
+                                  "child %d exited with status %d\n",
+                                  child->pid, WEXITSTATUS(status));
+                       exit(EXIT_FAILURE);
+               }
                 return;
         }

However, as I didn't really get the concept yet how script and checked
clients work together, I'm not sure whether this is the right way to 
fix(?) that behaviour.

-- 
With kind regards,
Gernot Hillier

Siemens AG, Corporate Technology, CT RTC ITP SES-DE
Corporate Competence Center Embedded Linux


             reply	other threads:[~2013-08-20 12:45 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-20 12:45 Gernot Hillier [this message]
2013-08-20 18:15 ` [Xenomai] xeno-regression-test returns SUCCESS when Xenomai not available Gilles Chanteperdrix
2013-08-20 21:49   ` Gilles Chanteperdrix
2013-08-22  9:01     ` Gernot Hillier
2013-08-20 18:50 ` Gilles Chanteperdrix

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=521364EF.8050006@siemens.com \
    --to=gernot.hillier@siemens.com \
    --cc=xenomai@xenomai.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.