source: rtems/testsuites/fstests/mimfs_support/fs_support.c @ 547c2282

4.115
Last change on this file since 547c2282 was a9df916, checked in by Sebastian Huber <sebastian.huber@…>, on 02/08/15 at 18:43:09

IMFS: Add fine grained configuration

Remove miniIMFS. Statically initialize the root IMFS.

Add configuration options to disable individual
features of the root IMFS, e.g.

o CONFIGURE_IMFS_DISABLE_CHOWN,
o CONFIGURE_IMFS_DISABLE_FCHMOD,
o CONFIGURE_IMFS_DISABLE_LINK,
o CONFIGURE_IMFS_DISABLE_MKNOD,
o CONFIGURE_IMFS_DISABLE_MOUNT,
o CONFIGURE_IMFS_DISABLE_READLINK,
o CONFIGURE_IMFS_DISABLE_RENAME,
o CONFIGURE_IMFS_DISABLE_RMNOD,
o CONFIGURE_IMFS_DISABLE_SYMLINK,
o CONFIGURE_IMFS_DISABLE_UNMOUNT, and
o CONFIGURE_IMFS_DISABLE_UTIME.

  • Property mode set to 100644
File size: 1.5 KB
Line 
1/*
2 *  COPYRIGHT (c) 1989-2011.
3 *  On-Line Applications Research Corporation (OAR).
4 *
5 *  The license and distribution terms for this file may be
6 *  found in the file LICENSE in this distribution or at
7 *  http://www.rtems.org/license/LICENSE.
8 */
9
10#ifdef HAVE_CONFIG_H
11#include "config.h"
12#endif
13#include "pmacros.h"
14
15#include <sys/stat.h>
16#include <rtems/libio.h>
17#include <rtems/libcsupport.h>
18
19#include "fstest.h"
20#include "fstest_support.h"
21
22static rtems_resource_snapshot before_mount;
23
24void
25test_initialize_filesystem (void)
26{
27  int rc = 0;
28  rc = mkdir (BASE_FOR_TEST,S_IRWXU|S_IRWXG|S_IRWXO);
29  rtems_test_assert (rc == 0);
30
31  rtems_resource_snapshot_take(&before_mount);
32
33  rc = mount (NULL, BASE_FOR_TEST, "imfs", RTEMS_FILESYSTEM_READ_WRITE, NULL);
34  rtems_test_assert (rc == 0);
35}
36
37
38void
39test_shutdown_filesystem (void)
40{
41  int rc = 0;
42  rc = unmount (BASE_FOR_TEST);
43  rtems_test_assert (rc == 0);
44
45  rtems_test_assert(rtems_resource_snapshot_check(&before_mount));
46}
47
48/* configuration information */
49
50/* drivers */
51#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
52#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
53
54/**
55 * Configure base RTEMS resources.
56 */
57
58#define CONFIGURE_INITIAL_EXTENSIONS RTEMS_TEST_INITIAL_EXTENSION
59
60#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
61
62#define CONFIGURE_MAXIMUM_TASKS                  10
63#define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 40
64#define CONFIGURE_INIT_TASK_STACK_SIZE (16 * 1024)
65#define CONFIGURE_MAXIMUM_POSIX_KEY_VALUE_PAIRS  1
66
67#define CONFIGURE_FILESYSTEM_IMFS
68
69#define CONFIGURE_INIT
70#include <rtems/confdefs.h>
Note: See TracBrowser for help on using the repository browser.