<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel about="http://blog.gmane.org/gmane.linux.ltp">
    <title>gmane.linux.ltp</title>
    <link>http://blog.gmane.org/gmane.linux.ltp</link>
    <description/>
    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>1</syn:updateFrequency>
    <syn:updateBase>1901-01-01T00:00+00:00</syn:updateBase>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.ltp/6634"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.ltp/6633"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.ltp/6632"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.ltp/6631"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.ltp/6630"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.ltp/6629"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.ltp/6628"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.ltp/6627"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.ltp/6626"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.ltp/6625"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.ltp/6624"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.ltp/6623"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.ltp/6622"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.ltp/6621"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.ltp/6620"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.ltp/6619"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.ltp/6618"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.ltp/6617"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.ltp/6616"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.ltp/6615"/>
      </rdf:Seq>
    </items>
    <image rdf:resource="http://gmane.org/img/gmane-25t.png"/>
    <textinput rdf:resource=""/>
  </channel>
  <image rdf:about="http://gmane.org/img/gmane-25t.png">
    <title>Gmane</title>
    <url>http://gmane.org/img/gmane-25t.png</url>
    <link>http://gmane.org</link>
  </image>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.ltp/6634">
    <title>[PATCH] Perform the test in a private directory</title>
    <link>http://permalink.gmane.org/gmane.linux.ltp/6634</link>
    <description>This test case requires write permission for the dummy program. It would
fail for those who put LTP on an read-only environment. So this patch
copies the dummy test program to and performs the test in a private
directory.

p.s. this patch copy the one Renaud Lottiaux sent for execve02.c.
---
 testcases/kernel/syscalls/execve/execve05.c |   47 +++++++++++++++++++++++++++
 1 files changed, 47 insertions(+), 0 deletions(-)

diff --git a/testcases/kernel/syscalls/execve/execve05.c b/testcases/kernel/syscalls/execve/execve05.c
index 8952d6f..ec23a43 100644
--- a/testcases/kernel/syscalls/execve/execve05.c
+++ b/testcases/kernel/syscalls/execve/execve05.c
&lt; at &gt;&lt; at &gt; -55,6 +55,7 &lt; at &gt;&lt; at &gt;
 #include &lt;fcntl.h&gt;
 #include &lt;sys/types.h&gt;
 #include &lt;sys/wait.h&gt;
+#include &lt;libgen.h&gt;
 #include "test.h"
 #include "usctest.h"
 #include "libtestsuite.h"
&lt; at &gt;&lt; at &gt; -212,9 +213,52 &lt; at &gt;&lt; at &gt; help()
 void
 setup()
 {
+char *cmd, *dirc, *basec, *bname, *dname, *path, *pwd = NULL;
+int res;
+
 /* capture signals */
 tst_sig(FORK, DEF_HANDLER, cleanup);
 
+/* Get file name of the passed test file and the absolute path to it.
+ * We will need these informations to copy the test file in the temp
+ * directory.
+ */
+dirc = strdup(test_name);
+basec = strdup(test_name);
+dname = dirname(dirc);
+bname = basename(basec);
+
+if (dname[0] == '/')
+path = dname;
+else {
+if ((pwd = getcwd(NULL, 0)) == NULL) {
+tst_brkm(TBROK, tst_exit, "Could not get current directory");
+}
+path = malloc (strlen(pwd) + strlen(dname) +  2);
+if (path == NULL) {
+tst_brkm(TBROK, tst_exit, "Cannot alloc path string");
+}
+sprintf (path, "%s/%s", pwd, dname);
+}
+
+/* make a temp dir and cd to it */
+tst_tmpdir();
+
+/* Copy the given test file to the private temp directory.
+*/
+cmd = malloc (strlen(path) + strlen(bname) + 15);
+if (cmd == NULL){
+tst_brkm(TBROK, tst_exit, "Cannot alloc command string");
+}
+
+sprintf (cmd, "cp -p %s/%s .", path, bname);
+res = system (cmd);
+free (cmd);
+if (res == -1) {
+tst_brkm(TBROK, tst_exit, "Cannot copy file %s", test_name);
+}
+
+test_name = bname;
 /* Pause if that option was specified */
 TEST_PAUSE;
 }
&lt; at &gt;&lt; at &gt; -233,6 +277,9 &lt; at &gt;&lt; at &gt; cleanup()
  */
 TEST_CLEANUP;
 
+/* Remove the temporary directory */
+tst_rmdir();
+
 /* exit with return code appropriate for results */
 tst_exit();
 }
</description>
    <dc:creator>Roy Lee</dc:creator>
    <dc:date>2008-12-02T01:12:56</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.ltp/6633">
    <title>Re: [RFC] Testing Support for FILECAPS improvements in 2.6.27</title>
    <link>http://permalink.gmane.org/gmane.linux.ltp/6633</link>
    <description>Quoting Subrata Modak (subrata-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8&lt; at &gt;public.gmane.org):

That probably ranks lower priority than the securebits tests.


That should be tested by existing tests.  It's a code refactoring,
not a new feature.

thanks,
-serge

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK &amp; win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/
</description>
    <dc:creator>Serge E. Hallyn</dc:creator>
    <dc:date>2008-12-01T18:04:57</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.ltp/6632">
    <title>fails in syscalls/stat04_64 and syscalls/lstat01A_64 testcases</title>
    <link>http://permalink.gmane.org/gmane.linux.ltp/6632</link>
    <description>Hi,

stat04 and lstat01A are testcases of symlink01 test:

from runtest/syscalls:

lstat01A symlink01 -T lstat01
lstat01A_64 symlink01 -T lstat01_64
...
stat04 symlink01 -T stat04
stat04_64 symlink01 -T stat04_64

symlink01 test has no testcases with name lstat01_64 and stat04_64, so this 
testcases fail now. What can we do with this ?


</description>
    <dc:creator>Dmitry Guryanov</dc:creator>
    <dc:date>2008-12-01T17:55:54</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.ltp/6631">
    <title>Re: problems with signalfd testcase on different systems</title>
    <link>http://permalink.gmane.org/gmane.linux.ltp/6631</link>
    <description>
thanks

</description>
    <dc:creator>Dmitry Guryanov</dc:creator>
    <dc:date>2008-12-01T16:44:03</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.ltp/6630">
    <title>[PATCH 1/4] [RT][RFC][Take#5] New library: libxml</title>
    <link>http://permalink.gmane.org/gmane.linux.ltp/6630</link>
    <description>This library provides a set of function to help the saving of data as XML
formatted files.
Note: this is a lightweight library as it does not check if the document is well formed or grammaticallt correct.
It must be considered as a commodity that helps tag indentation and avoids user to toss with '&lt;' and '&gt;'.
To embbed it into executables, run:
XML_LIB=1 make

Also, it adds heading tags with data such as timestamp, system information, test conditions... This to facilitate post processing. (eg. further comparisons of different testruns, formatting for plotting...)

This patch does not alter the LTP/RT traditional stats dump.
A new global command line option is used: -x &lt;id&gt;

Compilation is conditional to LIB_XML.

Signed-off-by: Gilles Carry &lt;gilles.carry-6ktuUTfB/bM&lt; at &gt;public.gmane.org&gt;
---
 testcases/realtime/config.mk        |    5 +
 testcases/realtime/include/libxml.h |  134 ++++++++++++
 testcases/realtime/lib/librttest.c  |   23 ++-
 testcases/realtime/lib/libxml.c     |  385 +++++++++++++++++++++++++++++++++++
 4 files changed, 545 insertions(+), 2 deletions(-)
 create mode 100644 testcases/realtime/include/libxml.h
 create mode 100644 testcases/realtime/lib/libxml.c

diff --git a/testcases/realtime/config.mk b/testcases/realtime/config.mk
index 19ccddc..0570a2e 100644
--- a/testcases/realtime/config.mk
+++ b/testcases/realtime/config.mk
&lt; at &gt;&lt; at &gt; -18,6 +18,11 &lt; at &gt;&lt; at &gt; endif
 #
 CPPFLAGS += -I$(srcdir)/include -D_GNU_SOURCE
 CFLAGS   += -Wall
+ifdef LIB_XML
+LDLIBS   += $(srcdir)/lib/libxml.o
+CFLAGS   += -DLIB_XML
+endif
+
 LDLIBS   += $(srcdir)/lib/libjvmsim.o \
    $(srcdir)/lib/librttest.o \
    $(srcdir)/lib/libstats.o \
diff --git a/testcases/realtime/include/libxml.h b/testcases/realtime/include/libxml.h
new file mode 100644
index 0000000..715eb7c
--- /dev/null
+++ b/testcases/realtime/include/libxml.h
&lt; at &gt;&lt; at &gt; -0,0 +1,134 &lt; at &gt;&lt; at &gt;
+/******************************************************************************
+ *
+ *   This program is free software;  you can redistribute it and/or modify
+ *   it under the terms of the GNU General Public License as published by
+ *   the Free Software Foundation; either version 2 of the License, or
+ *   (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY;  without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
+ *   the GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program;  if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ * NAME
+ *      libxml.h
+ *
+ * DESCRIPTION
+ *      Lightweight xml functions
+ *
+ * USAGE:
+ *      To be linked with testcases
+ *
+ * AUTHOR
+ *      Gilles Carry &lt;gilles.carry-6ktuUTfB/bM&lt; at &gt;public.gmane.org&gt;
+ *
+ * HISTORY
+ *      2008-Oct-20: Initial version by Gilles Carry
+ *
+ * TODO:
+ *
+ *****************************************************************************/
+
+#ifndef LIBXML_H
+#define LIBXML_H
+
+#include &lt;stdio.h&gt;
+#include &lt;stdlib.h&gt;
+#include &lt;string.h&gt;
+#include &lt;errno.h&gt;
+#include &lt;unistd.h&gt;
+
+#defineTAGNAME_MAX_SIZE100
+
+/* Flags for new tags */
+#define XML_TAG_SC0x1U/* Self-close tag &lt;mytag ... /&gt; */
+#define XML_TAG_NOCR0x2U/* No carriage return after markup */
+#define XML_TAG_NOIND0x4U/* No indentation */
+
+#define xml_start_tag(stream,tagname)xml_tag(stream, 0, tagname, NULL)
+#define xml_sc_tag(stream,tagname)xml_tag(stream, XML_TAG_SC, tagname, NULL)
+#define xml_start_tag_watrr(stream,tagname,...)xml_tag(stream, 0, tagname, __VA_ARGS__)
+#define xml_sc_tag_watrr(stream,tagname,...)xml_tag(stream, XML_TAG_SC, tagname, __VA_ARGS__)
+#define xml_end_tag(stream)xml_end(stream, 0)
+#define xml_entry(stream,tagname,...) \
+do { \
+xml_tag(stream, XML_TAG_NOCR, tagname, NULL); \
+xml_content(stream, __VA_ARGS__); \
+xml_end(stream, XML_TAG_NOIND); \
+} while (0)
+
+typedef struct xml_stack_tag {
+char tagname[TAGNAME_MAX_SIZE];
+} xml_stack_tag_t;
+
+typedef struct xml_stream {
+FILE * fd;
+int indent_level;
+xml_stack_tag_t * stack;
+int stack_size;
+} xml_stream_t;
+
+extern char *test_name;
+extern char *xml_free_user_id;
+extern int xml_dump;
+
+/*
+ Generic function to write a start or selfclosing tag into an xml stream:
+ * &lt;tagname&gt;
+ * or
+ * &lt;tagname attributes...&gt;
+ * or
+ * &lt;tagname/&gt;
+ * or
+ * &lt;tagname attributes.../&gt;
+ *
+ * xs: xml stream to write to
+ * flags:
+ *XML_TAG_SC: self-close tag (no indentation increase and no end_tag)
+ *XML_TAG_CR: carriage return after markup
+ * tagname: xml markup name
+ * attr_fmt, ...: printf style argument for attributes
+ *no attribute if attr_fmt==NULL or attr_fmt is an empty string
+ */
+void xml_tag(xml_stream_t *xs, unsigned int flags, char *tagname, char *attr_fmt, ...);
+
+/*
+ * Write an end tag into an xml stream:
+ * &lt;/tagname&gt;
+ *
+ * xs: xml stream to write to
+ * flags:
+ *XML_TAG_NOIND: do not indent tag
+ */
+void xml_end(xml_stream_t *xs, unsigned int flags);
+
+/*
+ * Write data to xml stream
+ * 
+ * xs: xml stream to write to
+ * fmt, ...: printf style formatting
+ */
+void xml_content(xml_stream_t *xs, char *fmt, ...);
+
+/*
+ * Create XML stream file and initialize headers.
+ * testname: name of the test
+ * root_tag: tag of root element
+ * title: title of the XML stream
+ *
+ * return: xml_stream_t pointer to be reused by subsequent xml_... calls.
+ */
+xml_stream_t * xml_stream_init(char *testname, char *root_tag, char *title);
+
+/*
+ * Close XML stream.
+ *
+ */
+void xml_stream_close(xml_stream_t *xs);
+
+
+#endif /* LIBXML_H */
diff --git a/testcases/realtime/lib/librttest.c b/testcases/realtime/lib/librttest.c
index e42fc84..71971d3 100644
--- a/testcases/realtime/lib/librttest.c
+++ b/testcases/realtime/lib/librttest.c
&lt; at &gt;&lt; at &gt; -41,6 +41,9 &lt; at &gt;&lt; at &gt;
  *****************************************************************************/
 
 #include &lt;librttest.h&gt;
+#ifdef LIB_XML
+#include &lt;libxml.h&gt;
+#endif
 #include &lt;libstats.h&gt;
 
 #include &lt;stdio.h&gt;
&lt; at &gt;&lt; at &gt; -79,6 +82,10 &lt; at &gt;&lt; at &gt; void rt_help(void)
 printf("  -p(0,1)0:don't use pi mutexes, 1:use pi mutexes\n");
 printf("  -v[0-4]0:no debug, 1:DBG_ERR, 2:DBG_WARN, 3:DBG_INFO, 4:DBG_DEBUG\n");
 printf("  -sEnable saving stats data (default disabled)\n");
+#ifdef LIB_XML
+printf("  -x &lt;user_free_id&gt;Enable saving of outputs into xml file (default disabled)\n");
+printf("              user_free_id (mandatory arg) string inserted into xml dump\n");
+#endif
 printf("  -cSet pass criteria\n");
 }
 
&lt; at &gt;&lt; at &gt; -105,7 +112,11 &lt; at &gt;&lt; at &gt; int rt_init(const char *options, int (*parse_arg)(int option, char *value), int
 opterr = 0;
 char *all_options;
 
-if (asprintf(&amp;all_options, ":b:p:v:sc:%s", options) == -1) {
+if (asprintf(&amp;all_options, ":b:p:v:sc:"
+#ifdef LIB_XML
+"x:"
+#endif
+"%s", options) == -1) {
 fprintf(stderr, "Failed to allocate string for option string\n");
 exit(1);
 }
&lt; at &gt;&lt; at &gt; -123,7 +134,7 &lt; at &gt;&lt; at &gt; int rt_init(const char *options, int (*parse_arg)(int option, char *value), int
 exit(1);
 }
 }
-
+
 while ((c = getopt(argc, argv, all_options)) != -1) {
 switch (c) {
 case 'c':
&lt; at &gt;&lt; at &gt; -141,6 +152,14 &lt; at &gt;&lt; at &gt; int rt_init(const char *options, int (*parse_arg)(int option, char *value), int
 case 's':
 save_stats = 1;
 break;
+#ifdef LIB_XML
+case 'x':
+xml_dump = 1;
+xml_free_user_id = optarg;
+if (!strcmp("", xml_free_user_id))
+return -1;
+break;
+#endif
 case ':':
 fprintf(stderr, "option -%c: missing arg\n", optopt);
 parse_arg('h', optarg); /* Just to display usage */
diff --git a/testcases/realtime/lib/libxml.c b/testcases/realtime/lib/libxml.c
new file mode 100644
index 0000000..51cfe6a
--- /dev/null
+++ b/testcases/realtime/lib/libxml.c
&lt; at &gt;&lt; at &gt; -0,0 +1,385 &lt; at &gt;&lt; at &gt;
+/******************************************************************************
+ *
+ *   This program is free software;  you can redistribute it and/or modify
+ *   it under the terms of the GNU General Public License as published by
+ *   the Free Software Foundation; either version 2 of the License, or
+ *   (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY;  without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
+ *   the GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program;  if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ * NAME
+ *      libxml.c
+ *
+ * DESCRIPTION
+ *      Lightweight xml functions
+ *
+ *
+ * USAGE:
+ *      To be linked with testcases
+ *
+ * AUTHOR
+ *        Gilles Carry &lt;gilles.carry-6ktuUTfB/bM&lt; at &gt;public.gmane.org&gt;
+ *
+ * HISTORY
+ *      2008-Oct-20: Initial version by Gilles Carry
+ *
+ * TODO:
+ *
+ *****************************************************************************/
+
+#include &lt;stdio.h&gt;
+#include &lt;stdlib.h&gt;
+#include &lt;string.h&gt;
+#include &lt;errno.h&gt;
+#include &lt;dirent.h&gt;
+#include &lt;ctype.h&gt;
+#include &lt;sys/utsname.h&gt;
+#include &lt;stdarg.h&gt;
+#include &lt;libxml.h&gt;
+#include &lt;librttest.h&gt;
+
+#defineTAG_STACK_INIT_SIZE100
+
+char *xml_free_user_id = "";
+int xml_dump = 0;
+
+
+/*
+ * Fetch information across /sys to provide the cpu topology
+ * of the system.
+ */
+static void xml_get_cpu_topology(xml_stream_t * xs)
+{
+DIR *directory_parent, *directory_node;
+struct dirent *de,*dn;
+char directory_path[255];
+char *sys_dir;
+char *ts_fname="thread_siblings_list";
+char buf[200];
+
+xml_start_tag(xs, "sys");
+xml_start_tag(xs, "devices");
+xml_start_tag(xs, "system");
+
+xml_start_tag(xs, "node");
+
+sys_dir = "/sys/devices/system/node";
+directory_parent = opendir(sys_dir);
+if (!directory_parent)  {
+xml_tag(xs, XML_TAG_SC, "not-numa", NULL);
+} else {
+while ((de = readdir(directory_parent)) != NULL) {
+if (strncmp(de-&gt;d_name, "node", 4))
+continue;
+
+/* Check if string matches /node[0-9]/ */
+if (!isdigit(de-&gt;d_name[4]))
+continue;
+
+xml_start_tag(xs, de-&gt;d_name); /* &lt;nodeX&gt; */
+
+sprintf(directory_path, "%s/%s",sys_dir, de-&gt;d_name);
+directory_node = opendir(directory_path);
+if (!directory_parent)  {
+fprintf(stderr, "Unable to open dir %s: %s\n", directory_path, strerror(errno));
+continue;
+}
+while ((dn = readdir(directory_node)) != NULL) {
+if (strncmp(dn-&gt;d_name, "cpu", 3))
+continue;
+
+if (!isdigit(dn-&gt;d_name[3]))
+continue;
+
+xml_tag(xs, XML_TAG_SC, dn-&gt;d_name, NULL); /* &lt;cpuX/&gt; */
+}
+xml_end_tag(xs); /* nodeX */
+closedir(directory_node);
+}
+closedir(directory_parent);
+}
+xml_end_tag(xs); /* node */
+
+
+xml_start_tag(xs, "cpu");
+sys_dir = "/sys/devices/system/cpu";
+directory_parent = opendir(sys_dir);
+if (!directory_parent) {
+fprintf(stderr, "Unable to open dir %s: %s\n", sys_dir, strerror(errno));
+exit(EXIT_FAILURE);
+}
+while ((de = readdir(directory_parent)) != NULL) {
+
+if (strncmp(de-&gt;d_name, "cpu", 3))
+continue;
+
+/* Check if string matches /node[0-9]/ */
+if (!isdigit(de-&gt;d_name[3]))
+continue;
+
+sprintf(directory_path, "%s/%s/topology",sys_dir, de-&gt;d_name);
+directory_node = opendir(directory_path);
+if (!directory_node) {
+/* Cpu probably offline */
+continue;
+}
+xml_start_tag(xs, de-&gt;d_name);
+
+xml_start_tag(xs, "topology");
+while ((dn = readdir(directory_node)) != NULL) {
+char *fpath;
+FILE *fd_sib;
+size_t rd;
+char *cr;
+
+
+if (strncmp(dn-&gt;d_name, ts_fname, strlen(ts_fname)))
+continue;
+
+asprintf(&amp;fpath, "%s/%s", directory_path, dn-&gt;d_name);
+fd_sib = fopen(fpath, "r");
+if (fd_sib == NULL) {
+fprintf(stderr, "Unable to open file %s: %s\n", fpath, strerror(errno));
+continue;
+}
+
+
+rd = fread(buf, 1, sizeof(buf), fd_sib);
+if (rd == sizeof(buf))
+fprintf(stderr, "%s:fread: probable overflow\n", __FILE__);
+fclose(fd_sib);
+free(fpath);
+
+/*
+ * chop off \n.
+ * Note: We consider that only one \n is present
+ * at the end of the file.
+ */
+cr = strchr(buf, '\n');
+if(cr)
+*cr = '\0';
+
+xml_entry(xs, ts_fname, buf);
+}
+xml_end_tag(xs); /* topology */
+xml_end_tag(xs); /* de-&gt;d_name */;
+closedir(directory_node);
+}
+closedir(directory_parent);
+xml_end_tag(xs); /* cpu */
+
+xml_end_tag(xs); /* system */
+xml_end_tag(xs); /* devices */
+xml_end_tag(xs); /* sys */
+}
+
+/*
+ Generic function to write a start or selfclosing tag into an xml stream:
+ * &lt;tagname&gt;
+ * or
+ * &lt;tagname attributes...&gt;
+ * or
+ * &lt;tagname/&gt;
+ * or
+ * &lt;tagname attributes.../&gt;
+ *
+ * xs: xml stream to write to
+ * flags:
+ *XML_TAG_SC: self-close tag (no indentation increase and no end_tag)
+ *XML_TAG_CR: carriage return after markup
+ * tagname: xml markup name
+ * attr_fmt, ...: printf style argument for attributes
+ *no attribute if attr_fmt==NULL or attr_fmt is an empty string
+ */
+void xml_tag(xml_stream_t *xs, unsigned int flags, char *tagname, char *attr_fmt, ...)
+{
+va_list ap;
+int i;
+
+if (!(flags &amp; XML_TAG_SC)) {
+/* Not self-close tag */
+if (xs-&gt;indent_level == xs-&gt;stack_size) {
+/* Stack overflow -&gt; double size */
+xs-&gt;stack_size *= 2;
+xs-&gt;stack = realloc (xs-&gt;stack, sizeof(xml_stack_tag_t) * xs-&gt;stack_size);
+if (xs-&gt;stack == NULL) {
+perror("xml_stream_init:realloc");
+free(xs);
+return;
+}
+}
+/* Remember tag */
+strcpy(xs-&gt;stack[xs-&gt;indent_level].tagname, tagname);
+}
+
+
+for (i = 0; i &lt; xs-&gt;indent_level; i++)
+fprintf(xs-&gt;fd,"\t");
+
+fprintf(xs-&gt;fd, "&lt;%s", tagname);
+if (attr_fmt &amp;&amp; strcmp(attr_fmt, "")) {
+/* Tag has attribute */
+fprintf(xs-&gt;fd, " ");
+va_start(ap, attr_fmt);
+vfprintf(xs-&gt;fd, attr_fmt, ap);
+va_end(ap);
+}
+
+if (flags &amp; XML_TAG_SC)
+fprintf(xs-&gt;fd, "/&gt;");
+else {
+fprintf(xs-&gt;fd, "&gt;");
+xs-&gt;indent_level++;
+}
+
+if (flags &amp; XML_TAG_NOCR)
+return;
+
+fprintf(xs-&gt;fd, "\n");
+}
+
+/*
+ * Write an end tag into an xml stream:
+ * &lt;/tagname&gt;
+ *
+ * xs: xml stream to write to
+ * flags:
+ *XML_TAG_NOIND: do not indent tag
+ */
+void xml_end(xml_stream_t *xs, unsigned int flags)
+{
+int i;
+
+xs-&gt;indent_level--;
+
+if (!(flags &amp; XML_TAG_NOIND))
+for (i = 0; i &lt; xs-&gt;indent_level; i++)
+fprintf(xs-&gt;fd,"\t");
+
+fprintf(xs-&gt;fd, "&lt;/%s&gt;\n", xs-&gt;stack[xs-&gt;indent_level].tagname);
+
+}
+
+/*
+ * Write data to xml stream
+ * 
+ * xs: xml stream to write to
+ * fmt, ...: printf style formatting
+ */
+void xml_content(xml_stream_t *xs, char *fmt, ...)
+{
+va_list ap;
+
+va_start(ap, fmt);
+vfprintf(xs-&gt;fd, fmt, ap);
+va_end(ap);
+}
+
+/*
+ * Create XML stream file and initialize headers.
+ * testname: name of the test
+ * root_tag: tag of root element
+ * title: title of the XML stream
+ *
+ * return: xml_stream_t pointer to be reused by subsequent xml_... calls.
+ */
+xml_stream_t * xml_stream_init(char *testname, char *root_tag, char *title)
+{
+FILE *fd;
+struct utsname u;
+char *xmlfile;
+xml_stream_t *xs;
+time_t t;
+struct tm *tmp;
+char start_time[20];
+
+xs = malloc (sizeof(xml_stream_t));
+if (xs == NULL) {
+perror("xml_stream_init:malloc");
+return NULL;
+}
+
+xs-&gt;stack = malloc (sizeof(xml_stack_tag_t) * TAG_STACK_INIT_SIZE);
+if (xs-&gt;stack == NULL) {
+perror("xml_stream_init:malloc2");
+free(xs);
+return NULL;
+}
+
+xs-&gt;stack_size = TAG_STACK_INIT_SIZE;
+
+
+t = time(NULL);
+tmp = localtime(&amp;t);
+if (tmp == NULL) {
+perror("localtime");
+exit(EXIT_FAILURE);
+}
+
+if (strftime(start_time, sizeof(start_time), "%Y-%m-%d.%H-%M-%S", tmp) == 0) {
+fprintf(stderr, "strftime returned 0");
+exit(EXIT_FAILURE);
+}
+
+xs-&gt;indent_level = 0;
+
+
+if (-1 == asprintf(&amp;xmlfile, "%s.%s.xml", testname, start_time)) {
+fprintf(stderr, "xml_stream_init: Failed to allocate string for data filename\n");
+return NULL;
+}
+
+/* generate the data file */
+if (!(fd = fopen(xmlfile, "w")))
+return NULL;
+
+xs-&gt;fd = fd;
+
+uname(&amp;u);
+
+fprintf(xs-&gt;fd, "&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;\n");
+
+xml_start_tag(xs, root_tag);
+
+/* Headers */
+xml_entry(xs, "title", title);
+xml_entry(xs, "testname", testname);
+xml_entry(xs, "start-time", start_time);
+xml_start_tag(xs, "systeminfo");
+xml_start_tag(xs, "uname");
+xml_entry(xs, "sysname", u.sysname);
+xml_entry(xs, "nodename", u.nodename);
+xml_entry(xs, "release", u.release);
+xml_entry(xs, "version", u.version);
+xml_entry(xs, "machine", u.machine);
+xml_end_tag(xs); /* uname */
+xml_get_cpu_topology(xs);
+xml_entry(xs, "free-user-id", xml_free_user_id);
+xml_entry(xs, "online-cpus", "%ld", sysconf(_SC_NPROCESSORS_ONLN));
+xml_end_tag(xs); /* systeminfo */
+xml_entry(xs, "filename", xmlfile);
+
+return xs;
+}
+
+/*
+ * Close XML stream.
+ * root_tag: tag of root element
+ *
+ */
+void xml_stream_close(xml_stream_t *xs)
+{
+xml_end_tag(xs); /* root_tag */
+fclose(xs-&gt;fd);
+free(xs-&gt;stack);
+free(xs);
+return;
+}
+
</description>
    <dc:creator>Gilles Carry</dc:creator>
    <dc:date>2008-12-01T15:10:35</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.ltp/6629">
    <title>[PATCH 2/4] [RT][RFC][Take#5] Integration of xml into stats.</title>
    <link>http://permalink.gmane.org/gmane.linux.ltp/6629</link>
    <description>This patch adds a new function into libstat:
xml_stats_container_save which handles an xml_stream_t instead of a file.
It dumps the same data stats_container_save with XML format.

Also added two fields to stats: timestamp and cpuid.

Compilation is conditional to LIB_XML.
---
 testcases/realtime/include/libstats.h |   16 ++++++++++++
 testcases/realtime/lib/libstats.c     |   42 +++++++++++++++++++++++++++++++++
 2 files changed, 58 insertions(+), 0 deletions(-)

diff --git a/testcases/realtime/include/libstats.h b/testcases/realtime/include/libstats.h
index 05c26d8..fefad7b 100644
--- a/testcases/realtime/include/libstats.h
+++ b/testcases/realtime/include/libstats.h
&lt; at &gt;&lt; at &gt; -45,6 +45,10 &lt; at &gt;&lt; at &gt;
 #include &lt;errno.h&gt;
 #include &lt;unistd.h&gt;
 #include &lt;math.h&gt;
+#include &lt;librttest.h&gt;
+#ifdef LIB_XML
+#include &lt;libxml.h&gt;
+#endif
 
 #define MIN(A,B) ((A)&lt;(B)?(A):(B))
 #define MAX(A,B) ((A)&gt;(B)?(A):(B))
&lt; at &gt;&lt; at &gt; -52,6 +56,8 &lt; at &gt;&lt; at &gt;
 typedef struct stats_record {
 long x;
 long y;
+nsec_t timestamp;
+int cpuid;
 } stats_record_t;
 
 typedef struct stats_container {
&lt; at &gt;&lt; at &gt; -162,4 +168,14 &lt; at &gt;&lt; at &gt; void stats_hist_print(stats_container_t *hist);
  */
 int stats_container_save(char *filename, char *title, char *labelx, char *labely, stats_container_t *data, char *mode);
 
+#ifdef LIB_XML
+/* stats_container_xml_save - save the x,y data to an xml file.
+ * xs: the stream previously created with xml_stream_init.
+ * labelx: the x-axis label
+ * labely: the y-axis label
+ * mode: "points" "lines" "steps" etc, see gnuplot help for plotting types
+ */
+int xml_stats_container_save(xml_stream_t *xs, char *title, char *xlabel, char *ylabel, stats_container_t *data, char *mode);
+#endif
+
 #endif /* LIBSTAT_H */
diff --git a/testcases/realtime/lib/libstats.c b/testcases/realtime/lib/libstats.c
index 29e7ea7..fccf733 100644
--- a/testcases/realtime/lib/libstats.c
+++ b/testcases/realtime/lib/libstats.c
&lt; at &gt;&lt; at &gt; -43,6 +43,9 &lt; at &gt;&lt; at &gt;
 #include &lt;unistd.h&gt;
 #include &lt;math.h&gt;
 #include &lt;libstats.h&gt;
+#ifdef LIB_XML
+#include &lt;libxml.h&gt;
+#endif
 
 int save_stats = 0;
 
&lt; at &gt;&lt; at &gt; -355,3 +358,42 &lt; at &gt;&lt; at &gt; int stats_container_save(char *filename, char *title, char *xlabel, char *ylabel
 
     return 0;
 }
+
+#ifdef LIB_XML
+int xml_stats_container_save(xml_stream_t *xs, char *title, char *xlabel, char *ylabel, stats_container_t *data, char *mode)
+{
+int i;
+long minx = 0, maxx = 0, miny = 0, maxy = 0;
+stats_record_t *rec;
+
+xml_start_tag(xs, "stats");
+minx = maxx = data-&gt;records[0].x;
+miny = maxy = data-&gt;records[0].y;
+xml_entry(xs, "title",title);
+xml_entry(xs, "xlabel",xlabel);
+xml_entry(xs, "ylabel",ylabel);
+xml_entry(xs, "mode",mode);
+xml_start_tag(xs, "data");
+
+for (i = 0; i &lt; data-&gt;size; i++) {
+rec = &amp;data-&gt;records[i];
+minx = MIN(minx, rec-&gt;x);
+maxx = MAX(maxx, rec-&gt;x);
+miny = MIN(miny, rec-&gt;y);
+maxy = MAX(maxy, rec-&gt;y);
+
+/* Self-closing tag with attributes: &lt;e r=... x=... ... /&gt; */
+ xml_tag(xs, XML_TAG_SC, "e", "r=\"%d\" x=\"%ld\" y=\"%d\" t=\"%lld\" c=\"%d\"", i, rec-&gt;x, rec-&gt;y, rec-&gt;timestamp, rec-&gt;cpuid);
+}
+
+xml_end_tag(xs); /* data */
+xml_entry(xs, "sample-size", "%ld", data-&gt;size);
+xml_entry(xs, "minx", "%ld", minx);
+xml_entry(xs, "maxx", "%ld", maxx);
+xml_entry(xs, "miny", "%ld", miny);
+xml_entry(xs, "maxy", "%ld", maxy);
+xml_end_tag(xs); /* stats */
+
+return 0;
+}
+#endif
</description>
    <dc:creator>Gilles Carry</dc:creator>
    <dc:date>2008-12-01T15:10:36</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.ltp/6628">
    <title>[PATCH 3/4] [RT][RFC][Take#5] matrix_mult.c: add xml dump ofstatistics and results.</title>
    <link>http://permalink.gmane.org/gmane.linux.ltp/6628</link>
    <description>This simply adds xml function calls to allow the dumping of results and samples
into an xml file.

Compilation is conditional to LIB_XML.

Signed-off-by: Gilles Carry &lt;gilles.carry-6ktuUTfB/bM&lt; at &gt;public.gmane.org&gt;
---
 testcases/realtime/func/matrix_mult/matrix_mult.c |   68 +++++++++++++++++++-
 1 files changed, 64 insertions(+), 4 deletions(-)

diff --git a/testcases/realtime/func/matrix_mult/matrix_mult.c b/testcases/realtime/func/matrix_mult/matrix_mult.c
index e27f47d..f336ac8 100644
--- a/testcases/realtime/func/matrix_mult/matrix_mult.c
+++ b/testcases/realtime/func/matrix_mult/matrix_mult.c
&lt; at &gt;&lt; at &gt; -43,6 +43,9 &lt; at &gt;&lt; at &gt;
 #include &lt;librttest.h&gt;
 #include &lt;libjvmsim.h&gt;
 #include &lt;libstats.h&gt;
+#ifdef LIB_XML
+#include &lt;libxml.h&gt;
+#endif
 
 #define MAX_CPUS8192
 #define PRIO43
&lt; at &gt;&lt; at &gt; -137,7 +140,7 &lt; at &gt;&lt; at &gt; void matrix_mult(int m_size)
 }
 }
 
-void matrix_mult_record(int m_size, int index)
+void matrix_mult_record(int m_size, int index, int cpuid)
 {
 nsec_t start, end, delta;
 int i;
&lt; at &gt;&lt; at &gt; -149,6 +152,8 &lt; at &gt;&lt; at &gt; void matrix_mult_record(int m_size, int index)
 delta = (long)((end - start)/NS_PER_US);
 curdat-&gt;records[index].x = index;
 curdat-&gt;records[index].y = delta;
+curdat-&gt;records[index].timestamp = start;
+curdat-&gt;records[index].cpuid = cpuid;
 }
 
 int set_affinity(void)
&lt; at &gt;&lt; at &gt; -189,7 +194,7 &lt; at &gt;&lt; at &gt; void *concurrent_thread(void *thread)
 index = iterations_percpu * thread_id; /* To avoid stats overlapping */
 pthread_barrier_wait(&amp;mult_start);
 for (i=0; i &lt; iterations_percpu; i++)
-matrix_mult_record(MATRIX_SIZE, index++);
+matrix_mult_record(MATRIX_SIZE, index++, cpuid);
 
 return NULL;
 }
&lt; at &gt;&lt; at &gt; -232,7 +237,7 &lt; at &gt;&lt; at &gt; void main_thread(void)
 printf("\nRunning sequential operations\n");
 start = rt_gettime();
 for (i = 0; i &lt; iterations; i++)
-matrix_mult_record(MATRIX_SIZE, i);
+matrix_mult_record(MATRIX_SIZE, i, cpuid);
 end = rt_gettime();
 delta = (long)((end - start)/NS_PER_US);
 
&lt; at &gt;&lt; at &gt; -310,6 +315,58 &lt; at &gt;&lt; at &gt; void main_thread(void)
 criteria);
 printf("Result: %s\n", ret ? "FAIL" : "PASS");
 
+#ifdef LIB_XML
+if (! xml_dump)
+return;
+
+{
+xml_stream_t *xs;
+
+/* XML dump */
+xs = xml_stream_init("matrix_mult", "ltp-run", "matrix-mult");
+if (!xs) {
+fprintf(stderr, "Warning: could not save results as xml\n");
+return;
+}
+xml_entry(xs, "title", "Matrix Multiplication (SMP Performance)");
+xml_start_tag(xs, "parameters");
+xml_entry(xs, "iterations", "%ld", iterations);
+xml_entry(xs, "calc-per-iter", "%ld", ops);
+xml_end_tag(xs); /* parameters */
+
+xml_start_tag(xs, "sequential");
+xml_entry(xs, "min", "%ld",smin);
+xml_entry(xs, "max", "%ld",smax);
+xml_entry(xs, "avg", "%.4f",savg);
+xml_entry(xs, "stddev", "%.4f",stats_stddev(&amp;sdat));
+
+xml_stats_container_save(xs, "data",
+"Iteration", "Runtime (us)", &amp;sdat, "points");
+xml_stats_container_save(xs, "histogram",
+"Runtime (us)", "Samples", &amp;shist, "steps");
+xml_end_tag(xs); /* sequential */
+
+xml_start_tag(xs, "concurrent");
+xml_entry(xs, "min", "%ld",cmin);
+xml_entry(xs, "max", "%ld",cmax);
+xml_entry(xs, "avg", "%.4f",cavg);
+xml_entry(xs, "stddev", "%.4f",stats_stddev(&amp;cdat));
+
+xml_stats_container_save(xs, "data",
+"Iteration", "Runtime (us)", &amp;cdat, "points");
+xml_stats_container_save(xs, "histogram",
+"Runtime (us)", "Samples", &amp;chist, "steps");
+xml_end_tag(xs); /* concurrent */
+
+xml_start_tag(xs, "ratio");
+xml_entry(xs, "min", "%.4f",(float)smin/cmin);
+xml_entry(xs, "max", "%.4f",(float)smax/cmax);
+xml_entry(xs, "avg", "%.4f",(float)savg/cavg);
+xml_end_tag(xs); /* ratio */
+xml_stream_close(xs); /* ltp-run */
+}
+#endif
+
 return;
 }
 
&lt; at &gt;&lt; at &gt; -317,7 +374,10 &lt; at &gt;&lt; at &gt; int main(int argc, char *argv[])
 {
 setup();
 pass_criteria = PASS_CRITERIA;
-rt_init("jl:i:h", parse_args, argc, argv);
+if (rt_init("jl:i:h", parse_args, argc, argv)) {
+usage();
+exit(1);
+}
 numcpus = sysconf(_SC_NPROCESSORS_ONLN);
 /* the minimum avg concurrent multiplier to pass */
 criteria = pass_criteria * numcpus;
</description>
    <dc:creator>Gilles Carry</dc:creator>
    <dc:date>2008-12-01T15:10:37</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.ltp/6627">
    <title>[PATCH 4/4] [RT][RFC][Take#5] Documentation and tools for XMLlibrary</title>
    <link>http://permalink.gmane.org/gmane.linux.ltp/6627</link>
    <description>Documentation: just the basics on how to
- run
- code
- compile

Tooles:
- xml_collect.sh

Also an example of XML dump.

Signed-off-by: Gilles Carry &lt;gilles.carry-6ktuUTfB/bM&lt; at &gt;public.gmane.org&gt;
---
 testcases/realtime/doc/XML                 |  261 ++++++++++++++++++++++++++++
 testcases/realtime/scripts/xml_collect.xml |   15 ++
 2 files changed, 276 insertions(+), 0 deletions(-)
 create mode 100644 testcases/realtime/doc/XML
 create mode 100755 testcases/realtime/scripts/xml_collect.xml

diff --git a/testcases/realtime/doc/XML b/testcases/realtime/doc/XML
new file mode 100644
index 0000000..cd886e3
--- /dev/null
+++ b/testcases/realtime/doc/XML
&lt; at &gt;&lt; at &gt; -0,0 +1,261 &lt; at &gt;&lt; at &gt;
+XML library
+===========
+
+1. Why dump results and stats with XML?
+---------------------------------------
+
+RT tests already generate stats and plot files. What XML can give more?
+
+Post processing:
+XML provides an easy way to transform the data without the need to change and
+recompile the test. Just create or modify an Xquery to get the requested output.
+
+Regression/comparison/correlation:
+With XML data, it's easy to gather several tests outputs and see what changed
+from one test to another.
+Plotting combined graphic can be made very easy using the proper Xquery.
+
+
+2. Run test with XML
+--------------------
+
+Usage:
+Run test with -x option.
+Example:
+mtrix_mult -x my-kernel-setting-1.1
+
+For each run, an XML dump file is created.
+The file is names &lt;testname&gt;.&lt;timestamp&gt;.xml
+
+Note:
+This library does not offer any post-processing tool.
+
+
+3. Develop with libxml
+----------------------
+
+Synopsis:
+xml_stream_t *xs;
+
+rt_init(option_string, parse_args, argc, argv);
+...
+xs =  xml_stream_init("foo", "ltp-run", "foo test");
+
+
+/* Begin of application XML dump. */
+/* Use according to taste. */
+xml_start_tag (xs, "this-node");
+...
+xml_start_tag (xs, "other-node");
+...
+xml_end_tag (xs); /* other-node */
+...
+xml_end_tag (xs); /* this-node */
+...
+xml_entry (xs, "data", "%s %ld", mystring, mylong);
+...
+xml_empty_tag (xs, "empty-node");
+...
+/* End of application XML dump. */
+
+xml_stream_close(xs);
+
+
+Note:
+rt_init must be called before xml_stream_init as the former sets global
+variables used by xml_stream_init in order to setup headers in XML
+document.
+
+
+Warning:
+This library does not perform any check: document well-formed and
+grammar are programmer's responsibility.
+
+
+Compilation:
+To build tests with libxml run:
+LIB_XML=1 make
+
+
+Adding XML dump to your test:
+Make XML conditional: use #ifdef LIB_XML to include specific code.
+
+To initialize the XML stream:
+xs = xml_stream_init("myXMLfile", "myRootTag", "The test title here");
+
+This creates a new XML document by opening a file descriptor and adding
+all proper headers (using global variables set by rt_init:
+xml_free_user_id).
+
+The generic function to write xml tag is: void xml_tag.
+See include/libxml.h for a full definition of functions and macros.
+
+To write a node start tag &lt;mynode&gt; to XML document:
+xml_start_tag (xs, "mynode");
+
+To write a node end tag &lt;/mynode&gt; to XML document:
+xml_end_tag (xs);
+
+To write data enclosed by tags &lt;mytag&gt;anystring&lt;/mytag&gt; to XML document:
+xml_entry (xs, "mytag", "printf style format", args...);
+
+To terminate the XML stream:
+xml_stream_close(xs);
+
+
+XML document header:
+Basically, this is to compare test runs performed on differents
+architectures/kernels/configurations and spot regressions.
+Hence, it is vital to identify the conditions in which the test was
+run.  This library automatically adds information to allow this
+identification.
+
+In the header we can find the following elements:
+&lt;title&gt;:
+&lt;start-time&gt;:
+&lt;systeminfo&gt;:
+Though it is not possible to completely identify what's in the
+box/kernel, this compound element gives an overall view of the
+architecure.
+Subelements descritpion:
+&lt;uname&gt;: report data as 'uname -a'
+&lt;free-user-id&gt;: a free field set by user to tell what's the
+difference between the here-used kernel (probably hacked) and
+the original version reported by uname.
+This is set by the -x arg in the command line.
+&lt;online-cpus&gt;: obvious
+&lt;sys&gt;: a structure of tags that imitate /sys filesystem, though
+only featuring the useful information that describe the system's
+topology: how many cpu nodes/cores/threads.
+As an example, two system featuring each 8 online cpus may
+offer very different performances in thread parallelization.
+Looking at &lt;systeminfo&gt; gives the answer as one is a
+4-dualthread-cpu box while the other is an 8-unthreaded-cpu box.
+
+
+XML document application dump:
+Application (the test itself) should not only dump results and samples
+but also information about the condition in which the test has been run.
+In the example below:
+&lt;parameters&gt;
+&lt;iterations&gt;
+&lt;calc-per-iter&gt;
+
+
+4. Example of generated XML
+---------------------------
+
+&lt;?xml version="1.0" encoding="UTF-8"?&gt;
+&lt;ltp-run&gt;
+    &lt;title&gt;matrix-mult&lt;/title&gt;
+    &lt;start-time&gt;2008-10-23.10-06-43&lt;/start-time&gt;
+    &lt;systeminfo&gt;
+        &lt;uname&gt;
+            &lt;sysname&gt;Linux&lt;/sysname&gt;
+            &lt;nodename&gt;excalibur&lt;/nodename&gt;
+            &lt;release&gt;2.6.26.6-rt11&lt;/release&gt;
+            &lt;version&gt;#146 SMP PREEMPT RT Tue Oct 14 09:15:00 CEST 2008&lt;/version&gt;
+            &lt;machine&gt;ppc64&lt;/machine&gt;
+        &lt;/uname&gt;
+        &lt;sys&gt;
+            &lt;devices&gt;
+                &lt;system&gt;
+                    &lt;node&gt;
+                        &lt;node0&gt;
+                            &lt;cpu0/&gt;
+                            &lt;cpu1/&gt;
+                            &lt;cpu2/&gt;
+                            &lt;cpu3/&gt;
+                        &lt;/node0&gt;
+                        &lt;node1&gt;
+                            &lt;cpu4/&gt;
+                            &lt;cpu5/&gt;
+                            &lt;cpu6/&gt;
+                            &lt;cpu7/&gt;
+                        &lt;/node1&gt;
+                    &lt;/node&gt;
+                    &lt;cpu&gt;
+                        &lt;cpu0&gt;
+                            &lt;topology&gt;
+                                &lt;thread_siblings_list&gt;0-1&lt;/thread_siblings_list&gt;
+                            &lt;/topology&gt;
+                        &lt;/cpu0&gt;
+                        &lt;cpu1&gt;
+                            &lt;topology&gt;
+                                &lt;thread_siblings_list&gt;0-1&lt;/thread_siblings_list&gt;
+                            &lt;/topology&gt;
+                        &lt;/cpu1&gt;
+                        &lt;cpu2&gt;
+                            &lt;topology&gt;
+                                &lt;thread_siblings_list&gt;2-3&lt;/thread_siblings_list&gt;
+                            &lt;/topology&gt;
+                        &lt;/cpu2&gt;
+                        &lt;cpu3&gt;
+                            &lt;topology&gt;
+                                &lt;thread_siblings_list&gt;2-3&lt;/thread_siblings_list&gt;
+                            &lt;/topology&gt;
+                        &lt;/cpu3&gt;
+                        &lt;cpu4&gt;
+                            &lt;topology&gt;
+                                &lt;thread_siblings_list&gt;4-5&lt;/thread_siblings_list&gt;
+                            &lt;/topology&gt;
+                        &lt;/cpu4&gt;
+                        &lt;cpu5&gt;
+                            &lt;topology&gt;
+                                &lt;thread_siblings_list&gt;4-5&lt;/thread_siblings_list&gt;
+                            &lt;/topology&gt;
+                        &lt;/cpu5&gt;
+                        &lt;cpu6&gt;
+                            &lt;topology&gt;
+                                &lt;thread_siblings_list&gt;6-7&lt;/thread_siblings_list&gt;
+                            &lt;/topology&gt;
+                        &lt;/cpu6&gt;
+                        &lt;cpu7&gt;
+                            &lt;topology&gt;
+                                &lt;thread_siblings_list&gt;6-7&lt;/thread_siblings_list&gt;
+                            &lt;/topology&gt;
+                        &lt;/cpu7&gt;
+                    &lt;/cpu&gt;
+                &lt;/system&gt;
+            &lt;/devices&gt;
+        &lt;/sys&gt;
+        &lt;kernel-dev-id&gt;special-hack-v2&lt;/kernel-dev-id&gt;
+        &lt;online-cpus&gt;8&lt;/online-cpus&gt;
+    &lt;/systeminfo&gt;
+    &lt;testname&gt;matrix_mult&lt;/testname&gt;
+    &lt;title&gt;Matrix Multiplication (SMP Performance)&lt;/title&gt;
+
+    &lt;!-- Application dump here --&gt;
+    &lt;parameters&gt;
+        &lt;iterations&gt;128&lt;/iterations&gt;
+        &lt;calc-per-iter&gt;8&lt;/calc-per-iter&gt;
+    &lt;/parameters&gt;
+    ...snip...
+
+&lt;/ltp-run&gt;
+
+
+5. Post processing
+------------------
+
+Of course, anyone is free to use whatever tool he wants to postprocess the generated data.
+
+I used Saxonica's XQuery (saxon) to do the job.
+Since I'm not an XML expert I shall only explain the way I did my postprocessing.
+
+Once the test is finished, use the script xml_collect.sh to create file collection.xml that references all *.xml files in the current directory. This must be done every time you generate new xml outputs.
+
+
+Here is an example of xquery script I used for matrix_mult stat extract:
+
+for $s in collection("collection.xml")//ltp-run[testname="matrix_mult"]
+let $min := min($s/concurrent/stats[title="data"]/data/e/t)
+where $s/systeminfo/free-user-id = "newcomb"
+return
+for $e in $s/concurrent/stats[title="data"]/data/e
+order by $e/&lt; at &gt;t
+return (
+(data($e/&lt; at &gt;t) - $min) div 1e8 ,"  ",data($e/&lt; at &gt;y),"  
+"
+)
+
diff --git a/testcases/realtime/scripts/xml_collect.xml b/testcases/realtime/scripts/xml_collect.xml
new file mode 100755
index 0000000..96c2809
--- /dev/null
+++ b/testcases/realtime/scripts/xml_collect.xml
&lt; at &gt;&lt; at &gt; -0,0 +1,15 &lt; at &gt;&lt; at &gt;
+#!/bin/sh
+
+COLL=collection.xml
+COLL_TMP=$COLL.tmp
+rm -f $COLL $COLL_TMP
+
+echo  &gt; $COLL_TMP "&lt;collection&gt;"
+ls -1 *.xml | while read file
+do
+[ "$file" == $COLL ] &amp;&amp; continue
+echo &gt;&gt; $COLL_TMP "&lt;doc href=\"$file\"/&gt;"
+done
+echo  &gt;&gt; $COLL_TMP "&lt;/collection&gt;"
+
+mv $COLL_TMP $COLL
</description>
    <dc:creator>Gilles Carry</dc:creator>
    <dc:date>2008-12-01T15:10:38</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.ltp/6626">
    <title>[PATCH 0/4][RT][RFC][Take#5] XML dumps for realtime tests</title>
    <link>http://permalink.gmane.org/gmane.linux.ltp/6626</link>
    <description>Hello,

To overcome libstats limitations, I have implemented this library and
integrated it into libstats matrix_mult.c

I've used this because I had to compare/correlate stats of differents tests
runs on several kernels and architectures. This proved very useful as once the
tests have run, many extracts can be done from original results, without
having to modify/recompile/rerun the test itself.
This really made things easier.

With a single test run output, I could plot 2-D or 3-D graphs just by changing
the xquery that generates the gnuplot data file.

Basic understanding of XML is necessary to use this.

I think this work is worth sharing. I wish people review it and comment it.

Though it's been implemented on top of realtime tests, it should be easily
portable to the reset of LTP, should some be interested...

This series consists of four patches:
first is the library itself,
second is the integration with libstat,
third is a first use with matrix_mult,
forth is the documentation and a tool.




-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK &amp; win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/
</description>
    <dc:creator>Gilles Carry</dc:creator>
    <dc:date>2008-12-01T15:10:34</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.ltp/6625">
    <title>[ANNOUNCE] The Linux Test Project has been Released forNOVEMBER2008</title>
    <link>http://permalink.gmane.org/gmane.linux.ltp/6625</link>
    <description>Dear All,

The Linux Test Project test suite has been released for the month of
NOV 2008. The latest version of the test-suite contains 3000+
tests for the Linux OS and can be found at
http://ltp.sourceforge.net/,
Latest happenings in LTP can also be found at:
http://ltp.sourceforge.net/wiki/,
http://ltp.sourceforge.net/wikiArchives.php, and,
IRC: irc.freenode.org #ltp.

========================
NOVEMBER 2008 Highlights:
========================
* Addition of 23 new _16 &amp; _64 bit versions of syscall tests,
* Addition of 1 PIDNS test,
* Introduction of AUTOCONF,
* Integration of various other tests to default run,
* Release of LCOV-1.7,
* Major updates to RT, TI-RPC &amp; CONTROLLER tests,
------------------------------

==============================
NOVEMBER 2008 LTP Contributors:
==============================
* Gilles Carry,
* Darren Hart,
* Mike Frysinger,
* Elder Costa,
* Henry Yei,
* Naresh kamboju,
* Alan Cox,
* Sukadev,
* Nageswara R Sastry,
* Peter Oberparleiter,
* Veerendra C,
* Stephen Smalley,
* Sudhir Kumar,
* Daniel Gollub,
* Jacky Malcles,
* CAI Qian,
* Jiri Palecek,
* Masatake YAMATO,
* Adam Litke,
* Cijurajan Kollanoor,
* Roy Lee,
* Serge Hallyn,
* Marcus Meissner,
* Andrew Vagin,
* Chirag Jog,
* Sripathi Kodi,
* Le Rouzic,
* Dmitry Guryanov,
* Vinay Sridhar,
------------------------------

==============================
Note(s) from the Maintainer:
==============================
We are almost at the end of the Year. And so far things seemed moving in
the right direction. But we would still continue facing the challenge of
attracting more contribution for LTP. I would probably share some
statistics of our work at the end of this year.


Our web site also contains other information such as:
- A Linux test tools matrix
- Technical papers
- How To's on Linux testing
- Code coverage analysis tool.

We would encourage the community to post results to
ltp-results-TtF/mJH4Jtrk1uMJSBkQmQ&lt; at &gt;public.gmane.org,
patches, new tests, bugs or comments/questions to ltp-list-TtF/mJH4Jtrk1uMJSBkQmQ&lt; at &gt;public.gmane.org,
http://sourceforge.net/tracker/?func=add&amp;group_id=3382&amp;atid=103382
(for New Bug(s)),
http://sourceforge.net/tracker/?func=add&amp;group_id=3382&amp;atid=303382
(for New Patch(s)),
http://sourceforge.net/tracker/?func=add&amp;group_id=3382&amp;atid=353382
(for New Feature Request(s))

Please also see the Change Log Attached (NOVEMBER 2008) for detailed
changes.

Happy testing, 
Regards-- 
Subrata,

1) Log Message:
librttest.c: enhancement and fixes for options handling. 
- simplified check for duplicate options,
- better handling of unknown options and missing args: report missing args and   exit,
- exit if any option is wrong,
- indent fix,
Verified on all rt tests. Signed-off-by: Gilles Carry &lt;gilles.carry-FTzXyGOT9wU&lt; at &gt;public.gmane.orgt&gt;, Acked-by: Darren Hart &lt;dvhltc-r/Jw6+rmf7HQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;.

Modified File(s):
ltp/testcases/realtime/lib/librttest.c

2) Log Message:
matrix_mult.c: set_affinity to work when there are offline cpus:
Syscall sched_setaffinity fails if choosen cpu is not online. In set_affinity, thread_id value is used as cpuid when calling sched_setaffinity. This fails when disabling cpus because threads ids and online cpu ids don't necessarly match. This patch simply increments cpuid (max. 8192) until it finds an online cpu. This guaranties that no more than one thread is assigned to one cpu. If set_affinity is called more times than there are online cpus then matrix_mult.c fails. Signed-off-by: Gilles Carry &lt;gilles.carry-6ktuUTfB/bM&lt; at &gt;public.gmane.org&gt;, Acked-by: Darren Hart &lt;dvhltc-r/Jw6+rmf7HQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;,

Modified File(s):
ltp/testcases/realtime/func/matrix_mult/matrix_mult.c

3) Log Message:
matrix_mult.c: dynamic iterations configuration.
Dimension (128) of statistics arrays must be a multiple of number of cpu. This is a hassle as you have to recompile every time your arch changes or if you want to disable cpus. Failing to do so causes segfault when requiring statistics if 128 modulo nr_cpus != 0. This patch adds option -i to specify how many iterations are wanted (still defaulting to 128). It rounds up iterations to the nearest multiple of online cpus. Signed-off-by: Gilles Carry &lt;gilles.carry-6ktuUTfB/bM&lt; at &gt;public.gmane.org&gt;, Acked-by: Darren Hart &lt;dvhltc-r/Jw6+rmf7GXj1p+fO2waQ&lt; at &gt;public.gmane.org

Modified File(s):
ltp/testcases/realtime/func/matrix_mult/matrix_mult.c

4) Log Message:
matrix_mult.c: thread synchronisation simplification:
In concurrent calculations:
- use a single pthread_barrier to start all threads together instead of a combination of barrier/mutex/condvar.
- main thread no longer participates to concurrent calculations and simply performs rt_gettime(s) for global time spent evaluation.
Signed-off-by: Gilles Carry &lt;gilles.carry-6ktuUTfB/bM&lt; at &gt;public.gmane.org&gt;, Acked-by: Darren Hart &lt;dvhltc-r/Jw6+rmf7HQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;.

Modified File(s):
ltp/testcases/realtime/func/matrix_mult/matrix_mult.c

5) Log Message:
matrix_mult.c: concurrent calculation stats fix:
Array size for stats was iterations/numcpus. Concurrent threads used to write their stats in the same rows, overwriting each other's results. This patch makes array size = iterations and threads not overlapping their results by shifting their index. Signed-off-by: Gilles Carry &lt;gilles.carry&lt; at &gt;bull.net&gt;, Acked-by: Darren Hart &lt;dvhltc-r/Jw6+rmf7HQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;.

Modified File(s):
ltp/testcases/realtime/func/matrix_mult/matrix_mult.c

6) Log Message:
use feedback from Jan Kratochvil so we wait for the child to be stopped before we attempt to ptrace it.

Modified File(s):
ltp/testcases/kernel/syscalls/ptrace/spawn_ptrace_child.h

7) Log Message:
base {PEEK,POKE}USER on sizeof(user) rather than sizeof(pt_regs) and add a few more corner cases.

Modified File(s):
ltp/testcases/kernel/syscalls/ptrace/ptrace06.c

8) Log Message:
drop backup file configure~

Modified File(s):
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/configure~

9) Log Message:
start a .gitignore

Added File(s):
ltp/.gitignore

10) Log Message:
This patch fixes what I believe is a wrong logic in test 3 of this script right after the last "crontab -l ..." command. In my system the cron table is empty; this command will return false and the else clause will never be executed. If the command returns true (0) then the cron table is not empty as it was supposed to be and the script must indicate an error. Signed-Off-By: Elder Costa &lt;elder.costa-y7mWNqJcIDpfJ/NunPodnw&lt; at &gt;public.gmane.org&gt;.

Modified File(s):
ltp/testcases/commands/cron/cron_tests.sh

11) Log Message:
Stop building numa test in cross environment: None of the tests for the existence of numa prereqs work in a cross build environment. This is a patch to skip erroneously checking for these prereqs on a host system if the $CROSS_COMPILER variable is set per the runltp script. Without this patch, the existing script checks for the existence of aheader file on the /usr/include, but our compiler only looks within the include directories of the target system, and stops cross building of the entire ltp suite, if the target does not have numa.h/no numa support. Signed-Off-By: Henry Yei &lt;hyei-Igf4POYTYCBhl2p70BpVqQ&lt; at &gt;public.gmane.orgm&gt;.

Modified File(s):
ltp/testcases/kernel/numa/test.sh

12) Log Message:
The following are errors while compiling ltp-full-20081031 with ARM architecture:
make[4]: Entering directory `/home/naresh/DIFF/11_2008/ltp-full-20081031/testcases/kernel/syscalls/eventfd' /usr/local/arm-sony-linux-gnueabi/devel/bin/arm-sony-linux-gnueabi-dev-gcc
-Wall  -I../../include -g -Wall -I../../../../include -Wall    eventfd01.c -L../../../../lib -lltp -o eventfd01
In file included from eventfd01.c:60:
../../include/linux_syscall_numbers.h:113:10: error: no macro name given in #ifndef directive
make[4]: *** [eventfd01] Error 1
make[4]: Leaving directory
`/home/naresh/DIFF/11_2008/ltp-full-20081031/testcases/kernel/syscalls/eventfd' 
make[3]: *** [all] Error 2
make[3]: Leaving directory
`/home/naresh/DIFF/11_2008/ltp-full-20081031/testcases/kernel/syscalls'
Here I am attaching the patch to resolve above error. Signed-Off-By: naresh kamboju &lt;naresh.kernel-Re5JQEeQqe8AvxtiuMwx3w&lt; at &gt;public.gmane.org&gt;.

Modified File(s):
ltp/testcases/kernel/include/arm.in

13) Log Message:
Alan Cox [alan-qBU/x9rampVanCEyBjwyrvXRex20P6io&lt; at &gt;public.gmane.org] wrote:
The test changes the window size using the slave-fd and expects that it won't affect the window-size on master-fd. With this change, we return the slave's window size and test fails. I've no idea why anyone would have thought the existing behaviour was correct. The pty/tty pair code tries to share the size and other information at all times and the old test was I think verifying a bug existed.
Sukadev &lt;sukadev-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8&lt; at &gt;public.gmane.org&gt; wrote:
We are referring to the last window size check in test2() of testcases/kernel/pty/ptem01.c. This check will cause the test to fail when some of the planned ttydev changes are merged. Would you happen to know if the check is really required or if it should be dropped ? 
Subrata Modak &lt;subrata-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8&lt; at &gt;public.gmane.org&gt; wrote: I would want the test to remain there, but introduce some checkings before running the test. As test2() is valid under present circumstances, we should retain it as people will keep using LTP on lower kernels. Having said that, i would like to come with a solution where test2() of testcases/kernel/pty/ptem01.c is not run after the planned ttydev changes are merged. Something compile/run time checking to either not to build that part of code and run it. Can we do something like that by checking some glibc/kernel exported definitions ?
Sukadev &lt;sukadev-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8&lt; at &gt;public.gmane.org&gt; wrote:
Just to be clear, the entire test2() is not broken. Only the last part (see patch below) Other parts of test2() should be fine even with new changes. Other than the kernel version when the changes are merged, I am not sure there is a way. Besides, it is not clear which assertion that part of test2() is testing and if it is even needed for older kernels. Here is the part of test2() I am referring to: Signed-Off-By: Sukadev &lt;sukadev-23VcF4HTsmLD8bA29Zxznw&lt; at &gt;public.gmane.orgcom&gt;.

Modified File(s):
ltp/testcases/kernel/pty/ptem01.c

14) Log Message:
Enable Kernel with the Option during build to test filecaps support. Subrata.

Modified File(s):
ltp/README
ltp/testcases/kernel/security/filecaps/README

15) Log Message:
check input files and abort if broken line is found

Modified File(s):
ltp/testcases/kernel/include/regen.sh

16) Log Message:
remove bogus line

Modified File(s):
ltp/testcases/kernel/include/sh.in

17) Log Message:
The attached Patch defines more about the keywords:
i) TPASS - Indicates that the test case had the expected result and passed.
ii) TFAIL - Indicates that the test case had an unexpected result and failed.
iii) TBROK - Indicates that the remaining test cases are broken and will not execute correctly, because some precondition not met, such as a resource not being available.
iv) TCONF - Indicates that the test case was not written to run on the current harware or software configuration such as machine type, or, kernel version. 
v) TRETR - Indicates that the test cases has been retired and should not be executed any longer.
vi) TWARN - Indicates that the test case experienced an unexpected or undesirable event that should not affect the test itself such as being unable to cleanup resources after the test finished.
vii) TINFO - Specifies useful information about the status of the test that does not affect the result and does not indicate a problem.

in the HTML file generated after test run. I believe it will be very useful for deciphering results better: Signed-Off-By: Subrata Modak &lt;subrata&lt; at &gt;linux.vnet.ibm.com&gt;.

Modified File(s):
ltp/tools/html_report_header.txt

18) Log Message:
Added test case for checking cpuidle sysfs files. Signed-Off-By: Nageswara R Sastry &lt;rnsastry-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8&lt; at &gt;public.gmane.org&gt;.

Modified Files:
ltp/testcases/kernel/power_management/Makefile
ltp/testcases/kernel/power_management/runpwtests.sh

Added Files:
ltp/testcases/kernel/power_management/check_cpuidle_sysfs_files.sh

19) Log Message:
gcov-kernel: change comment to recommend CONFIG_GCOV_HAMMER=n. Background: CONFIG_GCOV_HAMMER indicates a modified gcc version which is not the majority of cases: Some Linux distributions ship a modified version of GCC 3.3.x that produces GCOV data incompatible with the format of the standard GCC 3.3.x. If you are using such a distribution, you need to enable this option for the GCOV kernel support to work correctly. Signed-Off-By: Peter Oberparleiter &lt;oberpapr-Rn4VEauK+AKRv+LV9MX5uipxlwaOVQ5f&lt; at &gt;public.gmane.org&gt;.


Modified File(s):
ltp/utils/analysis/gcov-kernel/linux-2.6.27-gcov.patch

20) Log Message:
Following the footsteps of Masatake Yamato, i have decided to enable building, installing &amp; running of some _16 &amp; _64 bit syscalls tests in LTP. I have taken this trivial ones, and, would leave other porting to you. Signed-Off-By: Subrata Modak &lt;subrata-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8&lt; at &gt;public.gmane.org&gt;. 

Modified File(s):
ltp/runtest/syscalls
ltp/testcases/kernel/syscalls/chown/Makefile
ltp/testcases/kernel/syscalls/fchown/Makefile
ltp/testcases/kernel/syscalls/fcntl/Makefile
ltp/testcases/kernel/syscalls/fstat/Makefile
ltp/testcases/kernel/syscalls/fstatat/Makefile
ltp/testcases/kernel/syscalls/fstatfs/Makefile
ltp/testcases/kernel/syscalls/getdents/Makefile
ltp/testcases/kernel/syscalls/geteuid/Makefile
ltp/testcases/kernel/syscalls/getgroups/Makefile
ltp/testcases/kernel/syscalls/getuid/Makefile
ltp/testcases/kernel/syscalls/lchown/Makefile
ltp/testcases/kernel/syscalls/lstat/Makefile
ltp/testcases/kernel/syscalls/pread/Makefile
ltp/testcases/kernel/syscalls/pselect/Makefile
ltp/testcases/kernel/syscalls/setfsgid/Makefile
ltp/testcases/kernel/syscalls/setfsuid/Makefile
ltp/testcases/kernel/syscalls/setregid/Makefile
ltp/testcases/kernel/syscalls/setresgid/Makefile
ltp/testcases/kernel/syscalls/setresuid/Makefile
ltp/testcases/kernel/syscalls/setreuid/Makefile
ltp/testcases/kernel/syscalls/setuid/Makefile
ltp/testcases/kernel/syscalls/stat/Makefile
ltp/testcases/kernel/syscalls/statfs/Makefile

21) Log Message:
The following Patch adds the option to run filecaps tests from runalltests.sh and also provisions for installation of required libraries not present in the system. Also systematic execution of all tests run through runalltests.sh is added. Signed-Of-By: Subrata Modak &lt;subrata-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8&lt; at &gt;public.gmane.org&gt;. 

Modified File(s):
ltp/runalltests.sh

22) Log Message:
Submitting the testcase, which would try to kill the parent namespace pid from the container init. Also this tests a scenario of killing non existent pid from the container. Signed-off-by: Veerendra C &lt;vechandr-xthvdsQ13ZrQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;. Acked-by: Sukadev Bhattiprolu &lt;sukadev-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8&lt; at &gt;public.gmane.org&gt;.

Added Files:
ltp/testcases/kernel/containers/pidns/pidns06.c

23) Log Message:
Added Kernel .config options for building LTP SECURITY TESTS. Signed-Off-By: Subrata Modak &lt;subrata-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8&lt; at &gt;public.gmane.org&gt;. Reviewd-By: Stephen Smalley &lt;sds-+05T5uksL2qpZYMLLGbcSA&lt; at &gt;public.gmane.org&gt;.

Modified File(s):
ltp/README
ltp/testcases/kernel/security/selinux-testsuite/README

24) Log Message:
This patch fixes an issue with the sort command in netns testcases. Because of this all network namespace testcases were failing. Signed-off-by: Sudhir Kumar &lt;skumar-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8&lt; at &gt;public.gmane.org&gt;.

Modified File(s):
ltp/testcases/kernel/containers/netns/initialize.sh

25) Log Message:
(previous mail got accidentally line-wrapped, sorry.). Attachted patch changes the location of thest test-binaries of aio-stress and aiodio runtest-files. Instead of the relative-build location just the binary get called,which is in the PATH of testcases/bin/ anyway when called by "pan". This patch should have no impact on testing inside ltp-build-tree. The idea of this patch is to allow easier packaging of LTP. (No runtest-file modification required when installting into the system environment) Signed-off-by: Daniel Gollub &lt;dgollub-l3A5Bk7waGM&lt; at &gt;public.gmane.org&gt;.

Modified File(s):
ltp/runtest/ltp-aio-stress.part1
ltp/runtest/ltp-aio-stress.part2
ltp/runtest/ltp-aiodio.part1
ltp/runtest/ltp-aiodio.part2

26) Log Message:
Subrata and Daniel,
moving from ia64 to x86_64 arch I have got this at linking time: 
cc -o aio-stress aio-stress.o -Wall -O -g -DAIO -L /usr/lib -laio -lpthread
/usr/bin/ld: skipping incompatible /usr/lib/libpthread.so when searching for -lpthread
/usr/bin/ld: skipping incompatible /usr/lib/libpthread.a when searching for -lpthread
/usr/bin/ld: skipping incompatible /usr/lib/libc.so when searching for -lc
/usr/bin/ld: skipping incompatible /usr/lib/libc.a when searching for -lc
so , if you could  have a look to the suggested following  patch. Signed-Off-By: Jacky Malcles &lt;Jacky.Malcles-6ktuUTfB/bM&lt; at &gt;public.gmane.org&gt;.

Modified File(s):
ltp/testcases/kernel/io/ltp-aiodio/Makefile

27) Log Message:
on SLES10 SP2 __NR_get_robust_list is not defined and cause following compiler warning:
----&gt;8---------
make[4]: Entering directory
`/usr/src/packages/BUILD/ltp-full-20081031/testcases/kernel/syscalls/get_robust_list'
cc -fmessage-length=0 -D_FORTIFY_SOURCE=2 -O2 -g -Wall -fmessage-length=0 -D_FORTIFY_SOURCE=2 -O2 -g -I../../include -g -Wall -I../../../../include -Wall    get_robust_list01.c -L../../../../lib -lltp -o get_robust_list01
get_robust_list01.c: In function 'main':
get_robust_list01.c:252: warning: control reaches end of non-void function
make[4]: Leaving directory
`/usr/src/packages/BUILD/ltp-full-20081031/testcases/kernel/syscalls/get_robust_list'
----8&lt;---------
And cause "unexpected" return value:
----8&lt;---------
x86_64:~/:[1]# /usr/lib64/ltp/testcases/bin/get_robust_list01 get_robust_list: system call not available
x86_64:~/:[43]# echo $?
43
x86_64:~/:[0]# /usr/lib64/ltp/testcases/bin/get_robust_list01 | wc -c
43
----&gt;8---------
Attached patch avoids "random"/43 return value. Signed-off-by: Daniel Gollub &lt;dgollub-l3A5Bk7waGM&lt; at &gt;public.gmane.org&gt;.

Modified File(s):
ltp/testcases/kernel/syscalls/get_robust_list/get_robust_list01.c

28) Log Message:
This patch fixes a compilation warning:
timerfd01.c: In function `main':
timerfd01.c:128: warning: unused variable `tfd2'
Signed-off-by: CAI Qian &lt;caiqian-zx6hsXfQhDA&lt; at &gt;public.gmane.org&gt;.

Modified File(s):
ltp/testcases/kernel/syscalls/timerfd/timerfd01.c

29) Log Message:
Hello, these are some little fixes I've created for ltp. They are typos, fixes for compiler warning, bashisms in the makefiles etc. Signed-off-by: Jiri Palecek &lt;jpalecek-S0/GAf8tV78&lt; at &gt;public.gmane.org&gt;.

Modified File(s):
ltp/pan/pan.c
ltp/pan/zoolib.c
ltp/testcases/kernel/power_management/runpwtests.sh
ltp/testcases/kernel/syscalls/eventfd/Makefile
ltp/testcases/kernel/syscalls/fallocate/fallocate02.c
ltp/testcases/kernel/syscalls/fallocate/fallocate03.c
ltp/testcases/kernel/syscalls/kill/kill03.c
ltp/testcases/kernel/syscalls/kill/kill04.c
ltp/testcases/kernel/syscalls/mount/mount03.c
ltp/testcases/kernel/syscalls/move_pages/Makefile

30) Log Message:
when building Debian ltp package on alpha, the package failed to build, because alpha lacks some of the syscalls (the xxx_16 ones). See:
http://experimental.debian.net/fetch.php?&amp;pkg=ltp&amp;ver=20081031%2Bdfsg-1&amp;arch=alpha&amp;stamp=1225968365&amp;file=log&amp;as=raw
I have created some patches, which fix this behaviour (ie. the build  doesn't fail then). They work like this:
1. Syscalls which are potentially missing on some architectures are listed in the stub-list,
2. If a syscall(x) is called and x is 0 (a value of undefined stub syscalls), the test is aborted by tst_brk(). This is accomplished by a macro wrapper over the syscall() function (this almost eliminates the need of changing the tests in question, and allows the compiler to eliminate parts of tests of nonexistent syscalls as dead code). The attached patches implement this. Some remarks:
- the syscalls added to the stub list are the ones which appear in the kernel sources as __IGNORE_name-of-syscall,
- the macro is for gcc only. The test using this mechanism (ie. #including linux_syscall_numbers.h and calling syscall()) must define static function void cleanup(void) to be called when the syscall is missing (the patch also handles this for tests that lack it).
Signed-off-by: Jiri Palecek &lt;jpalecek-S0/GAf8tV78&lt; at &gt;public.gmane.org&gt;.

Modified File(s):
ltp/testcases/kernel/include/regen.sh
ltp/testcases/kernel/include/stub-list
ltp/testcases/kernel/syscalls/pwrite/pwrite04.c
ltp/testcases/kernel/syscalls/setgid/setgid01.c
ltp/testcases/kernel/syscalls/setgid/setgid02.c
ltp/testcases/kernel/syscalls/setgid/setgid03.c
ltp/testcases/kernel/syscalls/timerfd/timerfd01.c
ltp/testcases/kernel/syscalls/utimensat/utimensat01.c

31) Log Message:
Fix success detection in execve04 test:
The execve04 test works like this: It sets up the environment, calls execve() and expects failure. However, this has two bad consequences if the call actually succeeds 
1. The failure (ie. success of the call) is unnoticed,
2. The test leaves loads of files in the temporary directory.
all of them being caused by the fact that the test no longer runs after a succesful exec(). This patch fixes the situation by calling exec in a child only. The failure (or success) is gathered from the child's exit value. Signed-off-by: Jiri Palecek &lt;jpalecek-S0/GAf8tV78&lt; at &gt;public.gmane.org&gt;.

Modified File(s):
ltp/testcases/kernel/syscalls/execve/execve04.c

32) Log Message:
This patch fixes the error, that code exhausting the file descriptor table in execve04 test actually doesn't exhaust the fd table at all. Signed-off-by: Jiri Palecek &lt;jpalecek-S0/GAf8tV78&lt; at &gt;public.gmane.org&gt;.

Modified File(s):
ltp/testcases/kernel/syscalls/execve/execve04.c

33) Log Message:
Don't break chown tests on non-catastrophic failures. Signed-off-by: Jiri Palecek &lt;jpalecek-S0/GAf8tV78&lt; at &gt;public.gmane.org&gt;.

Modified File(s):
ltp/testcases/kernel/syscalls/chown/chown03.c
ltp/testcases/kernel/syscalls/fchown/fchown02.c
ltp/testcases/kernel/syscalls/fchown/fchown03.c

34) Log Message:
Do not call tst_brkm from the cleanup function in some tests: It is bad for the cleanup function to abort by calling tst_brkm, because in that case, further cleanup will not be performed. This patch fixes it in some chmod*, chown*, fchmod* and fchown* tests by substituting tst_resm for tst_brkm. Signed-off-by: Jiri Palecek &lt;jpalecek-S0/GAf8tV78&lt; at &gt;public.gmane.org&gt;.

Modified File(s):
ltp/testcases/kernel/syscalls/chmod/chmod06.c
ltp/testcases/kernel/syscalls/chown/chown04.c
ltp/testcases/kernel/syscalls/fchown/fchown02.c
ltp/testcases/kernel/syscalls/fchown/fchown03.c
ltp/testcases/kernel/syscalls/fchown/fchown04.c
ltp/testcases/kernel/syscalls/fchown/fchown05.c

35) Log Message:
Prevent leaving files in the temporary directory by calling tst_rmdir, or cleanup, where appropriate. Signed-off-by: Jiri Palecek &lt;jpalecek-S0/GAf8tV78&lt; at &gt;public.gmane.org&gt;.

Modified File(s):
ltp/testcases/kernel/fs/stream/stream04.c
ltp/testcases/kernel/syscalls/chown/chown03.c
ltp/testcases/kernel/syscalls/fallocate/fallocate03.c
ltp/testcases/kernel/syscalls/fchown/fchown04.c
ltp/testcases/kernel/syscalls/fdatasync/fdatasync01.c
ltp/testcases/kernel/syscalls/ftruncate/ftruncate03.c
ltp/testcases/kernel/syscalls/pwrite/pwrite04.c
ltp/testcases/network/lib6/runcc.c

36) Log Message:
Call cleanup() at the right places to prevent fallocate tests leaving files in the temporary directory. Signed-off-by: Jiri Palecek &lt;jpalecek-S0/GAf8tV78&lt; at &gt;public.gmane.org&gt;.

Modified File(s):
ltp/testcases/kernel/syscalls/fallocate/fallocate01.c
ltp/testcases/kernel/syscalls/fallocate/fallocate02.c

37) Log Message:
I've clean my signalfd test case up with autoconf. After applying the patch, do at ltp/
    autoconf
    autoheader
    ./configure
    make (or cd testcases/kernel/syscalls/signalfd; make)
Benefits are:
- signalfd01.c doesn't depends on kernel version (it used KERNEL_VERSION macro.)
- Makefile becomes simple.
- #ifdef/#endif of signalfd01.c becomes readable.
- signalfd.m4 can use other program than ltp.
I revisied my patch.
- signalfd.m4 is renamed to ltp-signalfd.m4.
- configure is run by make if config.h is older than config.h.in.
- autoconf is run by make if configure is older than configure.ac.
- autoheader is run by make if config.h.in is older than configure.ac.
- dist-clean, a new make target, removes autom4te.cache, config.log and config.status.
- maintainer-clean, a new make target, removes configure and config.h.in.
Signed-off-by: Masatake YAMATO &lt;yamato-H+wXaHxf7aLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;.

Modified Files:
ltp/Makefile
ltp/include/Makefile
ltp/testcases/kernel/syscalls/signalfd/Makefile
ltp/testcases/kernel/syscalls/signalfd/signalfd01.c
Added Files:
ltp/configure.ac
ltp/m4/Makefile
ltp/m4/ltp-signalfd.m4

38) Log Message:
Use the SO_REUSEADDR option in sctp tests to prevent bind error shortly after another test ended: I've noticed a bunch of errors in the SCTP tests, all of them being for the same reason, "bind: address already in use". I tried using the SO_REUSEADDR option on the socket, as if it was TCP, and it helped. However, I know almost nothing about SCTP, and don't know whether the same situation (applications binding to the same port quickly one after another) has the same problems and solution, or if it is just a kernel bug/misconfiguration/whatever else. Signed-off-by: Jiri Palecek&lt;jpalecek-S0/GAf8tV78&lt; at &gt;public.gmane.org&gt;.

Modified File(s):
ltp/testcases/network/sctp/testlib/sctputil.h

39) Log Message:
Quick and dirty fix to overflow in pipeio when computing the number of writes: the computation of the number of writes in pipeio can overflow, eg. if you want to run more than 4 GB through the pipe. The attached patch fixes that. Signed-off-by: Jiri Palecek &lt;jpalecek-S0/GAf8tV78&lt; at &gt;public.gmane.org&gt;.

Modified File(s):
ltp/testcases/kernel/ipc/pipeio/pipeio.c

40) Log Message:
regen linux_syscall_numbers.h whenever regen.sh changes. Mike Frysinger &lt;vapier-Rn4VEauK+AKRv+LV9MX5uipxlwaOVQ5f&lt; at &gt;public.gmane.org&gt;.

Modified File(s):
ltp/testcases/kernel/include/Makefile

41) Log Message:
make syscall() wrapper a bit more readable. Mike Frysinger &lt;vapier-Rn4VEauK+AI&lt; at &gt;public.gmane.orgurceforge.net&gt;.

Modified File(s):
ltp/testcases/kernel/include/regen.sh

42) Log Message:
only create symlink if it doesnt exist already. Mike Frysinger &lt;vapier&lt; at &gt;users.sourceforge.net&gt;.

Modified File(s):
ltp/testcases/kernel/include/Makefile

43) Log Message:
generate stub list on the fly based on *.in files

Modified File(s):
ltp/testcases/kernel/include/regen.sh

Removed File(s):
ltp/testcases/kernel/include/stub-list

44) Log Message:
cleanup style with Lindent

Modified File(s):
ltp/testcases/kernel/syscalls/signalfd/signalfd01.c

45) Log Message:
use a macroname that isnt crazy long.

Modified File(s):
ltp/testcases/kernel/syscalls/signalfd/signalfd01.c

46) Log Message:
fill out AC_INIT().

Modified File(s):
ltp/configure.ac

47) Log Message:
use AC_CHECK_HEADERS_ONCE().

Modified File(s):
ltp/ltp/m4/ltp-signalfd.m4

48) Log Message:
make autotools optional and start a sane config.h by default.

Modified File(s):
ltp/include/Makefile 
ltp/Makefile
Added File(s):
ltp/include/config.h.default 

49) Log Message:
add some compiled objects to the ignore list.

Modified File(s):
ltp/.gitignore

50) Log Message:
Integrate unzip tests to runtest/commands file. Signed-Off-By: Subrata Modak &lt;subrata-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8&lt; at &gt;public.gmane.org&gt;.

Modified Files:
ltp/runtest/commands ltp/testcases/commands/Makefile
ltp/testcases/commands/unzip/unzip_tests.sh

51) Log Message:
Integrate tpm_tools into runalltests.sh. Signed-Off-By: Subrata Modak &lt;subrata-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8&lt; at &gt;public.gmane.org&gt;.

Modified Files:
ltp/runalltests.sh

53) Log Message:
Integrate gzip tests to runtest/commands file. Signed-Off-By: Subrata Modak &lt;subrata-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8&lt; at &gt;public.gmane.org&gt;.

Modified Files:
ltp/runtest/commands

54) Log Message:
Integrate fileutils tests to runtest/commands file. Signed-Off-By: Subrata Modak &lt;subrata-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8&lt; at &gt;public.gmane.org&gt;.

Modified Files:
ltp/runtest/commands

55) Log Message:
Integrate size01 tests to runtest/commands file. Signed-Off-By: Subrata Modak &lt;subrata-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8&lt; at &gt;public.gmane.org&gt;.

Modified Files:
ltp/runtest/commands

56) Log Message:
Add ltp/runtest/commands file to ltp/runltp. Signed-Off-By: Subrata Modak &lt;subrata-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8&lt; at &gt;public.gmane.org&gt;.

Modified Files:
ltp/runltp

57) Log Message:
hugemmap02 "Segmentation fault" fix:
-----------------------------------------------------------
Iranna D. Ankad &lt;iranna.ankad-xthvdsQ13ZrQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt; Reported:
-----------------------------------------------------------
hugemmap02 "Segmentation fault" on a 32-bit system:
Linux 2.6.18-120.el5PAE #1 SMP Fri Oct 17 18:17:11 EDT 2008 i686 i686 i386 GNU/Linux
Allocate some huge pages:
# echo 50 &gt; /proc/sys/vm/nr_hugepages
2. Create &amp; mount hugetlbfs
#mkdir -p /hugetlbfs
#mount -t hugetlbfs none /hugetlbfs
3. Go to following directory in LTP i.e cd /root/ltp-full-20080930/testcases/kernel/mem/hugetlb/hugemmap
4. Run "hugemmap02" test
# ./hugemmap02 -H /hugetlbfs/
Segmentation fault
-----------------------------------------------------------
Cijurajan Kollanoor &lt;cijurajan-xthvdsQ13ZrQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt; Replied:
-----------------------------------------------------------
The program receives a segmentation fault here:
154                 /* Attempt to mmap a huge page into a low memory address
*/
155                 errno = 0;
156                 addr2 = mmap(LOW_ADDR2, MAP_SIZE, PROT_READ | PROT_WRITE,
==&gt; Segfault
157                             MAP_SHARED | MAP_FIXED, fildes, 0);
158
-----------------------------------------------------------
Adam Litke &lt;agl-r/Jw6+rmf7HQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;Replied:
-----------------------------------------------------------
Unfortunately, when you mmap using the MAP_FIXED flag, you can overwrite an existing mmap in the address space.  Please do the following to check if this has happened:
1. Insert a 'getchar();' call above line 155 in the test source code above and recompile the test.
2. Run the test.  When it pauses (waiting for input at the getchar() call), hit &lt;ctrl&gt;-z to background the test.
3. Determine the pid of the test case using ps
4. Collect the /proc/&lt;pid&gt;/maps for the appropriate pid
5. Paste that output here in this bug.
-----------------------------------------------------------
Cijurajan Kollanoor Replied:
-----------------------------------------------------------
# cat maps
00000000-00001000 r-xs 00000000 00:11 1781       /dev/zero
00110000-0024e000 r-xp 00000000 08:02 19183585   /lib/libc-2.5.so
0024e000-00250000 r-xp 0013e000 08:02 19183585   /lib/libc-2.5.so
00250000-00251000 rwxp 00140000 08:02 19183585   /lib/libc-2.5.so
00251000-00254000 rwxp 00251000 00:00 0
005f1000-0060b000 r-xp 00000000 08:02 19183582   /lib/ld-2.5.so
0060b000-0060c000 r-xp 00019000 08:02 19183582   /lib/ld-2.5.so
0060c000-0060d000 rwxp 0001a000 08:02 19183582   /lib/ld-2.5.so
0073a000-0073b000 r-xp 0073a000 00:00 0          [vdso]
08048000-0804d000 r-xp 00000000 08:02 2586373
/root/ltp-full-20080930/testcases/kernel/mem/hugetlb/hugemmap/hugemmap02
0804d000-0804e000 rw-p 00004000 08:02 2586373
/root/ltp-full-20080930/testcases/kernel/mem/hugetlb/hugemmap/hugemmap02
0804e000-08052000 rw-p 0804e000 00:00 0
08248000-08269000 rw-p 08248000 00:00 0          [heap]
67ef8000-77ef8000 r--s 00000000 00:11 1781       /dev/zero
77ef8000-87ef8000 r--s 00000000 00:11 1781       /dev/zero
87ef8000-97ef8000 r--s 00000000 00:11 1781       /dev/zero
97ef8000-a7ef8000 r--s 00000000 00:11 1781       /dev/zero
a7ef8000-b7ef8000 r--s 00000000 00:11 1781       /dev/zero
b7ef8000-b7efa000 rw-p b7ef8000 00:00 0
b7f0a000-b7f0b000 rw-p b7f0a000 00:00 0
bf918000-bf92d000 rw-p bffea000 00:00 0          [stack]
-----------------------------------------------------------
ADAM G. LITKE Replied:
-----------------------------------------------------------
My suspicion is confirmed.  This is a LTP test case bug.  All of the above mappings will have been overwritten by the mmap call on the hugetlbfs file at address 0.  This will most certainly cause your program to crash and burn. To fix the test case, I would recommend removing the MAP_FIXED flag from that mmap call and checking the address you get from mmap.  If it's zero, you'll know a mapping could be created at the bottom of the address space.  If it's -1, the mmaping failed. But if it's &gt;0, you'll have to decide how to handle the case where the mapping could not be placed in the spot you requested. This case would not be a failure, just a failure to test the scenario you wanted to test.  I assume the LTP test harness has a way to represent an insignificant test result.  You might just treat this case in the same way you handle mmap() == 0.
Signed-Off-By:  Cijurajan Kollanoor &lt;cijurajan-xthvdsQ13ZrQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;,

Modified File(s):
ltp/testcases/kernel/mem/hugetlb/hugemmap/hugemmap02.c

58) Log Message:
This test case requires write permission for the dummy program. It would fail for those who put LTP on an read-only environment. So this patch copies the dummy test program to and performs the test in a private directory. p.s. this patch copy the one Renaud Lottiaux sent for execve02.c. Signed-Off-By: Roy Lee &lt;roylee17-Re5JQEeQqe8AvxtiuMwx3w&lt; at &gt;public.gmane.org&gt;.

Modified File(s):
ltp/testcases/kernel/syscalls/creat/creat07.c

59) Log Message:
Only define signalfd() when it actually gets used -- i.e. when !USE_STUB. Mike Frysinger &lt;vapier-Rn4VEauK+AKRv+LV9MX5uipxlwaOVQ5f&lt; at &gt;public.gmane.org&gt;

Modified File(s):
ltp/testcases/kernel/syscalls/signalfd/signalfd01.c

60) Log Message:
require autoconf-2.61+. Mike Frysinger &lt;vapier-Rn4VEauK+AKRv+LV9MX5uipxlwaOVQ5f&lt; at &gt;public.gmane.org&gt;.

Modified File(s):
ltp/configure.ac

61) Log Message:
lcov: preparations for release 1.7. Peter Oberparleiter &lt;oberpapr-Rn4VEauK+AKHXe+LvDLADg&lt; at &gt;public.gmane.orgrceforge.net&gt;.

Modified File(s):
ltp/utils/analysis/lcov/CHANGES
ltp/utils/analysis/lcov/Makefile

62) Log Message:
lcov: update error and warning messages. Peter Oberparleiter &lt;oberpapr&lt; at &gt;users.sourceforge.net&gt;.

Modified File(s):
ltp/utils/analysis/lcov/CHANGES
ltp/utils/analysis/lcov/bin/gendesc
ltp/utils/analysis/lcov/bin/genhtml
ltp/utils/analysis/lcov/bin/geninfo
ltp/utils/analysis/lcov/bin/genpng
ltp/utils/analysis/lcov/bin/lcov


63) Log Message:
lcov: fix spec file bug. Peter Oberparleiter &lt;oberpapr-Rn4VEauK+AKRv+LV9MX5uv+2+P5yyue3&lt; at &gt;public.gmane.orgt&gt;.

Modified File(s):
ltp/utils/analysis/lcov/rpm/lcov.spec

64) Log Message:
lcov: version + date updates. Peter Oberparleiter &lt;oberpapr-Rn4VEauK+AJRYHbF4JBHZw&lt; at &gt;public.gmane.orgge.net&gt;.

Modified File(s):
ltp/utils/analysis/lcov/README
ltp/utils/analysis/lcov/bin/gendesc
ltp/utils/analysis/lcov/bin/genhtml
ltp/utils/analysis/lcov/bin/geninfo
ltp/utils/analysis/lcov/bin/genpng
ltp/utils/analysis/lcov/bin/lcov
ltp/utils/analysis/lcov/man/gendesc.1
ltp/utils/analysis/lcov/man/genhtml.1
ltp/utils/analysis/lcov/man/geninfo.1
ltp/utils/analysis/lcov/man/genpng.1
ltp/utils/analysis/lcov/man/lcov.1
ltp/utils/analysis/lcov/man/lcovrc.5
ltp/utils/analysis/lcov/rpm/lcov.spec

65) Log Message:
lcov: updated CVS version to 1.8. Peter Oberparleiter &lt;oberpapr-Rn4VEauK+ALLDRD5uJR0wg&lt; at &gt;public.gmane.orgeforge.net&gt;.

Modified File(s):
ltp/utils/analysis/lcov/man/gendesc.1
ltp/utils/analysis/lcov/man/genhtml.1
ltp/utils/analysis/lcov/man/geninfo.1
ltp/utils/analysis/lcov/man/genpng.1
ltp/utils/analysis/lcov/man/lcov.1
ltp/utils/analysis/lcov/man/lcovrc.5
ltp/utils/analysis/lcov/bin/gendesc
ltp/utils/analysis/lcov/bin/genhtml
ltp/utils/analysis/lcov/bin/geninfo
ltp/utils/analysis/lcov/bin/genpng
ltp/utils/analysis/lcov/bin/lcov
ltp/utils/analysis/lcov/rpm/lcov.spec
ltp/utils/analysis/lcov/Makefile

66) Log Message:
I've introduced autoconf to modify_ldt test cases. The modification is very similar to the modification to signalfd. Signed-off-by: Masatake YAMATO&lt;yamato-H+wXaHxf7aLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;.

Modified Files:
ltp/configure.ac
ltp/m4/ltp-signalfd.m4
ltp/runtest/syscalls
ltp/testcases/kernel/syscalls/modify_ldt/Makefile
ltp/testcases/kernel/syscalls/modify_ldt/modify_ldt01.c
ltp/testcases/kernel/syscalls/modify_ldt/modify_ldt02.c

Added Files:
ltp/m4/ltp-modify_ldt.m4

67) Log Message:
Please accept the patch for running the pidns tests for the containers. Also modified, to run all the testcases even when other testcase's fails. This patch contains the patches to run new tests pidns05 and pidns06. Also this patch will run all the pidns tests. And return back the exit code of the test, which failed first. Signed-off-by: Veerendra C &lt;vechandr-xthvdsQ13ZrQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;. Acked-by: Serge Hallyn &lt;serue-r/Jw6+rmf7HQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;.

Modified File(s):
ltp/testcases/kernel/containers/pidns/runpidnstest.sh

68) Log Message:
[Bug # 2305878] fcntl17: fix short pid problem. Process ids (pids) are not necessary in "short" range, they might be larger (and are in SLES 10 e.g.). Signed_off-By: Marcus Meissner &lt;marcusmeissner-Rn4VEauK+AKRv+LV9MX5uipxlwaOVQ5f&lt; at &gt;public.gmane.org&gt;.

Modified File(s):
ltp/testcases/kernel/syscalls/fcntl/fcntl17.c

69) Log Message:
Change "Buffer size is not positive" testcase readlink03 to use 0 as non-positive buffer size, instead of -1. To avoid a fortify-check-fail when using glibc and _FORTIFY_SOURCE=2. See discussion: http://lkml.org/lkml/2008/10/23/229. Signed-off-by: Daniel Gollub &lt;dgollub-l3A5Bk7waGM&lt; at &gt;public.gmane.org&gt;.

Modified File(s):
ltp/testcases/kernel/syscalls/readlink/readlink03.c

70) Log Message:
Risrajak &lt;risrajak-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8&lt; at &gt;public.gmane.org&gt; reported:
mallocstress testcase is failing on: Linux 2.6.27-rc6-7-default #1 SMP 2008-09-15 10:58:05 +0200 x86_64
# ./testcases/kernel/mem/mtest07/mallocstress
Aborted
---Kernel Component Data---
Stack trace output: i am attaching full strace.
&lt;snip&gt;
clone(child_stack=0x7fe381a96250,
flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID,
parent_tidptr=0x7fe381a969e0, tls=0x7fe381a96950, child_tidptr=0x7fe381a969e0) = 27334
nanosleep({0, 0}, NULL)                 = 0
semop(34439172, 0x7fffa7cbef00, 1)      = 0
futex(0x7fe39f2d19e0, FUTEX_WAIT, 27275, NULL &lt;unfinished ...&gt;
+++ killed by SIGABRT +++
---------------------------------------
Nagesh Sharyathi Replied:
---------------------------------------
I was able to recreate the problem by spawning only 2 threads: This is what I found:
------------------------------------------------------------------------------------
[pid  8006] tgkill(8004, 8006, SIGABRT &lt;unfinished ...&gt;
[pid  8005] &lt;... mmap resumed&gt; )        = 0x7f8ba781b000
[pid  8006] &lt;... tgkill resumed&gt; )      = 0
[pid  8005] nanosleep({0, 0},  &lt;unfinished ...&gt;
[pid  8006] --- SIGABRT (Aborted) &lt; at &gt; 0 (0) ---
Process 8006 detached
[pid  8005] &lt;... nanosleep resumed&gt; NULL) = 0
[pid  8005] +++ killed by SIGABRT +++
+++ killed by SIGABRT +++
------------------------------------------------------------------------------------
So one of the thread is sending tgkill to whole group. Need to look into glibc code to understand the problem. Test case is failing strangely while calling free()
=================================
         for (i = 0; i &lt; num_alloc; i++)
         {
             dprt(("pid[%d]: freeing ptrs[i] %p\n", getpid(), ptrs[i]));
         if (ptrs[i][0] != i) {
         fprintf(stderr, "pid[%d]: fail: bad sentinel value\n", getpid());
         return 1;
         }
         free(ptrs[i]);  &lt;== Problem area
             my_yield();
        }
=================================
Andrew Vagin Replied &lt;avagin-Re5JQEeQqe8AvxtiuMwx3w&lt; at &gt;public.gmane.org&gt;:
Thanks. I found error for help valgrind.
==13393== Thread 56:
==13393== Invalid write of size 8
==13393==    at 0x400C27: allocate_free (mallocstress.c:198)
==13393==    by 0x400E4D: alloc_mem (mallocstress.c:281)
==13393==    by 0x3B5F007299: start_thread (in /lib64/libpthread-2.8.so)
==13393==    by 0x3B5E4E439C: clone (in /lib64/libc-2.8.so)
==13393==  Address 0x4c36a60 is 0 bytes inside a block of size 1 alloc'd
==13393==    at 0x4A0739E: malloc (vg_replace_malloc.c:207)
==13393==    by 0x400BF0: allocate_free (mallocstress.c:192)
==13393==    by 0x400E4D: alloc_mem (mallocstress.c:281)
==13393==    by 0x3B5F007299: start_thread (in /lib64/libpthread-2.8.so)
==13393==    by 0x3B5E4E439C: clone (in /lib64/libc-2.8.so)
(gdb) print i
$1 = 0
(gdb) print alloc_num
No symbol "alloc_num" in current context.
(gdb) print num_alloc
$2 = 0
(gdb) print size
$3 = 1
strick the eye, we have pointer with type long, but allocate one byte only.
size_t  size       = 1;
long    *ptrs[MAXPTRS];
......
ptrs[num_alloc] = (long *)malloc(size);
I use valgrind first time. Thanks for this possibility:). see the attached patch. test passed and valgrind don't report errors after my patch. 
Thread [34]: allocate_free() returned 0, succeeded.  Thread exiting.
main(): test passed.
==13299==
==13299== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 4 from 1)
==13299== malloc/free: in use at exit: 0 bytes in 0 blocks.
==13299== malloc/free: 233,080 allocs, 227,080 frees, 5,454,975,665,283 bytes allocated.
ps: I use oldsize = 5, because long will be equal 8 in more case. oldsize is previous value of fibannoci series. 
Signed-Off-By: "avagin-Re5JQEeQqe8AvxtiuMwx3w&lt; at &gt;public.gmane.org" &lt;avagin-Re5JQEeQqe8AvxtiuMwx3w&lt; at &gt;public.gmane.org&gt;.

Modified File(s):
ltp/testcases/kernel/mem/mtest07/Makefile
ltp/testcases/kernel/mem/mtest07/mallocstress.c

71) Log Message:
Initial Porting of accept4() syscall test to LTP by Subrata Modak &lt;subrata&lt; at &gt;linux.vnet.ibm.com&gt;. Originally written by Michael Kerrisk &lt;mtk.manpages&lt; at &gt;gmail.com&gt;. Later modified to suite compilation on different systems by Jiri Palecek &lt;jpalecek-S0/GAf8tV78&lt; at &gt;public.gmane.org&gt;, who wrote the following:
I have some nitpicks, in decreasing severity: First, the syscall, I believe, is not targeted at i386 and x86-64 only. Therefore, it is not wise to have these explicitly mentioned in the code. Also, it would be better not to "#error" if the arch isn't one of those fortunate, because ltp should build on others too. This should be fixed by patch 1. Disclaimer: This patch should make it compile (and fail at runtime with TCONF) on all kernels that don't have the syscall, and actually run the test on all kernels that do, depending on kernel headers version. However, I didn't test this (especially the selection of the syscall), so it needs to be checked. Second, if any of the syscalls vital for the test fails, it's preferable to output the error message too, and call tst_brk() for cleanup (patch 2). Third, there it would probably be better to use TFAIL/TPASS for recording success and failure instead of manual boolean flags (patch 3). Last, I think a successful test should print as little as possible and multiline messages like "calling syscall..." are really not that useful. Patch 4 disables them.

Modified Files:
ltp/runtest/syscalls
ltp/testcases/kernel/include/x86_64.in
Added Files:
ltp/testcases/kernel/syscalls/accept4/Makefile
ltp/testcases/kernel/syscalls/accept4/accept4_01.c

72) Log Message:
I guess you want "&gt;/dev/null 2&gt;&amp;1" to eliminate both STDERR and STDOUT. Attaching a small patch with the above change. Please accept. Signed-Off-By: Nageswara R Sastry &lt;rnsastry-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8&lt; at &gt;public.gmane.org&gt;.

Modified File(s):
ltp/testcases/kernel/power_management/check_cpuidle_sysfs_files.sh

73) Log Message:
A small Fix. Signed-off-by: Masatake YAMATO&lt;yamato-H+wXaHxf7aLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;.

Modified File(s):
ltp/m4/ltp-signalfd.m4

74) Log Message:
- Type definitions defined in header files included from sys/signalfd.h and type definitions defined in sys/signalfd.h are conflicted.
- s/SIGNALFD_REFIX/SIGNALFD_PREFIX/
- if HAVE_SIGNALFD is not defined, use stub.
- if HAVE_LINUX_TYPES_H is defined, use our own implemention to call signalfd
  syscall.
Signed-of-by: Masatake YAMATO&lt;yamato-H+wXaHxf7aLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;.

Modified File(s):
ltp/m4/ltp-signalfd.m4
ltp/testcases/kernel/syscalls/signalfd/signalfd01.c

75) Log Message:
Update to OpenHPI 2.13.1. See http://openhpi.org/ for more details.

Modified File(s):

76) Log Message:
Add Kernel Config Info for compiling KDUMP/KEXEC kernel. Signed-Off-By: Subrata Modak &lt;subrata-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8&lt; at &gt;public.gmane.org&gt;.

Modified File(s):
ltp/README

77) Log Message:
This patch ensures that prio-preempt uses the librt debug mechanism. Tested: Running the test:
./prio_preempt
./prio_preempt -v3
./run_auto
Signed-Off-By: Chirag &lt;chirag-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8&lt; at &gt;public.gmane.org&gt;. Acked-by: Darren Hart &lt;dvhltc-r/Jw6+rmf7HQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;.

Modified File(s):
ltp/testcases/realtime/func/prio-preempt/prio-preempt.c

78) Log Message:
This patch adds librt debug support for prio-wake. The log level selected is 0, as it necessary to print all the buffered information. Tested:
./prio-wake
./run_auto.
Signed-Off-By: Chirag &lt;chirag-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8&lt; at &gt;public.gmane.org&gt;. Acked-by: Darren Hart &lt;dvhltc-r/Jw6+rmf7HQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;.

Modified File(s):
ltp/testcases/realtime/func/prio-wake/prio-wake.c

79) Log Message:
OK. I have implemented such a patch which does not overflow anymore. However, I could not test it, because:
pipeio -s 5000 -i 2000000000 -c 5
just runs too long. Signed-off-by: Jiri Palecek &lt;jpalecek-S0/GAf8tV78&lt; at &gt;public.gmane.org&gt;.

Modified File(s):
ltp/testcases/kernel/ipc/pipeio/pipeio.c

80) Log Message:
The test case gtod_latency in realtime causes soft lockups on some machines. This is because the test hogs the cpus for a long time, because it's main loop runs at SCHED_FIFO, 99. We have seen soft lockups mainly on LS20 machines (x86_64, Opterons). The following patch introduces a sleep after some iterations of the test. This ensures that the test doesn't hog the cpu completely and hence avoids soft lockups. 
Testing done:
Compiled with the patch and observed that the soft lockups are gone. Also observed that the latencies are not affected. In fact latencies improve with this patch on most hardware.
Changelog:
* Introduce periodic sleeps in the busy loop of gtod_latency to avoid soft lockups.
Signed-off-by: Sripathi Kodi &lt;sripathik-xthvdsQ13ZrQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;. Acked-by: John Stultz &lt;johnstul-r/Jw6+rmf7HQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;.

Modified File(s):
ltp/testcases/realtime/func/gtod_latency/gtod_latency.c

81) Log Message:
Here is a patch to fix the error below.
/root/ltp-full-20081031/testcases/kernel/containers/netns/parentns.sh: 42: source: not found
Some shells are not having the cmd 'source' which inturn are failing the tests for netns in containers. I found few other ltp scripts are using the source cmd. Have others reported the same issue ? Just curious to know this. The below patch would replace the 'source with .' for containers in netns. Signed-Off-By: Veerendra &lt;veeren-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8&lt; at &gt;public.gmane.org&gt;.

Modified File(s):
ltp/testcases/kernel/containers/netns/child_1.sh
ltp/testcases/kernel/containers/netns/child_2.sh
ltp/testcases/kernel/containers/netns/childipv6.sh
ltp/testcases/kernel/containers/netns/childns.sh
ltp/testcases/kernel/containers/netns/parent_1.sh
ltp/testcases/kernel/containers/netns/parent_2.sh
ltp/testcases/kernel/containers/netns/parent_share.sh
ltp/testcases/kernel/containers/netns/parentns.sh
ltp/testcases/kernel/containers/netns/paripv6.sh

82) Log Message:
The file testcases/kernel/include/stub-list was recently removed. It contained the list of syscall numbers which, if not present in the kernel headers or in one of the architecture-specific lists, should be defined as 0 (a stub value). Now, this list is automatically generated as union of the architecture-specific lists. However, some syscalls only appeared in stub-list, which means they are not stubbed now, so architectures lacking them will probably fail to build (alpha...). To overcome this, I have added these syscalls to the i386 list, which means they will be defined whenever they are defined in the kernel sources, on i386, and stubbed otherwise. See the attached patch. BTW, the list of syscalls is not exhaustive. In the attachment filtered-syscalls, there is a list of syscalls which appear as __IGNORE_syscall-nr in the kernel sources (which means they are missing on some architecture), but are not used in ltp or their use is guarded by an #ifdef. They would have to be added too, if some test explicitely mentions them (eg. getresgid16). Signed-off-by: Jiri Palecek &lt;jpalecek-S0/GAf8tV78&lt; at &gt;public.gmane.org&gt;.

Modified File(s):
ltp/testcases/kernel/include/i386.in

83) Log Message:
umount can return error if /etc/mtab link to /proc/mounts
$ mount --rbind /tmp/1 /tmp/2
$ mount
...
/tmp/1 on /tmp/2 type none (rw,bind)
$ mv /etc/mtab{,.orig}
$ mount
...
/dev/root on /tmp/2 type ext3 (rw,data=ordered)
$ umount /tmp/1
umount: /tmp/1: not mounted
if umount return error, test_fs_bind.sh will hang up in the infinite loop:
( while grep_proc_mounts ; do
        grep_proc_mounts | awk '{print $2}' | xargs -r --max-args=1 umount -l
done ) &gt;&amp; /dev/null
but /proc/mounts contain next info:
/dev/root /tmp/2\040(deleted) ext3 rw,data=ordered 0 0
because source directory has been deleted. previous script try execute umount -l /tmp/2\040(deleted), umount fail correctly but all message from stdout and stderr redirecte to /dev/null. my patch fixed testcase fs_bind/regression/test02, that execute all umount commands with target directories. Signed-Off-By: Andrew Vagin &lt;avagin-bzQdu9zFT3WakBO8gow8eQ&lt; at &gt;public.gmane.org&gt;.

Modified File(s):
ltp/testcases/kernel/fs/fs_bind/regression/test02

84) Log Message:
Fix busy loop in realtime:
The routine busy_work_us(), which is the busy work loop function in realtime test suite is supposed run for as many microseconds as requested for. However, I have observed that it runs too fast on some hardware. I looked at the code and saw that we are statically setting the loop counters, which means the duration of the busy loop varies with the cpu speed. Further, the busy loop is affected by compiler optimizations. On some hardware it provides only 50% of requested delay, whereas with -O3, it finishes even faster. What we need is a method to dynamically tune the delay loop based on the machine where the test is being run. It should not be affected by compiler optimizations as well. The following patch does that. It applies on the latest cvs. Signed-off-by: Sripathi Kodi &lt;sripathik-xthvdsQ13ZrQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;, Acked-by: Chirag &lt;chirag at linux.vnet.ibm.com&gt;.

Modified File(s):
ltp/testcases/realtime/include/librttest.h
ltp/testcases/realtime/lib/librttest.c

85) Log Message:
I've added new Makefile target to run both autoconf and autoheader. Signed-off-by: Masatake YAMATO &lt;yamato-H+wXaHxf7aLQT0dZR+AlfA&lt; at &gt;public.gmane.org&gt;.

Modified File(s):
ltp/Makefile

86) Log Message:
CONTROLLERS: replace numbers by FILENAME_MAX: 32 bytes are really unsufficient for hoding dir names, changing it to FILENAME_MAX. Signed-off-by: Sudhir Kumar &lt;skumar-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8&lt; at &gt;public.gmane.org&gt;.

Modified Files:
ltp/testcases/kernel/controllers/cpuctl/cpuctl_test01.c
ltp/testcases/kernel/controllers/cpuctl/cpuctl_test02.c
ltp/testcases/kernel/controllers/cpuctl/cpuctl_test03.c
ltp/testcases/kernel/controllers/cpuctl/cpuctl_test04.c

87)  Log Message:
CONTROLLERS: do not redirect errors to /dev/null: Its no good to redirect the error messages from the binaries to /dev/null. One might not know what is the failure or what went wrong. This patch omits that redirection. Signed-off-by: Sudhir Kumar &lt;skumar-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8&lt; at &gt;public.gmane.org&gt;.

Modified Files:
ltp/testcases/kernel/controllers/cpuctl/run_cpuctl_stress_test.sh
ltp/testcases/kernel/controllers/cpuctl/run_cpuctl_test.sh

88) Log Message:
CONTROLLERS: rename the setup function: In case the file defining functions fails to load, the function setup() will run the setup utility, so changing it to do_setup(). Signed-off-by: Sudhir Kumar &lt;skumar-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8&lt; at &gt;public.gmane.org&gt;.

Modified Files:
ltp/testcases/kernel/controllers/cpuctl/parameters.sh
ltp/testcases/kernel/controllers/cpuctl/run_cpuctl_stress_test.sh
ltp/testcases/kernel/controllers/cpuctl/run_cpuctl_test.sh

89) Log Message:
CONTROLLERS: set up for default group creation: This patch adds the code to do the setup for a default group which will be spinning  a task to create an ideal scenario for group fairness. Signed-off-by: Sudhir Kumar &lt;skumar&lt; at &gt;linux.vnet.ibm.com&gt;.

Modified Files:
ltp/testcases/kernel/controllers/cpuctl/parameters.sh

90) Log Message:
CONTROLLERS: binary to be run as a default task for test 1-2: This patch adds a binary which will be running as a default task for testcases 1 to create an ideal scenario. Signed-off-by: Sudhir Kumar &lt;skumar-23VcF4HTsmIX0ybBhKVfKWGXanvQGlWp&lt; at &gt;public.gmane.orgm&gt;.

Added Files:
ltp/testcases/kernel/controllers/cpuctl/cpuctl_def_task01.c

91) Log Message:
CONTROLLERS: modify script to run default task for test 1-2: This patch adds the code to trigger the default task for the tests 1-3. Also the code is added to clean this default task setup. Signed-off-by: Sudhir Kumar &lt;skumar&lt; at &gt;linux.vnet.ibm.com&gt;.

Modified Files:
ltp/testcases/kernel/controllers/cpuctl/parameters.sh
ltp/testcases/kernel/controllers/cpuctl/run_cpuctl_test.sh

92) Log Message:
CONTROLLERS: Modify test to reflect kernel MAX_SHARES limit: The tests takes too long if we keep the time interval 60 seconds. Hence changing to 30 seconds. Also the kernel has now the max linit on shares values (1UL &lt;&lt;18). So taking readings upto 7th set will reach the max limit very soon(specialy on high end machines). Therefore we keep the multiplier to multiply at max 4 times. Hence we will reach till GROUP_NUM * 10^4. Signed-off-by: Sudhir Kumar &lt;skumar-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8&lt; at &gt;public.gmane.org&gt;.

Modified Files:
ltp/testcases/kernel/controllers/cpuctl/cpuctl_test01.c
ltp/testcases/kernel/controllers/cpuctl/cpuctl_test02.c
ltp/testcases/kernel/controllers/cpuctl/cpuctl_test03.c
ltp/testcases/kernel/controllers/cpuctl/cpuctl_test04.c

93) Log Message:
CONTROLLERS: pass the argument to the function: The function scan_shares_files() modifies a global variable, which in the current way was confusing, so passing the variable as argument. Signed-off-by: Sudhir Kumar &lt;skumar&lt; at &gt;linux.vnet.ibm.com&gt;.

Modified Files:
ltp/testcases/kernel/controllers/cpuctl/cpuctl_test01.c
ltp/testcases/kernel/controllers/cpuctl/cpuctl_test02.c
ltp/testcases/kernel/controllers/cpuctl/cpuctl_test03.c
ltp/testcases/kernel/controllers/cpuctl/cpuctl_test04.c
ltp/testcases/kernel/controllers/libcontrollers/libcontrollers.c
ltp/testcases/kernel/controllers/libcontrollers/libcontrollers.h

94) Log Message:
CONTROLLERS: modify def task binary for test 3: The patch modifies the default task binary to be run for test num 3 also. Signed-off-by: Sudhir Kumar &lt;skumar-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8&lt; at &gt;public.gmane.org&gt;.

Modified Files:
ltp/testcases/kernel/controllers/cpuctl/cpuctl_def_task01.c

95) Log Message:
CONTROLLERS:  binary for def task for test 4 &amp; 5: This patch adds a binary which will be running as a default task for testcases 4 and 5 to create an ideal scenario. Signed-off-by: Sudhir Kumar &lt;skumar-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8&lt; at &gt;public.gmane.org&gt;.

Added Files:
ltp/testcases/kernel/controllers/cpuctl/cpuctl_def_task02.c

96) Log Message:
CONTROLLERS: modify the script to run def task for test 4: This patch modifies the script to run the default task for test 4. Signed-off-by: Sudhir Kumar &lt;skumar-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8&lt; at &gt;public.gmane.org&gt;.

Modified Files:
ltp/testcases/kernel/controllers/cpuctl/parameters.sh
ltp/testcases/kernel/controllers/cpuctl/run_cpuctl_test.sh

97) Log Message:
CONTROLLERS: modify the script to run def task for test 5: This patch modifies the script to run the default task for test 5. Signed-off-by: Sudhir Kumar &lt;skumar-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8&lt; at &gt;public.gmane.org&gt;.

Modified Files:
ltp/testcases/kernel/controllers/cpuctl/run_cpuctl_test.sh

98) Log Message:
CONTROLLERS: add binary to run def task for test 6,7,8: This patch adds a binary which will be running as a default task for testcases 6, 7 and 8 to create an ideal scenario. Signed-off-by: Sudhir Kumar &lt;skumar-23VcF4HTsmKV+eIr5BDs5Q&lt; at &gt;public.gmane.org.com&gt;.

Added Files:
ltp/testcases/kernel/controllers/cpuctl/cpuctl_def_task03.c

99) Log Message:
CONTROLLERS: modify the script to run def task for test 6,7,8: This patch modifiesadds a binary which will be running as a default task for testcases 6, 7 and 8 to create an ideal scenario. Signed-off-by: Sudhir Kumar &lt;skumar&lt; at &gt;linux.vnet.ibm.com&gt;.

Modified Files:
ltp/testcases/kernel/controllers/cpuctl/run_cpuctl_stress_test.sh

100) Log Message:
CONTROLLERS: change share values for the group: This patch changes the shares values for the groups in test num 9 to some practical values. (instead of 2,3,4,5...100,200,300,400.... ). Signed-off-by: Sudhir Kumar &lt;skumar&lt; at &gt;linux.vnet.ibm.com&gt;.

Modified Files:
ltp/testcases/kernel/controllers/cpuctl/cpuctl_test04.c

101) Log Message:
CONTROLLERS: add binary to run def task for test 9,10: This patch adds a binary which will be running as a default task for testcases 9 and 10 to create an ideal scenario. Signed-off-by: Sudhir Kumar &lt;skumar-23VcF4HTsmIX0ybBhKVfKWGXanvQGlWp&lt; at &gt;public.gmane.orgm&gt;.

Added Files:
ltp/testcases/kernel/controllers/cpuctl/cpuctl_def_task04.c

102) Log Message:
CONTROLLERS: modify script to run def task for test 9: This patch modifies the script to run the default task for test 9. Signed-off-by: Sudhir Kumar &lt;skumar-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8&lt; at &gt;public.gmane.org&gt;.

Modified Files:
ltp/testcases/kernel/controllers/cpuctl/run_cpuctl_stress_test.sh

103) Log Message:
CONTROLLERS: modify script to run def task for test 10: This patch modifies the script to run the default task for test 10. Signed-off-by: Sudhir Kumar &lt;skumar-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8&lt; at &gt;public.gmane.org&gt;.

Modified Files:
ltp/testcases/kernel/controllers/cpuctl/run_cpuctl_stress_test.sh

104) Log Message:
Re-enablement of TI-RPC tests to build/install/run in LTP:
Le Rouzic &lt;aime.le-rouzic-6ktuUTfB/bM&lt; at &gt;public.gmane.org&gt; wrote: I get a first patch to deliver which improves the Sun-RPC and TIRPC Test Suite. The Sun-RPC tests part works quite well. About the TIRPC I still have some FAILED I am working on that I will fix in a second patch. There is no much time now for the November delivery so let me know if you want me to deliver right now the first patch.
Subrata Modak &lt;subrata-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8&lt; at &gt;public.gmane.org&gt; replied: I am not worried if the test case(s) of TI-RPC fails. The point is they should be able to build, install and run - irrespective of whether many of the tests fail. The issue(s) like linking to proper libraries while building and finding those libraries to run should be properly resolved. If they require specific libraries to to build/run, that should be properly documented. Users should be able to find those libraries and install them (if it does not come with the system in first place), so that they can start using those tests. If people can start using those tests, then there will be more people who can help fix issues related to tests themselves. It would be nice if you can send a patch (against latest CVS) which would re-enable the TI-RPC tests to build/install/run in LTP properly. We can see the test fails later.
Le Rouzic &lt;aime.le-rouzic-6ktuUTfB/bM&lt; at &gt;public.gmane.org&gt; replied: OK. Here is the patch I tested against ltp-full-20081031.tgz. Signed-Off-By: Le Rouzic &lt;aime.le-rouzic&lt; at &gt;bull.net&gt;.

Modified Files:
ltp/runtest/rpc
ltp/runtest/stress.part3
ltp/testcases/network/rpc/Makefile
ltp/testcases/network/rpc/README
ltp/testcases/network/rpc/basic_tests/rpcinfo/rpcinfo01
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/README
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/configure.auto
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/configure.interactive
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/rpc_broadc_scalability_lib.sh
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/rpc_tirpc_ts_run.sh
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/rpc_ts_run.sh
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/rpc_ts_wizard.sh
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/run_rpc_tirpc_tests.sh
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/inc/install.ftr
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/inc/rpc_ts_run.ftr
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_addrmanagmt_get_myaddress/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_addrmanagmt_pmap_getmaps/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_addrmanagmt_pmap_getport/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_addrmanagmt_pmap_rmtcall/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_addrmanagmt_pmap_rmtcall/2-stress.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_addrmanagmt_pmap_rmtcall/7-performance.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_addrmanagmt_pmap_set/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_addrmanagmt_pmap_unset/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_auth_auth_destroy/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_auth_authnone_create/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_auth_authunix_create/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_auth_authunix_create_default/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_broadc_clnt_broadcast/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_broadc_clnt_broadcast/2-stress.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_broadc_clnt_broadcast/5-scalability.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_broadc_clnt_broadcast/6-dataint.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_broadc_clnt_broadcast/7-performance.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_broadc_clnt_broadcast/8-complex.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_createdestroy_clnt_create/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_createdestroy_clntudp_bufcreate/3-limits.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_createdestroy_clntudp_create/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_createdestroy_clntudp_create/2-stress.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_createdestroy_clntudp_create/7-performance.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_createdestroy_svc_destroy/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_createdestroy_svc_destroy/2-stress.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_createdestroy_svcfd_create/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_createdestroy_svcfd_create/3-limits.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_createdestroy_svcraw_create/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_createdestroy_svcraw_create/7-performance.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_createdestroy_svctcp_create/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_createdestroy_svctcp_create/2-stress.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_createdestroy_svctcp_create/3-limits.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_createdestroy_svctcp_create/7-performance.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_createdestroy_svcudp_bufcreate/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_createdestroy_svcudp_bufcreate/3-limits.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_createdestroy_svcudp_create/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_createdestroy_svcudp_create/2-stress.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_createdestroy_svcudp_create/7-performance.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_err_clnt_pcreateerror/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_err_clnt_perrno/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_err_clnt_perror/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_err_clnt_spcreateerror/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_err_clnt_sperrno/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_err_clnt_sperror/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_err_svcerr_auth/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_err_svcerr_noproc/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_err_svcerr_noprog/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_err_svcerr_progvers/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_err_svcerr_systemerr/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_err_svcerr_weakauth/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_regunreg_registerrpc/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_regunreg_svc_register/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_regunreg_svc_unregister/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_regunreg_xprt_register/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_regunreg_xprt_unregister/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_stdcall_callrpc/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_stdcall_callrpc/2-stress.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_stdcall_callrpc/5-scalability.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_stdcall_callrpc/6-dataint.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_stdcall_callrpc/7-performance.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_stdcall_clnt_call/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_stdcall_clnt_call/2-stress.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_stdcall_clnt_call/5-scalability.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_stdcall_clnt_call/6-dataint.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_stdcall_clnt_call/7-performance.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_stdcall_clnt_call/8-complex.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_stdcall_clnt_control/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_stdcall_clnt_control/6-dataint.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_stdcall_clnt_freeres/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_stdcall_clnt_geterr/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_stdcall_svc_freeargs/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_stdcall_svc_freeargs/svc.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_stdcall_svc_getargs/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_stdcall_svc_getargs/6-dataint.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_stdcall_svc_getargs/client.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_stdcall_svc_getcaller/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_stdcall_svc_sendreply/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/rpc/rpc_stdcall_svc_sendreply/client.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_addrmanagmt_rpcb_getaddr/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_addrmanagmt_rpcb_getaddr/3-limits.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_addrmanagmt_rpcb_getmaps/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_auth_authdes_create/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_auth_authdes_seccreate/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_auth_authnone_create/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_auth_authsys_create/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_auth_authsys_create_default/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_bottomlevel_clnt_call/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_bottomlevel_clnt_call/2-stress.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_bottomlevel_clnt_call/4-mt.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_bottomlevel_clnt_call/5-scalability.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_bottomlevel_clnt_call/6-dataint.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_bottomlevel_clnt_call/7-performance.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_bottomlevel_clnt_call/8-complex.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_bottomlevel_clnt_dg_create/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_bottomlevel_clnt_dg_create/3-limits.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_bottomlevel_clnt_vc_create/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_bottomlevel_clnt_vc_create/3-limits.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_bottomlevel_svc_dg_create/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_bottomlevel_svc_dg_create/3-limits.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_bottomlevel_svc_vc_create/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_bottomlevel_svc_vc_create/3-limits.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_err_clnt_pcreateerror/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_err_clnt_perrno/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_err_clnt_perrno/8-complex.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_err_clnt_perror/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_err_clnt_perror/8-complex.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_err_svcerr_noproc/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_err_svcerr_noprog/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_err_svcerr_progvers/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_err_svcerr_systemerr/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_err_svcerr_weakauth/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_expertlevel_clnt_call/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_expertlevel_clnt_call/2-stress.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_expertlevel_clnt_call/4-mt.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_expertlevel_clnt_call/5-scalability.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_expertlevel_clnt_call/6-dataint.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_expertlevel_clnt_call/7-performance.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_expertlevel_clnt_call/8-complex.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_expertlevel_clnt_tli_create/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_expertlevel_clnt_tli_create/3-limits.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_expertlevel_rpcb_rmtcall/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_expertlevel_rpcb_rmtcall/2-stress.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_expertlevel_rpcb_rmtcall/4-mt.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_expertlevel_rpcb_rmtcall/5-scalability.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_expertlevel_rpcb_rmtcall/6-dataint.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_expertlevel_rpcb_rmtcall/7-performance.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_expertlevel_rpcb_rmtcall/8-complex.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_expertlevel_rpcb_set/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_expertlevel_rpcb_unset/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_expertlevel_svc_reg/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_expertlevel_svc_reg/2-stress.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_expertlevel_svc_reg/4-mt.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_expertlevel_svc_tli_create/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_expertlevel_svc_tli_create/3-limits.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_expertlevel_svc_unreg/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_expertlevel_svc_unreg/2-stress.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_expertlevel_svc_unreg/4-mt.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_interlevel_clnt_call/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_interlevel_clnt_call/2-stress.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_interlevel_clnt_call/4-mt.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_interlevel_clnt_call/5-scalability.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_interlevel_clnt_call/6-dataint.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_interlevel_clnt_call/7-performance.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_interlevel_clnt_call/8-complex.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_interlevel_clnt_control/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_interlevel_clnt_control/3-limits.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_interlevel_clnt_tp_create/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_interlevel_clnt_tp_create_timed/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_interlevel_clnt_tp_create_timed/3-limits.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_simple_rpc_broadcast/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_simple_rpc_broadcast/2-stress.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_simple_rpc_broadcast/4-mt.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_simple_rpc_broadcast/5-scalability.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_simple_rpc_broadcast/6-dataint.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_simple_rpc_broadcast/7-performance.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_simple_rpc_broadcast/8-complex.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_simple_rpc_broadcast_exp/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_simple_rpc_broadcast_exp/2-stress.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_simple_rpc_broadcast_exp/3-limits.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_simple_rpc_broadcast_exp/4-mt.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_simple_rpc_broadcast_exp/5-scalability.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_simple_rpc_broadcast_exp/6-dataint.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_simple_rpc_broadcast_exp/7-performance.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_simple_rpc_broadcast_exp/8-complex.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_simple_rpc_call/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_simple_rpc_call/2-stress.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_simple_rpc_call/4-mt.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_simple_rpc_call/5-scalability.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_simple_rpc_call/6-dataint.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_simple_rpc_call/7-performance.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_simple_rpc_call/8-complex.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_simple_rpc_reg/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_simple_rpc_reg/2-stress.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_simple_rpc_reg/4-mt.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_toplevel_clnt_call/1-basic.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_toplevel_clnt_call/2-stress.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_toplevel_clnt_call/4-mt.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_toplevel_clnt_call/5-scalability.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests_pack/rpc_suite/tirpc/tirpc_toplevel_clnt_call/6-dataint.c
ltp/testcases/network/rpc/rpc-tirpc-full-test-suite/tests