summary refs log tree commit diff
path: root/misc/tst-mntent2.c
blob: 6c25e0127c9e7d20155b1a4b3a688e03a8a6d6a4 (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
#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;
}