aboutsummaryrefslogtreecommitdiff
blob: ba1ee0ae19a42313f87f5d380edebc0f3de14fdc (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
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"