summary refs log tree commit diff
path: root/misc/tst-mntent2.c
blob: e61d506cd4d999e2bd70a8f480388c7e75e8cdbe (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include <mntent.h>
#include <stdio.h>
#include <string.h>


static int
do_test (void)
{
  int result = 0;
  struct mntent mef;

  mef.mnt_fsname = strdupa ("/dev/sdf6");
  mef.mnt_dir = strdupa ("/some dir");
  mef.mnt_type = strdupa ("ext3");
  mef.mnt_opts = strdupa ("opt1,opt2,noopt=6,rw,norw,brw");
  mef.mnt_freq = 1;
  mef.mnt_passno = 2;

#define TEST(opt, found) \
  if (!!hasmntopt (&mef, (opt)) != (found))				\
    {									\
      printf ("Option %s was %sfound\n", (opt), (found) ? "not " : "");	\
      result = 1;							\
    }

  TEST ("opt1", 1)
  TEST ("opt2", 1)
  TEST ("noopt", 1)
  TEST ("rw", 1)
  TEST ("norw", 1)
  TEST ("brw", 1)
  TEST ("opt", 0)
  TEST ("oopt", 0)
  TEST ("w", 0)
  TEST ("r", 0)
  TEST ("br", 0)
  TEST ("nor", 0)
  TEST ("or", 0)

  return result;
}

#define TEST_FUNCTION do_test ()
#include "../test-skeleton.c"