annotate packages/fs/rom/current/tests/romfs1.c @ 2729:74dbf4c3f2e1 after-copyright-change-20090129

Update all copyright banners to reflect FSF ownership; fix and improve licence text.
author jlarmour
date Thu, 29 Jan 2009 17:47:46 +0000
parents 82f8f3f7c561
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1857
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
1 //==========================================================================
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
2 //
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
3 // romfs1.c
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
4 //
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
5 // Test fileio system
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
6 //
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
7 //==========================================================================
2729
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 2474
diff changeset
8 // ####ECOSGPLCOPYRIGHTBEGIN####
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 2474
diff changeset
9 // -------------------------------------------
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 2474
diff changeset
10 // This file is part of eCos, the Embedded Configurable Operating System.
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 2474
diff changeset
11 // Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004 Free Software Foundation, Inc.
1857
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
12 //
2729
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 2474
diff changeset
13 // eCos is free software; you can redistribute it and/or modify it under
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 2474
diff changeset
14 // the terms of the GNU General Public License as published by the Free
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 2474
diff changeset
15 // Software Foundation; either version 2 or (at your option) any later
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 2474
diff changeset
16 // version.
1857
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
17 //
2729
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 2474
diff changeset
18 // eCos is distributed in the hope that it will be useful, but WITHOUT
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 2474
diff changeset
19 // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 2474
diff changeset
20 // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 2474
diff changeset
21 // for more details.
1857
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
22 //
2729
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 2474
diff changeset
23 // You should have received a copy of the GNU General Public License
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 2474
diff changeset
24 // along with eCos; if not, write to the Free Software Foundation, Inc.,
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 2474
diff changeset
25 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
1857
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
26 //
2729
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 2474
diff changeset
27 // As a special exception, if other files instantiate templates or use
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 2474
diff changeset
28 // macros or inline functions from this file, or you compile this file
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 2474
diff changeset
29 // and link it with other works to produce a work based on this file,
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 2474
diff changeset
30 // this file does not by itself cause the resulting work to be covered by
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 2474
diff changeset
31 // the GNU General Public License. However the source code for this file
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 2474
diff changeset
32 // must still be made available in accordance with section (3) of the GNU
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 2474
diff changeset
33 // General Public License v2.
1857
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
34 //
2729
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 2474
diff changeset
35 // This exception does not invalidate any other reasons why a work based
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 2474
diff changeset
36 // on this file might be covered by the GNU General Public License.
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 2474
diff changeset
37 // -------------------------------------------
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 2474
diff changeset
38 // ####ECOSGPLCOPYRIGHTEND####
1857
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
39 //==========================================================================
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
40 //#####DESCRIPTIONBEGIN####
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
41 //
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
42 // Author(s): nickg
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
43 // Contributors: nickg, richard.panton@3glab.com, jlarmour
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
44 // Date: 2000-05-25
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
45 // Purpose: Test fileio system
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
46 // Description: This test uses the testfs to check out the initialization
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
47 // and basic operation of the fileio system
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
48 //
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
49 //####DESCRIPTIONEND####
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
50 //
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
51 //==========================================================================
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
52
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
53 #include <pkgconf/hal.h>
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
54 #include <pkgconf/io_fileio.h>
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
55 #include <pkgconf/isoinfra.h>
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
56 #include <pkgconf/system.h>
2474
82f8f3f7c561 * cdl/romfs.cdl: Use CYGPKG_FS_ROM_RET_DIRENT_DTYPE to control
asl
parents: 2261
diff changeset
57 #include <pkgconf/fs_rom.h>
1857
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
58
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
59 #include <unistd.h>
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
60 #include <fcntl.h>
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
61 #include <sys/stat.h>
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
62 #include <errno.h>
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
63 #include <string.h>
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
64 #include <dirent.h>
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
65 #include <stdio.h>
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
66
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
67 #include <cyg/fileio/fileio.h>
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
68
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
69 #include <cyg/infra/cyg_type.h>
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
70 #include <cyg/infra/testcase.h>
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
71 #include <cyg/infra/diag.h> // HAL polled output
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
72
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
73 // Test ROMFS data. Two example data files are generated so that
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
74 // the test will work on both big-endian and little-endian targets.
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
75 #if (CYG_BYTEORDER == CYG_LSBFIRST)
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
76 # include <cyg/romfs/testromfs_le.h>
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
77 #else
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
78 # include <cyg/romfs/testromfs_be.h>
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
79 #endif
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
80
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
81 //==========================================================================
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
82
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
83 MTAB_ENTRY( romfs_mte1,
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
84 "/",
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
85 "romfs",
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
86 "",
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
87 (CYG_ADDRWORD) &filedata[0] );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
88
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
89
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
90 //==========================================================================
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
91
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
92 #define SHOW_RESULT( _fn, _res ) \
2261
04c9eb8c07e9 * src/romfs.c (romfs_getinfo): Support for block usage call.
asl
parents: 1857
diff changeset
93 diag_printf("<FAIL>: " #_fn "() returned %d %s\n", (int)_res, _res<0?strerror(errno):"");
1857
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
94
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
95 #define CHKFAIL_TYPE( _fn, _res, _type ) { \
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
96 if ( _res != -1 ) \
2261
04c9eb8c07e9 * src/romfs.c (romfs_getinfo): Support for block usage call.
asl
parents: 1857
diff changeset
97 diag_printf("<FAIL>: " #_fn "() returned %d (expected -1)\n", (int)_res); \
1857
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
98 else if ( errno != _type ) \
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
99 diag_printf("<FAIL>: " #_fn "() failed with errno %d (%s),\n expected %d (%s)\n", errno, strerror(errno), _type, strerror(_type) ); \
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
100 }
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
101
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
102 //==========================================================================
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
103
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
104 #define IOSIZE 100
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
105
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
106 #define LONGNAME1 "long_file_name_that_should_take_up_more_than_one_directory_entry_1"
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
107 #define LONGNAME2 "long_file_name_that_should_take_up_more_than_one_directory_entry_2"
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
108
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
109
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
110 //==========================================================================
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
111
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
112 #ifndef CYGINT_ISO_STRING_STRFUNCS
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
113
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
114 char *strcat( char *s1, const char *s2 )
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
115 {
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
116 char *s = s1;
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
117 while( *s1 ) s1++;
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
118 while( (*s1++ = *s2++) != 0);
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
119 return s;
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
120 }
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
121
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
122 #endif
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
123
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
124 //==========================================================================
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
125
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
126 static void listdir( char *name, int statp )
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
127 {
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
128 int err;
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
129 DIR *dirp;
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
130
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
131 diag_printf("<INFO>: reading directory %s\n",name);
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
132
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
133 dirp = opendir( name );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
134 if( dirp == NULL ) SHOW_RESULT( opendir, -1 );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
135
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
136 for(;;)
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
137 {
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
138 struct dirent *entry = readdir( dirp );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
139
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
140 if( entry == NULL )
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
141 break;
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
142
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
143 diag_printf("<INFO>: entry %14s",entry->d_name);
2474
82f8f3f7c561 * cdl/romfs.cdl: Use CYGPKG_FS_ROM_RET_DIRENT_DTYPE to control
asl
parents: 2261
diff changeset
144 #ifdef CYGPKG_FS_ROM_RET_DIRENT_DTYPE
82f8f3f7c561 * cdl/romfs.cdl: Use CYGPKG_FS_ROM_RET_DIRENT_DTYPE to control
asl
parents: 2261
diff changeset
145 diag_printf(" d_type %2x", entry->d_type);
82f8f3f7c561 * cdl/romfs.cdl: Use CYGPKG_FS_ROM_RET_DIRENT_DTYPE to control
asl
parents: 2261
diff changeset
146 #endif
1857
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
147 if( statp )
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
148 {
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
149 char fullname[PATH_MAX];
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
150 struct stat sbuf;
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
151
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
152 if( name[0] )
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
153 {
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
154 strcpy(fullname, name );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
155 if( !(name[0] == '/' && name[1] == 0 ) )
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
156 strcat(fullname, "/" );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
157 }
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
158 else fullname[0] = 0;
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
159
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
160 strcat(fullname, entry->d_name );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
161
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
162 err = stat( fullname, &sbuf );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
163 if( err < 0 )
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
164 {
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
165 if( errno == ENOSYS )
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
166 diag_printf(" <no status available>");
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
167 else SHOW_RESULT( stat, err );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
168 }
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
169 else
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
170 {
2261
04c9eb8c07e9 * src/romfs.c (romfs_getinfo): Support for block usage call.
asl
parents: 1857
diff changeset
171 diag_printf(" [mode %08x ino %08x nlink %d size %ld]",
1857
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
172 sbuf.st_mode,sbuf.st_ino,sbuf.st_nlink,sbuf.st_size);
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
173 }
2474
82f8f3f7c561 * cdl/romfs.cdl: Use CYGPKG_FS_ROM_RET_DIRENT_DTYPE to control
asl
parents: 2261
diff changeset
174 #ifdef CYGPKG_FS_ROM_RET_DIRENT_DTYPE
82f8f3f7c561 * cdl/romfs.cdl: Use CYGPKG_FS_ROM_RET_DIRENT_DTYPE to control
asl
parents: 2261
diff changeset
175 if ((entry->d_type & S_IFMT) != (sbuf.st_mode & S_IFMT))
82f8f3f7c561 * cdl/romfs.cdl: Use CYGPKG_FS_ROM_RET_DIRENT_DTYPE to control
asl
parents: 2261
diff changeset
176 CYG_TEST_FAIL("File mode's don't match between dirent and stat");
82f8f3f7c561 * cdl/romfs.cdl: Use CYGPKG_FS_ROM_RET_DIRENT_DTYPE to control
asl
parents: 2261
diff changeset
177 #endif
1857
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
178 }
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
179
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
180 diag_printf("\n");
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
181 }
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
182
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
183 err = closedir( dirp );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
184 if( err < 0 ) SHOW_RESULT( stat, err );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
185 }
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
186
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
187 //==========================================================================
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
188
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
189 #ifdef CYGPKG_FS_RAM
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
190 static void copyfile( char *name2, char *name1 )
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
191 {
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
192
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
193 int err;
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
194 char buf[IOSIZE];
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
195 int fd1, fd2;
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
196 ssize_t done, wrote;
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
197
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
198 diag_printf("<INFO>: copy file %s -> %s\n",name2,name1);
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
199
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
200 err = access( name1, F_OK );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
201 if( err < 0 && errno != EACCES ) SHOW_RESULT( access, err );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
202
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
203 err = access( name2, F_OK );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
204 if( err != 0 ) SHOW_RESULT( access, err );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
205
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
206 fd1 = open( name1, O_WRONLY|O_CREAT );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
207 if( fd1 < 0 ) SHOW_RESULT( open, fd1 );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
208
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
209 fd2 = open( name2, O_RDONLY );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
210 if( fd2 < 0 ) SHOW_RESULT( open, fd2 );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
211
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
212 for(;;)
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
213 {
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
214 done = read( fd2, buf, IOSIZE );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
215 if( done < 0 ) SHOW_RESULT( read, done );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
216
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
217 if( done == 0 ) break;
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
218
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
219 wrote = write( fd1, buf, done );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
220 if( wrote != done ) SHOW_RESULT( write, wrote );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
221
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
222 if( wrote != done ) break;
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
223 }
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
224
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
225 err = close( fd1 );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
226 if( err < 0 ) SHOW_RESULT( close, err );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
227
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
228 err = close( fd2 );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
229 if( err < 0 ) SHOW_RESULT( close, err );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
230
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
231 }
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
232 #endif
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
233
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
234 //==========================================================================
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
235
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
236 static void comparefiles( char *name2, char *name1 )
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
237 {
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
238 int err;
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
239 char buf1[IOSIZE];
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
240 char buf2[IOSIZE];
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
241 int fd1, fd2;
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
242 ssize_t done1, done2;
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
243 int i;
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
244
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
245 diag_printf("<INFO>: compare files %s == %s\n",name2,name1);
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
246
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
247 err = access( name1, F_OK );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
248 if( err != 0 ) SHOW_RESULT( access, err );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
249
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
250 err = access( name1, F_OK );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
251 if( err != 0 ) SHOW_RESULT( access, err );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
252
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
253 fd1 = open( name1, O_RDONLY );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
254 if( fd1 < 0 ) SHOW_RESULT( open, fd1 );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
255
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
256 fd2 = open( name2, O_RDONLY );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
257 if( fd2 < 0 ) SHOW_RESULT( open, fd2 );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
258
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
259 for(;;)
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
260 {
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
261 done1 = read( fd1, buf1, IOSIZE );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
262 if( done1 < 0 ) SHOW_RESULT( read, done1 );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
263
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
264 done2 = read( fd2, buf2, IOSIZE );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
265 if( done2 < 0 ) SHOW_RESULT( read, done2 );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
266
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
267 if( done1 != done2 )
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
268 diag_printf("Files different sizes\n");
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
269
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
270 if( done1 == 0 ) break;
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
271
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
272 for( i = 0; i < done1; i++ )
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
273 if( buf1[i] != buf2[i] )
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
274 {
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
275 diag_printf("buf1[%d](%02x) != buf1[%d](%02x)\n",i,buf1[i],i,buf2[i]);
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
276 CYG_TEST_FAIL("Data in files not equal\n");
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
277 }
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
278 }
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
279
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
280 err = close( fd1 );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
281 if( err < 0 ) SHOW_RESULT( close, err );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
282
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
283 err = close( fd2 );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
284 if( err < 0 ) SHOW_RESULT( close, err );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
285
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
286 }
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
287
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
288 //==========================================================================
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
289 // main
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
290
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
291 int main( int argc, char **argv )
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
292 {
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
293 int err;
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
294 char address[16];
2261
04c9eb8c07e9 * src/romfs.c (romfs_getinfo): Support for block usage call.
asl
parents: 1857
diff changeset
295 #if defined(CYGSEM_FILEIO_BLOCK_USAGE)
04c9eb8c07e9 * src/romfs.c (romfs_getinfo): Support for block usage call.
asl
parents: 1857
diff changeset
296 struct cyg_fs_block_usage usage;
04c9eb8c07e9 * src/romfs.c (romfs_getinfo): Support for block usage call.
asl
parents: 1857
diff changeset
297 #endif
1857
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
298
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
299 CYG_TEST_INIT();
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
300
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
301 // --------------------------------------------------------------
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
302
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
303 diag_printf("<INFO>: ROMFS root follows\n");
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
304 listdir( "/", true );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
305
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
306 diag_printf("<INFO>: cd /etc\n" );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
307 err = chdir( "/etc" );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
308 if ( err < 0 ) {
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
309 SHOW_RESULT( chdir, err );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
310 CYG_TEST_FAIL_FINISH("romfs1");
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
311 }
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
312
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
313 diag_printf("<INFO>: ROMFS list of '' follows\n");
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
314 listdir( "", true );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
315
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
316 diag_printf("<INFO>: ROMFS list of /etc follows\n");
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
317 listdir( "/etc", true );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
318
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
319 diag_printf("<INFO>: ROMFS list of . follows\n");
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
320 listdir( ".", true );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
321
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
322 #ifdef CYGPKG_FS_RAM
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
323 err = mount( "", "/var", "ramfs" );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
324 if( err < 0 ) SHOW_RESULT( mount, err );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
325
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
326 copyfile( "/etc/passwd", "/var/passwd_copy" );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
327
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
328 comparefiles( "/etc/passwd", "/var/passwd_copy" );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
329 #endif
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
330
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
331 diag_printf("<INFO>: ROMFS list of / follows\n");
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
332 #ifdef CYGPKG_FS_RAM
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
333 diag_printf("<INFO>: Note that /var now gives stat() info for RAMFS\n");
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
334 #endif
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
335 listdir( "/", true );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
336
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
337 diag_printf("<INFO>: Mount ROMFS again onto /mnt\n");
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
338 sprintf( address, "%p", (void*)&filedata[0] );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
339 err = mount( address, "/mnt", "romfs" );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
340 if( err < 0 ) SHOW_RESULT( mount, err );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
341
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
342 comparefiles( "/etc/passwd", "/mnt/etc/passwd" );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
343
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
344
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
345 err = mkdir( "/foo", 0 );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
346 CHKFAIL_TYPE( mkdir, err, EROFS );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
347
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
348 err = rename( "/var", "/tmp" ); // RAMFS is mounted here
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
349 #ifdef CYGPKG_FS_RAM
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
350 CHKFAIL_TYPE( rename, err, EXDEV );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
351 #else
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
352 CHKFAIL_TYPE( rename, err, EROFS );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
353 #endif
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
354
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
355 err = rename( "/var/passwd_copy", "/mnt/etc/passwd_copy" );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
356 CHKFAIL_TYPE( rename, err, EXDEV );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
357
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
358 err = rename( "/etc", "/tmp" );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
359 CHKFAIL_TYPE( rename, err, EROFS );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
360
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
361 diag_printf("<INFO>: cd /etc\n");
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
362 err = chdir( "/etc" );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
363 if( err < 0 ) SHOW_RESULT( chdir, err );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
364
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
365 err = chdir( "/mnt/etc" );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
366 if( err < 0 ) SHOW_RESULT( chdir, err );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
367
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
368 listdir( ".", true );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
369
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
370 diag_printf("<INFO>: unlink /tmp\n");
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
371 err = unlink( "/tmp" );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
372 CHKFAIL_TYPE( unlink, err, EROFS );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
373
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
374 diag_printf("<INFO>: mount random area\n");
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
375 sprintf(address, "%p", (void*)(&filedata[0] + 0x100));
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
376 err = mount( address, "/tmp", "romfs" );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
377 CHKFAIL_TYPE( mount, err, ENOENT );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
378
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
379 err = umount( "/mnt" );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
380 if( err < 0 ) SHOW_RESULT( umount, err );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
381
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
382 err = umount( "/var" );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
383 #ifdef CYGPKG_FS_RAM
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
384 if( err < 0 ) SHOW_RESULT( umount, err );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
385 #else
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
386 CHKFAIL_TYPE( umount, err, EINVAL );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
387 #endif
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
388
2261
04c9eb8c07e9 * src/romfs.c (romfs_getinfo): Support for block usage call.
asl
parents: 1857
diff changeset
389 #if defined(CYGSEM_FILEIO_BLOCK_USAGE)
04c9eb8c07e9 * src/romfs.c (romfs_getinfo): Support for block usage call.
asl
parents: 1857
diff changeset
390 err = cyg_fs_getinfo("/", FS_INFO_BLOCK_USAGE, &usage, sizeof(usage));
04c9eb8c07e9 * src/romfs.c (romfs_getinfo): Support for block usage call.
asl
parents: 1857
diff changeset
391 if( err < 0 ) SHOW_RESULT( cyg_fs_getinfo, err );
04c9eb8c07e9 * src/romfs.c (romfs_getinfo): Support for block usage call.
asl
parents: 1857
diff changeset
392 diag_printf("<INFO>: total size: %6lld blocks, %10lld bytes\n",
04c9eb8c07e9 * src/romfs.c (romfs_getinfo): Support for block usage call.
asl
parents: 1857
diff changeset
393 usage.total_blocks, usage.total_blocks * usage.block_size);
04c9eb8c07e9 * src/romfs.c (romfs_getinfo): Support for block usage call.
asl
parents: 1857
diff changeset
394 diag_printf("<INFO>: free size: %6lld blocks, %10lld bytes\n",
04c9eb8c07e9 * src/romfs.c (romfs_getinfo): Support for block usage call.
asl
parents: 1857
diff changeset
395 usage.free_blocks, usage.free_blocks * usage.block_size);
04c9eb8c07e9 * src/romfs.c (romfs_getinfo): Support for block usage call.
asl
parents: 1857
diff changeset
396 diag_printf("<INFO>: block size: %6u bytes\n", usage.block_size);
04c9eb8c07e9 * src/romfs.c (romfs_getinfo): Support for block usage call.
asl
parents: 1857
diff changeset
397 #endif
04c9eb8c07e9 * src/romfs.c (romfs_getinfo): Support for block usage call.
asl
parents: 1857
diff changeset
398 // --------------------------------------------------------------
04c9eb8c07e9 * src/romfs.c (romfs_getinfo): Support for block usage call.
asl
parents: 1857
diff changeset
399
1857
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
400 err = umount( "/" );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
401 if( err < 0 ) SHOW_RESULT( umount, err );
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
402
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
403
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
404 CYG_TEST_PASS_FINISH("romfs1");
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
405 }
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
406
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
407 // -------------------------------------------------------------------------
36bcb84dd874 * fs/rom/current/tests/fileio1.c: Rename to romfs1.c.
jld
parents:
diff changeset
408 // EOF romfs1.c