<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>change log for rtems (2010-07-27)</title>
</head>
<body text='#000000' bgcolor='#ffffff'>
<a name='cs1'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
<font color='#bb2222'><strong>joel</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2010-07-27 Joel Sherrill <joel.sherrill@oarcorp.com>
* libfs/src/imfs/imfs_load_tar.c, libmisc/untar/untar.c: Now supports
both pax and GNU tar created tar files.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/ChangeLog.diff?r1=text&tr1=1.2530&r2=text&tr2=1.2531&diff_format=h">M</a></td><td width='1%'>1.2531</td><td width='100%'>cpukit/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/libfs/src/imfs/imfs_load_tar.c.diff?r1=text&tr1=1.18&r2=text&tr2=1.19&diff_format=h">M</a></td><td width='1%'>1.19</td><td width='100%'>cpukit/libfs/src/imfs/imfs_load_tar.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/cpukit/libmisc/untar/untar.c.diff?r1=text&tr1=1.12&r2=text&tr2=1.13&diff_format=h">M</a></td><td width='1%'>1.13</td><td width='100%'>cpukit/libmisc/untar/untar.c</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/cpukit/ChangeLog:1.2530 rtems/cpukit/ChangeLog:1.2531
--- rtems/cpukit/ChangeLog:1.2530 Tue Jul 27 12:37:54 2010
+++ rtems/cpukit/ChangeLog Tue Jul 27 13:11:42 2010
</font><font color='#997700'>@@ -1,3 +1,8 @@
</font><font color='#000088'>+2010-07-27 Joel Sherrill <joel.sherrill@oarcorp.com>
+
+ * libfs/src/imfs/imfs_load_tar.c, libmisc/untar/untar.c: Now supports
+ both pax and GNU tar created tar files.
+
</font> 2010-07-27 Joel Sherrill <joel.sherrilL@OARcorp.com>
* posix/src/sigsuspend.c: Do not assert unless RTEMS_DEBUG is defined.
<font color='#006600'>diff -u rtems/cpukit/libfs/src/imfs/imfs_load_tar.c:1.18 rtems/cpukit/libfs/src/imfs/imfs_load_tar.c:1.19
--- rtems/cpukit/libfs/src/imfs/imfs_load_tar.c:1.18 Mon Jul 26 16:29:24 2010
+++ rtems/cpukit/libfs/src/imfs/imfs_load_tar.c Tue Jul 27 13:11:42 2010
</font><font color='#997700'>@@ -46,7 +46,8 @@
</font> * 148 8 bytes Header checksum (in octal ascii)
* 156 1 bytes Link flag
* 157 100 bytes Linkname ('\0' terminated, 99 maxmum length)
<font color='#880000'>- * 257 8 bytes Magic ("ustar \0")
</font><font color='#000088'>+ * 257 8 bytes Magic PAX ("ustar\0" + 2 bytes padding)
+ * 257 8 bytes Magic GNU tar ("ustar \0")
</font> * 265 32 bytes User name ('\0' terminated, 31 maxmum length)
* 297 32 bytes Group name ('\0' terminated, 31 maxmum length)
* 329 8 bytes Major device ID (in octal ascii)
<font color='#997700'>@@ -124,7 +125,7 @@
</font> */
hdr_ptr = (char *) &tar_image[offset];
offset += 512;
<font color='#880000'>- if (strncmp(&hdr_ptr[257], "ustar ", 7))
</font><font color='#000088'>+ if (strncmp(&hdr_ptr[257], "ustar", 5))
</font> break;
strncpy(filename, hdr_ptr, MAX_NAME_FIELD_SIZE);
<font color='#006600'>diff -u rtems/cpukit/libmisc/untar/untar.c:1.12 rtems/cpukit/libmisc/untar/untar.c:1.13
--- rtems/cpukit/libmisc/untar/untar.c:1.12 Wed Sep 5 18:46:36 2007
+++ rtems/cpukit/libmisc/untar/untar.c Tue Jul 27 13:11:42 2010
</font><font color='#997700'>@@ -39,7 +39,8 @@
</font> * 148 8 bytes Header checksum (in octal ascii)
* 156 1 bytes Link flag
* 157 100 bytes Linkname ('\0' terminated, 99 maxmum length)
<font color='#880000'>- * 257 8 bytes Magic ("ustar \0")
</font><font color='#000088'>+ * 257 8 bytes Magic PAX ("ustar\0" + 2 bytes padding)
+ * 257 8 bytes Magic GNU tar ("ustar \0")
</font> * 265 32 bytes User name ('\0' terminated, 31 maxmum length)
* 297 32 bytes Group name ('\0' terminated, 31 maxmum length)
* 329 8 bytes Major device ID (in octal ascii)
<font color='#997700'>@@ -143,7 +144,7 @@
</font> /* Read the header */
bufr = &tar_ptr[ptr];
ptr += 512;
<font color='#880000'>- if (strncmp(&bufr[257], "ustar ", 7))
</font><font color='#000088'>+ if (strncmp(&bufr[257], "ustar", 5))
</font> {
retval = UNTAR_SUCCESSFUL;
break;
<font color='#997700'>@@ -283,7 +284,7 @@
</font> break;
}
<font color='#880000'>- if (strncmp(&bufr[257], "ustar ", 7))
</font><font color='#000088'>+ if (strncmp(&bufr[257], "ustar", 5))
</font> {
break;
}
</pre>
<p> </p>
<a name='cs2'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
<font color='#bb2222'><strong>joel</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2010-07-27 Joel Sherrill <joel.sherrill@oarcorp.com>
PR 1532/testing
* Makefile.am, configure.ac: Add initial tests for untar capabilities.
* tar01/.cvsignore, tar01/Makefile.am, tar01/init.c, tar01/tar01.doc,
tar01/tar01.scn, tar02/.cvsignore, tar02/Makefile.am, tar02/init.c,
tar02/tar02.doc, tar02/tar02.scn: New files.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/libtests/ChangeLog.diff?r1=text&tr1=1.217&r2=text&tr2=1.218&diff_format=h">M</a></td><td width='1%'>1.218</td><td width='100%'>testsuites/libtests/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/libtests/Makefile.am.diff?r1=text&tr1=1.44&r2=text&tr2=1.45&diff_format=h">M</a></td><td width='1%'>1.45</td><td width='100%'>testsuites/libtests/Makefile.am</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/libtests/configure.ac.diff?r1=text&tr1=1.51&r2=text&tr2=1.52&diff_format=h">M</a></td><td width='1%'>1.52</td><td width='100%'>testsuites/libtests/configure.ac</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/libtests/tar01/.cvsignore?rev=1.1&content-type=text/vnd.viewcvs-markup">A</a></td><td width='1%'><font color="#000088">1.1</font></td><td width='100%'><font color="#000088">testsuites/libtests/tar01/.cvsignore</font></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/libtests/tar01/Makefile.am?rev=1.1&content-type=text/vnd.viewcvs-markup">A</a></td><td width='1%'><font color="#000088">1.1</font></td><td width='100%'><font color="#000088">testsuites/libtests/tar01/Makefile.am</font></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/libtests/tar01/init.c?rev=1.1&content-type=text/vnd.viewcvs-markup">A</a></td><td width='1%'><font color="#000088">1.1</font></td><td width='100%'><font color="#000088">testsuites/libtests/tar01/init.c</font></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/libtests/tar01/tar01.doc?rev=1.1&content-type=text/vnd.viewcvs-markup">A</a></td><td width='1%'><font color="#000088">1.1</font></td><td width='100%'><font color="#000088">testsuites/libtests/tar01/tar01.doc</font></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/libtests/tar01/tar01.scn?rev=1.1&content-type=text/vnd.viewcvs-markup">A</a></td><td width='1%'><font color="#000088">1.1</font></td><td width='100%'><font color="#000088">testsuites/libtests/tar01/tar01.scn</font></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/libtests/tar02/.cvsignore?rev=1.1&content-type=text/vnd.viewcvs-markup">A</a></td><td width='1%'><font color="#000088">1.1</font></td><td width='100%'><font color="#000088">testsuites/libtests/tar02/.cvsignore</font></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/libtests/tar02/Makefile.am?rev=1.1&content-type=text/vnd.viewcvs-markup">A</a></td><td width='1%'><font color="#000088">1.1</font></td><td width='100%'><font color="#000088">testsuites/libtests/tar02/Makefile.am</font></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/libtests/tar02/init.c?rev=1.1&content-type=text/vnd.viewcvs-markup">A</a></td><td width='1%'><font color="#000088">1.1</font></td><td width='100%'><font color="#000088">testsuites/libtests/tar02/init.c</font></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/libtests/tar02/tar02.doc?rev=1.1&content-type=text/vnd.viewcvs-markup">A</a></td><td width='1%'><font color="#000088">1.1</font></td><td width='100%'><font color="#000088">testsuites/libtests/tar02/tar02.doc</font></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/libtests/tar02/tar02.scn?rev=1.1&content-type=text/vnd.viewcvs-markup">A</a></td><td width='1%'><font color="#000088">1.1</font></td><td width='100%'><font color="#000088">testsuites/libtests/tar02/tar02.scn</font></td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/testsuites/libtests/ChangeLog:1.217 rtems/testsuites/libtests/ChangeLog:1.218
--- rtems/testsuites/libtests/ChangeLog:1.217 Tue Jul 27 09:45:09 2010
+++ rtems/testsuites/libtests/ChangeLog Tue Jul 27 13:16:49 2010
</font><font color='#997700'>@@ -1,3 +1,11 @@
</font><font color='#000088'>+2010-07-27 Joel Sherrill <joel.sherrill@oarcorp.com>
+
+ PR 1532/testing
+ * Makefile.am, configure.ac: Add initial tests for untar capabilities.
+ * tar01/.cvsignore, tar01/Makefile.am, tar01/init.c, tar01/tar01.doc,
+ tar01/tar01.scn, tar02/.cvsignore, tar02/Makefile.am, tar02/init.c,
+ tar02/tar02.doc, tar02/tar02.scn: New files.
+
</font> 2010-07-27 Bharath Suri <bharath.s.jois@gmail.com>
PR 1631/testing
<font color='#006600'>diff -u rtems/testsuites/libtests/Makefile.am:1.44 rtems/testsuites/libtests/Makefile.am:1.45
--- rtems/testsuites/libtests/Makefile.am:1.44 Tue Jul 27 09:45:09 2010
+++ rtems/testsuites/libtests/Makefile.am Tue Jul 27 13:16:49 2010
</font><font color='#997700'>@@ -14,7 +14,7 @@
</font> termios06 termios07 termios08 \
rtems++ tztest block01 block02 block03 block04 block05 block06 block07 \
block08 block09 block10 stringto01 \
<font color='#880000'>- tar03
</font><font color='#000088'>+ tar01 tar02 tar03
</font>
include $(top_srcdir)/../automake/subdirs.am
include $(top_srcdir)/../automake/local.am
<font color='#006600'>diff -u rtems/testsuites/libtests/configure.ac:1.51 rtems/testsuites/libtests/configure.ac:1.52
--- rtems/testsuites/libtests/configure.ac:1.51 Tue Jul 27 09:45:09 2010
+++ rtems/testsuites/libtests/configure.ac Tue Jul 27 13:16:49 2010
</font><font color='#997700'>@@ -66,6 +66,8 @@
</font> stackchk/Makefile
stackchk01/Makefile
stringto01/Makefile
<font color='#000088'>+tar01/Makefile
+tar02/Makefile
</font> tar03/Makefile
termios/Makefile
termios01/Makefile
<font color='#006600'>diff -u /dev/null rtems/testsuites/libtests/tar01/.cvsignore:1.1
--- /dev/null Tue Jul 27 14:10:19 2010
+++ rtems/testsuites/libtests/tar01/.cvsignore Tue Jul 27 13:16:49 2010
</font><font color='#997700'>@@ -0,0 +1,2 @@
</font><font color='#000088'>+Makefile
+Makefile.in
</font>
<font color='#006600'>diff -u /dev/null rtems/testsuites/libtests/tar01/Makefile.am:1.1
--- /dev/null Tue Jul 27 14:10:19 2010
+++ rtems/testsuites/libtests/tar01/Makefile.am Tue Jul 27 13:16:49 2010
</font><font color='#997700'>@@ -0,0 +1,54 @@
</font><font color='#000088'>+##
+## $Id$
+##
+
+MANAGERS = all
+
+rtems_tests_PROGRAMS = tar01
+tar01_SOURCES = init.c ../../psxtests/psxfile01/test_cat.c \
+ initial_filesystem_tar.c
+
+dist_rtems_tests_DATA = tar01.scn
+
+include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
+include $(top_srcdir)/../automake/compile.am
+include $(top_srcdir)/../automake/leaf.am
+
+AM_CPPFLAGS += -I$(top_srcdir)/include
+AM_CPPFLAGS += -I$(top_srcdir)/../support/include
+AM_CPPFLAGS += -I$(top_srcdir)/../psxtests/include
+
+LINK_OBJS = $(tar01_OBJECTS) $(tar01_LDADD)
+LINK_LIBS = $(tar01_LDLIBS)
+
+tar01$(EXEEXT): stamp-filesystem stamp-initial-fs-source $(tar01_OBJECTS) \
+ $(tar01_DEPENDENCIES)
+ @rm -f tar01$(EXEEXT)
+ $(make-exe)
+
+init.o: init.c stamp-initial-fs-source
+
+initial_filesystem_tar.c: stamp-initial-fs-source
+
+initial_filesystem_tar.h: stamp-initial-fs-source
+
+stamp-initial-fs-source: initial_filesystem.tar
+ $(BIN2C) initial_filesystem.tar initial_filesystem_tar
+ touch stamp-initial-fs-source
+
+stamp-filesystem:
+ rm -rf initial_fs
+ mkdir initial_fs
+ mkdir initial_fs/home
+ (echo "This is a test of loading an RTEMS filesystem from an" ; \
+ echo "initial tar image.") >initial_fs/home/test_file
+ cd initial_fs && ln -s home/test_file symlink
+ touch stamp-filesystem
+
+initial_filesystem.tar: stamp-filesystem
+ cd initial_fs ; pax -w -f ../initial_filesystem.tar home symlink
+
+CLEANFILES = initial_fs initial_filesystem* stamp-filesystem \
+ stamp-initial-fs-source
+
+include $(top_srcdir)/../automake/local.am
</font>
<font color='#006600'>diff -u /dev/null rtems/testsuites/libtests/tar01/init.c:1.1
--- /dev/null Tue Jul 27 14:10:19 2010
+++ rtems/testsuites/libtests/tar01/init.c Tue Jul 27 13:16:49 2010
</font><font color='#997700'>@@ -0,0 +1,122 @@
</font><font color='#000088'>+/*
+ * COPYRIGHT (c) 1989-2010.
+ * On-Line Applications Research Corporation (OAR).
+ *
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ * http://www.rtems.com/license/LICENSE.
+ *
+ * $Id$
+ */
+
+#include <bsp.h> /* for device driver prototypes */
+#include "tmacros.h"
+#include <rtems/untar.h>
+#include <rtems/error.h>
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <unistd.h>
+
+#include "initial_filesystem_tar.h"
+
+#define TARFILE_START initial_filesystem_tar
+#define TARFILE_SIZE initial_filesystem_tar_size
+
+void test_cat(
+ char *file,
+ int offset_arg,
+ int length
+);
+
+void test_untar_from_memory(void)
+{
+ rtems_status_code sc;
+
+ printf("Untaring from memory - ");
+ sc = Untar_FromMemory((void *)TARFILE_START, TARFILE_SIZE);
+ if (sc != RTEMS_SUCCESSFUL) {
+ printf ("error: untar failed: %s\n", rtems_status_text (sc));
+ exit(1);
+ }
+ printf ("successful\n");
+
+ /******************/
+ printf( "========= /home/test_file =========\n" );
+ test_cat( "/home/test_file", 0, 0 );
+<span style="background-color: #FF0000"> </span>
+ /******************/
+ printf( "========= /symlink =========\n" );
+ test_cat( "/symlink", 0, 0 );
+
+}
+
+void test_untar_from_file(void)
+{
+ rtems_status_code sc;
+ int fd;
+
+ puts( "Copy tar image to test.tar" );
+ /* Copy tar image from object to file in IMFS */
+ fd = open( "/test.tar", O_CREAT|O_TRUNC|O_WRONLY, 0777 );
+ rtems_test_assert( fd != -1 );
+
+ sc = write( fd, TARFILE_START, TARFILE_SIZE );
+ rtems_test_assert( sc == TARFILE_SIZE );
+ close( fd );
+
+ /* make a directory to untar it into */
+ sc = mkdir( "/dest", 0777 );
+ rtems_test_assert( !sc );
+
+ sc = chdir( "/dest" );
+ rtems_test_assert( !sc );
+
+ /* Untar it */
+ sc = Untar_FromFile( "/test.tar" );
+ printf("Untaring from file - ");
+ if (sc != RTEMS_SUCCESSFUL) {
+ printf ("error: untar failed: %s\n", rtems_status_text (sc));
+ exit(1);
+ }
+ printf ("successful\n");
+
+ /******************/
+ printf( "========= /dest/home/test_file =========\n" );
+ test_cat( "/dest/home/test_file", 0, 0 );
+<span style="background-color: #FF0000"> </span>
+ /******************/
+ printf( "========= /dest/symlink =========\n" );
+ test_cat( "/dest/symlink", 0, 0 );
+}
+
+rtems_task Init(
+ rtems_task_argument ignored
+)
+{
+ printf( "\n\n*** TAR01 TEST ***\n" );
+
+ test_untar_from_memory();
+ puts( "" );
+ test_untar_from_file();
+
+ printf( "*** END OF TAR01 TEST ***\n" );
+ exit( 0 );
+}
+
+
+/* NOTICE: the clock driver is explicitly disabled */
+#define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER
+#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
+
+#define CONFIGURE_MAXIMUM_TASKS 1
+#define CONFIGURE_USE_IMFS_AS_BASE_FILESYSTEM
+#define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 5
+
+#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
+
+#define CONFIGURE_INIT
+#include <rtems/confdefs.h>
</font>
<font color='#006600'>diff -u /dev/null rtems/testsuites/libtests/tar01/tar01.doc:1.1
--- /dev/null Tue Jul 27 14:10:19 2010
+++ rtems/testsuites/libtests/tar01/tar01.doc Tue Jul 27 13:16:49 2010
</font><font color='#997700'>@@ -0,0 +1,23 @@
</font><font color='#000088'>+#
+# $Id$
+#
+# COPYRIGHT (c) 1989-2010.
+# On-Line Applications Research Corporation (OAR).
+#
+# The license and distribution terms for this file may be
+# found in the file LICENSE in this distribution or at
+# http://www.rtems.com/license/LICENSE.
+#
+
+This file describes the directives and concepts tested by this test set.
+
+test set name: malloc02
+
+directives:
+
+ + Untar_FromMemory
+ + Untar_FromFile
+
+concepts:
+
++ exercise these routines
</font>
<font color='#006600'>diff -u /dev/null rtems/testsuites/libtests/tar01/tar01.scn:1.1
--- /dev/null Tue Jul 27 14:10:19 2010
+++ rtems/testsuites/libtests/tar01/tar01.scn Tue Jul 27 13:16:49 2010
</font><font color='#997700'>@@ -0,0 +1,22 @@
</font><font color='#000088'>+*** TAR01 TEST ***
+Untaring from memory - successful
+========= /home/test_file =========
+(0)This is a test of loading an RTEMS filesystem from an
+initial tar image.
+
+========= /symlink =========
+(0)This is a test of loading an RTEMS filesystem from an
+initial tar image.
+
+
+Copy tar image to test.tar
+Untaring from file - successful
+========= /dest/home/test_file =========
+(0)This is a test of loading an RTEMS filesystem from an
+initial tar image.
+
+========= /dest/symlink =========
+(0)This is a test of loading an RTEMS filesystem from an
+initial tar image.
+
+*** END OF TAR01 TEST ***
</font>
<font color='#006600'>diff -u /dev/null rtems/testsuites/libtests/tar02/.cvsignore:1.1
--- /dev/null Tue Jul 27 14:10:19 2010
+++ rtems/testsuites/libtests/tar02/.cvsignore Tue Jul 27 13:16:50 2010
</font><font color='#997700'>@@ -0,0 +1,2 @@
</font><font color='#000088'>+Makefile
+Makefile.in
</font>
<font color='#006600'>diff -u /dev/null rtems/testsuites/libtests/tar02/Makefile.am:1.1
--- /dev/null Tue Jul 27 14:10:19 2010
+++ rtems/testsuites/libtests/tar02/Makefile.am Tue Jul 27 13:16:50 2010
</font><font color='#997700'>@@ -0,0 +1,52 @@
</font><font color='#000088'>+##
+## $Id$
+##
+
+rtems_tests_PROGRAMS = tar02
+tar02_SOURCES = init.c ../../psxtests/psxfile01/test_cat.c \
+ initial_filesystem_tar.c
+
+dist_rtems_tests_DATA = tar02.scn
+
+include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
+include $(top_srcdir)/../automake/compile.am
+include $(top_srcdir)/../automake/leaf.am
+
+AM_CPPFLAGS += -I$(top_srcdir)/include
+AM_CPPFLAGS += -I$(top_srcdir)/../support/include
+AM_CPPFLAGS += -I$(top_srcdir)/../psxtests/include
+
+LINK_OBJS = $(tar02_OBJECTS) $(tar02_LDADD)
+LINK_LIBS = $(tar02_LDLIBS)
+
+tar02$(EXEEXT): stamp-filesystem stamp-initial-fs-source $(tar02_OBJECTS) \
+ $(tar02_DEPENDENCIES)
+ @rm -f tar02$(EXEEXT)
+ $(make-exe)
+
+init.o: init.c stamp-initial-fs-source
+
+initial_filesystem_tar.c: stamp-initial-fs-source
+
+initial_filesystem_tar.h: stamp-initial-fs-source
+
+stamp-initial-fs-source: initial_filesystem.tar
+ $(BIN2C) initial_filesystem.tar initial_filesystem_tar
+ touch stamp-initial-fs-source
+
+stamp-filesystem:
+ rm -rf initial_fs
+ mkdir initial_fs
+ mkdir initial_fs/home
+ (echo "This is a test of loading an RTEMS filesystem from an" ; \
+ echo "initial tar image.") >initial_fs/home/test_file
+ cd initial_fs && ln -s home/test_file symlink
+ touch stamp-filesystem
+
+initial_filesystem.tar: stamp-filesystem
+ cd initial_fs ; pax -w -f ../initial_filesystem.tar home symlink
+
+CLEANFILES = initial_filesystem* stamp-filesystem \
+ stamp-initial-fs-source
+
+include $(top_srcdir)/../automake/local.am
</font>
<font color='#006600'>diff -u /dev/null rtems/testsuites/libtests/tar02/init.c:1.1
--- /dev/null Tue Jul 27 14:10:19 2010
+++ rtems/testsuites/libtests/tar02/init.c Tue Jul 27 13:16:50 2010
</font><font color='#997700'>@@ -0,0 +1,83 @@
</font><font color='#000088'>+/*
+ * COPYRIGHT (c) 1989-2010.
+ * On-Line Applications Research Corporation (OAR).
+ *
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ * http://www.rtems.com/license/LICENSE.
+ *
+ * $Id$
+ */
+
+#include <bsp.h> /* for device driver prototypes */
+#include "tmacros.h"
+#include <rtems/imfs.h>
+#include <rtems/error.h>
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <unistd.h>
+
+#include "initial_filesystem_tar.h"
+
+#define TARFILE_START initial_filesystem_tar
+#define TARFILE_SIZE initial_filesystem_tar_size
+
+void test_cat(
+ char *file,
+ int offset_arg,
+ int length
+);
+
+void test_tarfs_load(void)
+{
+ rtems_status_code sc;
+
+ printf("Loading tarfs image ... ");
+ sc = rtems_tarfs_load("/",(void *)TARFILE_START, TARFILE_SIZE);
+ if (sc != RTEMS_SUCCESSFUL) {
+ printf ("error: untar failed: %s\n", rtems_status_text (sc));
+ exit(1);
+ }
+ printf ("successful\n");
+
+ /******************/
+ printf( "========= /home/test_file =========\n" );
+ test_cat( "/home/test_file", 0, 0 );
+<span style="background-color: #FF0000"> </span>
+ /******************/
+ puts("*** Skipping symlink -- NOT CURRENTLY SUPPORTED ***" );
+#if 0
+ printf( "========= /symlink =========\n" );
+ test_cat( "/symlink", 0, 0 );
+#endif
+}
+
+rtems_task Init(
+ rtems_task_argument ignored
+)
+{
+ printf( "\n\n*** TAR02 TEST ***\n" );
+
+ test_tarfs_load();
+
+ printf( "*** END OF TAR02 TEST ***\n" );
+ exit( 0 );
+}
+
+
+/* NOTICE: the clock driver is explicitly disabled */
+#define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER
+#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
+
+#define CONFIGURE_MAXIMUM_TASKS 1
+#define CONFIGURE_USE_IMFS_AS_BASE_FILESYSTEM
+#define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 5
+
+#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
+
+#define CONFIGURE_INIT
+#include <rtems/confdefs.h>
</font>
<font color='#006600'>diff -u /dev/null rtems/testsuites/libtests/tar02/tar02.doc:1.1
--- /dev/null Tue Jul 27 14:10:19 2010
+++ rtems/testsuites/libtests/tar02/tar02.doc Tue Jul 27 13:16:50 2010
</font><font color='#997700'>@@ -0,0 +1,22 @@
</font><font color='#000088'>+#
+# $Id$
+#
+# COPYRIGHT (c) 1989-2010.
+# On-Line Applications Research Corporation (OAR).
+#
+# The license and distribution terms for this file may be
+# found in the file LICENSE in this distribution or at
+# http://www.rtems.com/license/LICENSE.
+#
+
+This file describes the directives and concepts tested by this test set.
+
+test set name: tar02
+
+directives:
+
+ rtems_tarfs_load
+
+concepts:
+
++ exercise methods listed above
</font>
<font color='#006600'>diff -u /dev/null rtems/testsuites/libtests/tar02/tar02.scn:1.1
--- /dev/null Tue Jul 27 14:10:19 2010
+++ rtems/testsuites/libtests/tar02/tar02.scn Tue Jul 27 13:16:50 2010
</font><font color='#997700'>@@ -0,0 +1,8 @@
</font><font color='#000088'>+*** TAR02 TEST ***
+Loading tarfs image ... successful
+========= /home/test_file =========
+(0)This is a test of loading an RTEMS filesystem from an
+initial tar image.
+
+*** Skipping symlink -- NOT CURRENTLY SUPPORTED ***
+*** END OF TAR02 TEST ***
</font></pre>
<p> </p>
<a name='cs3'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
<font color='#bb2222'><strong>joel</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2010-07-27 Joel Sherrill <joel.sherrill@oarcorp.com>
PR 1532/testing
* aclocal/project-root.m4: Add initial tests for untar capabilities.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/ChangeLog.diff?r1=text&tr1=1.382&r2=text&tr2=1.383&diff_format=h">M</a></td><td width='1%'>1.383</td><td width='100%'>ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/aclocal/project-root.m4.diff?r1=text&tr1=1.7&r2=text&tr2=1.8&diff_format=h">M</a></td><td width='1%'>1.8</td><td width='100%'>aclocal/project-root.m4</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/ChangeLog.diff?r1=text&tr1=1.169&r2=text&tr2=1.170&diff_format=h">M</a></td><td width='1%'>1.170</td><td width='100%'>testsuites/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/aclocal/project-root.m4.diff?r1=text&tr1=1.3&r2=text&tr2=1.4&diff_format=h">M</a></td><td width='1%'>1.4</td><td width='100%'>testsuites/aclocal/project-root.m4</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/ChangeLog:1.382 rtems/ChangeLog:1.383
--- rtems/ChangeLog:1.382 Wed Jun 23 08:32:58 2010
+++ rtems/ChangeLog Tue Jul 27 13:17:46 2010
</font><font color='#997700'>@@ -1,3 +1,8 @@
</font><font color='#000088'>+2010-07-27 Joel Sherrill <joel.sherrill@oarcorp.com>
+
+ PR 1532/testing
+ * aclocal/project-root.m4: Add initial tests for untar capabilities.
+
</font> 2010-06-23 Ralf Corsépius <ralf.corsepius@rtems.org>
* configure.ac: autoconf >= 2.65, automake >= 1.11.
<font color='#006600'>diff -u rtems/aclocal/project-root.m4:1.7 rtems/aclocal/project-root.m4:1.8
--- rtems/aclocal/project-root.m4:1.7 Tue Nov 25 23:32:03 2003
+++ rtems/aclocal/project-root.m4 Tue Jul 27 13:17:46 2010
</font><font color='#997700'>@@ -18,5 +18,8 @@
</font>
PACKHEX="\$(PROJECT_TOPdir)/tools/build/packhex"
AC_SUBST(PACKHEX)
<font color='#000088'>+
+BIN2C="\$(PROJECT_TOPdir)/tools/build/rtems-bin2c"
+AC_SUBST(BIN2C)
</font> ])
<font color='#006600'>diff -u rtems/testsuites/ChangeLog:1.169 rtems/testsuites/ChangeLog:1.170
--- rtems/testsuites/ChangeLog:1.169 Wed Jul 14 11:03:57 2010
+++ rtems/testsuites/ChangeLog Tue Jul 27 13:17:37 2010
</font><font color='#997700'>@@ -1,3 +1,8 @@
</font><font color='#000088'>+2010-07-27 Joel Sherrill <joel.sherrill@oarcorp.com>
+
+ PR 1532/testing
+ * aclocal/project-root.m4: Add initial tests for untar capabilities.
+
</font> 2010-07-14 Joel Sherrill <joel.sherrill@oarcorp.com>
* support/include/test_support.h, support/src/test_support.c: Add
<font color='#006600'>diff -u rtems/testsuites/aclocal/project-root.m4:1.3 rtems/testsuites/aclocal/project-root.m4:1.4
--- rtems/testsuites/aclocal/project-root.m4:1.3 Wed Feb 18 23:40:02 2004
+++ rtems/testsuites/aclocal/project-root.m4 Tue Jul 27 13:17:37 2010
</font><font color='#997700'>@@ -8,5 +8,8 @@
</font>
PACKHEX="\$(PROJECT_TOPdir)/tools/build/packhex"
AC_SUBST(PACKHEX)
<font color='#000088'>+
+BIN2C="\$(PROJECT_TOPdir)/tools/build/rtems-bin2c"
+AC_SUBST(BIN2C)
</font> ])
</pre>
<p> </p>
<a name='cs4'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
<font color='#bb2222'><strong>joel</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2010-07-27 Joel Sherrill <joel.sherrill@oarcorp.com>
PR 1532/testing
* host.cfg.in: Add initial tests for untar capabilities.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/make/ChangeLog.diff?r1=text&tr1=1.343&r2=text&tr2=1.344&diff_format=h">M</a></td><td width='1%'>1.344</td><td width='100%'>make/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/make/host.cfg.in.diff?r1=text&tr1=1.14&r2=text&tr2=1.15&diff_format=h">M</a></td><td width='1%'>1.15</td><td width='100%'>make/host.cfg.in</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/make/ChangeLog:1.343 rtems/make/ChangeLog:1.344
--- rtems/make/ChangeLog:1.343 Fri Oct 16 09:28:53 2009
+++ rtems/make/ChangeLog Tue Jul 27 13:18:11 2010
</font><font color='#997700'>@@ -1,3 +1,8 @@
</font><font color='#000088'>+2010-07-27 Joel Sherrill <joel.sherrill@oarcorp.com>
+
+ PR 1532/testing
+ * host.cfg.in: Add initial tests for untar capabilities.
+
</font> 2009-10-16 Ralf Corsépius <ralf.corsepius@rtems.org>
* custom/bare.cfg: Remove (Abandoned).
<font color='#006600'>diff -u rtems/make/host.cfg.in:1.14 rtems/make/host.cfg.in:1.15
--- rtems/make/host.cfg.in:1.14 Mon Feb 5 12:21:18 2001
+++ rtems/make/host.cfg.in Tue Jul 27 13:18:16 2010
</font><font color='#997700'>@@ -31,6 +31,10 @@
</font> PACKHEX=$(PROJECT_BIN)/packhex
endif
<font color='#000088'>+ifndef BIN2C
+BIN2C=$(PROJECT_BIN)/rtems-bin2c
+endif
+
</font> ifndef INSTALL_CHANGE
INSTALL_CHANGE=$(PROJECT_BIN)/install-if-change
endif
</pre>
<p> </p>
<a name='cs5'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
<font color='#bb2222'><strong>joel</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2010-07-27 Joel Sherrill <joel.sherrill@oarcorp.com>
PR 1532/testing
* host.cfg.in: Add initial tests for untar capabilities. This required
BIN2C.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/make/ChangeLog.diff?r1=text&tr1=1.71&r2=text&tr2=1.72&diff_format=h">M</a></td><td width='1%'>1.72</td><td width='100%'>c/src/make/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/make/host.cfg.in.diff?r1=text&tr1=1.14&r2=text&tr2=1.15&diff_format=h">M</a></td><td width='1%'>1.15</td><td width='100%'>c/src/make/host.cfg.in</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/c/src/make/ChangeLog:1.71 rtems/c/src/make/ChangeLog:1.72
--- rtems/c/src/make/ChangeLog:1.71 Thu Jun 17 11:30:05 2010
+++ rtems/c/src/make/ChangeLog Tue Jul 27 13:18:29 2010
</font><font color='#997700'>@@ -1,3 +1,9 @@
</font><font color='#000088'>+2010-07-27 Joel Sherrill <joel.sherrill@oarcorp.com>
+
+ PR 1532/testing
+ * host.cfg.in: Add initial tests for untar capabilities. This required
+ BIN2C.
+
</font> 2010-06-17 Ralf Corsépius <ralf.corsepius@rtems.org>
* Makefile.inc.in, bsp.cfg.in, configure.ac, target.cfg.in:
<font color='#006600'>diff -u rtems/c/src/make/host.cfg.in:1.14 rtems/c/src/make/host.cfg.in:1.15
--- rtems/c/src/make/host.cfg.in:1.14 Mon Feb 5 12:21:18 2001
+++ rtems/c/src/make/host.cfg.in Tue Jul 27 13:18:29 2010
</font><font color='#997700'>@@ -31,6 +31,10 @@
</font> PACKHEX=$(PROJECT_BIN)/packhex
endif
<font color='#000088'>+ifndef BIN2C
+BIN2C=$(PROJECT_BIN)/rtems-bin2c
+endif
+
</font> ifndef INSTALL_CHANGE
INSTALL_CHANGE=$(PROJECT_BIN)/install-if-change
endif
</pre>
<p> </p>
<a name='cs6'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
<font color='#bb2222'><strong>joel</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2010-07-27 Joel Sherrill <joel.sherrilL@OARcorp.com>
* sp11/sp11.scn, sp11/task1.c: Add test case for receiving all events
no wait but the condition is only partially satisfied.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/sptests/ChangeLog.diff?r1=text&tr1=1.406&r2=text&tr2=1.407&diff_format=h">M</a></td><td width='1%'>1.407</td><td width='100%'>testsuites/sptests/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/sptests/sp11/sp11.scn.diff?r1=text&tr1=1.4&r2=text&tr2=1.5&diff_format=h">M</a></td><td width='1%'>1.5</td><td width='100%'>testsuites/sptests/sp11/sp11.scn</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/testsuites/sptests/sp11/task1.c.diff?r1=text&tr1=1.14&r2=text&tr2=1.15&diff_format=h">M</a></td><td width='1%'>1.15</td><td width='100%'>testsuites/sptests/sp11/task1.c</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/testsuites/sptests/ChangeLog:1.406 rtems/testsuites/sptests/ChangeLog:1.407
--- rtems/testsuites/sptests/ChangeLog:1.406 Mon Jul 26 10:38:40 2010
+++ rtems/testsuites/sptests/ChangeLog Tue Jul 27 14:03:00 2010
</font><font color='#997700'>@@ -1,3 +1,8 @@
</font><font color='#000088'>+2010-07-27 Joel Sherrill <joel.sherrilL@OARcorp.com>
+
+ * sp11/sp11.scn, sp11/task1.c: Add test case for receiving all events
+ no wait but the condition is only partially satisfied.
+
</font> 2010-07-26 Joel Sherrill <joel.sherrill@oarcorp.com>
* Makefile.am, configure.ac: Add test to extract a task blocked with
<font color='#006600'>diff -u rtems/testsuites/sptests/sp11/sp11.scn:1.4 rtems/testsuites/sptests/sp11/sp11.scn:1.5
--- rtems/testsuites/sptests/sp11/sp11.scn:1.4 Mon Aug 10 09:49:51 2009
+++ rtems/testsuites/sptests/sp11/sp11.scn Tue Jul 27 14:03:00 2010
</font><font color='#997700'>@@ -71,4 +71,6 @@
</font> TA1 - RTEMS_EVENT_10 received
TA1 - rtems_event_send - sending RTEMS_EVENT_11 to self in 100 ticks
TA1 - rtems_event_send - sending RTEMS_EVENT_11 to self in 200 ticks
<font color='#000088'>+TA1 - rtems_event_send - send RTEMS_EVENT_4 to self
+TA1 - rtems_event_receive - RTEMS_EVENT_4 AND RTEMS_EVENT_5 - UNSATISFIED
</font> *** END OF TEST 11 ***
<font color='#006600'>diff -u rtems/testsuites/sptests/sp11/task1.c:1.14 rtems/testsuites/sptests/sp11/task1.c:1.15
--- rtems/testsuites/sptests/sp11/task1.c:1.14 Tue Oct 27 03:13:58 2009
+++ rtems/testsuites/sptests/sp11/task1.c Tue Jul 27 14:03:01 2010
</font><font color='#997700'>@@ -361,8 +361,10 @@
</font> RTEMS_NO_TIMEOUT,
&eventout
);
<font color='#880000'>- if ( eventout ) printf( "ERROR -0x%08" PRIxrtems_event_set " events received\n", eventout );
- else puts( "TA1 - no events received" );
</font><font color='#000088'>+ if ( eventout )
+ printf( "ERROR -0x%08" PRIxrtems_event_set " events received\n", eventout );
+ else
+ puts( "TA1 - no events received" );
</font> fatal_directive_status(
status,
RTEMS_UNSATISFIED,
<font color='#997700'>@@ -404,6 +406,24 @@
</font> );
directive_failed( status, "rtems_timer_fire_after 200 ticks" );
<font color='#000088'>+ /***** *****/
+ puts( "TA1 - rtems_event_send - send RTEMS_EVENT_4 to self" );
+ status = rtems_event_send( RTEMS_SELF, RTEMS_EVENT_4 );
+ directive_failed( status, "rtems_event_send" );
+
+ eventout = 0;
+ puts(
+ "TA1 - rtems_event_receive - RTEMS_EVENT_4 AND RTEMS_EVENT_5 - UNSATISFIED"
+ );
+ status = rtems_event_receive(
+ RTEMS_EVENT_4 | RTEMS_EVENT_5,
+ RTEMS_NO_WAIT | RTEMS_EVENT_ALL,
+ RTEMS_NO_TIMEOUT,
+ &eventout
+ );
+ fatal_directive_status( status, RTEMS_UNSATISFIED, "rtems_event_receive" );
+ /***** *****/
+
</font> puts( "*** END OF TEST 11 ***" );
rtems_test_exit( 0 );
}
</pre>
<p> </p>
<p>--<br />
<small>Generated by <a href="http://www.codewiz.org/projects/index.html#loginfo">Deluxe Loginfo</a> 2.122 by Bernardo Innocenti <bernie@develer.com></small></p>
</body>
</html>