summaryrefslogtreecommitdiff
path: root/misc/tst-mntent2.c
blob: 6c25e0127c9e7d20155b1a4b3a688e03a8a6d6a4 (plain)
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
#include <mntent.h>
#include <stdio.h>
#include <string.h>


int
main (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;
}