~ubuntu-branches/ubuntu/quantal/gengetopt/quantal

« back to all changes in this revision

Viewing changes to tests/test_values_cc.cc

  • Committer: Package Import Robot
  • Author(s): Alessio Treglia
  • Date: 2011-09-26 10:27:31 UTC
  • mfrom: (1.1.9 upstream)
  • Revision ID: package-import@ubuntu.com-20110926102731-vh42p0vriqz4kp3h
Tags: 2.22.5-1
* New upstream release:
  - correctly wraps and preprocess the specified usage string
  - handle escaped newline chars in the .ggo file correctly
  - initialize enum variables with a generated null value (makes
    the parser compilable in C++)
  - removed warnings in generated parser when only flags are used
* Fix gbp config file.
* Bump Standards.
* Drop unneeded dependency on dpkg (>= 1.15.4), stable has a newer version.
* Refresh patches.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* test_values_cc.cc test */
 
2
 
 
3
/* test values options */
 
4
 
 
5
#include <stdlib.h>
 
6
#include <stdio.h>
 
7
 
 
8
#include "test_values_cmd.h"
 
9
 
 
10
static struct gengetopt_args_info args_info;
 
11
 
 
12
int
 
13
main (int argc, char **argv)
 
14
{
 
15
  unsigned int i;
 
16
  int result = 0;
 
17
 
 
18
  if (test_values_cmd_parser (argc, argv, &args_info) != 0) {
 
19
    result = 1;
 
20
    goto end;
 
21
  }
 
22
 
 
23
  if (args_info.string_values_given)
 
24
    {
 
25
      printf ("specified --string-values with argument %s\n", args_info.string_values_arg);
 
26
      printf ("specified --string-values with (original) argument %s\n", args_info.string_values_orig);
 
27
    }
 
28
 
 
29
  if (!args_info.string_values_def_given)
 
30
    printf ("(un)");
 
31
  printf ("specified --string-values-def with argument %s\n", args_info.string_values_def_arg);
 
32
 
 
33
  if (!args_info.string_values_def_argopt_given)
 
34
    printf ("(un)");
 
35
  printf ("specified --string-values-def-argopt with argument %s\n",
 
36
          args_info.string_values_def_argopt_arg);
 
37
 
 
38
  if (args_info.string_values_no_short_given)
 
39
    {
 
40
      printf ("specified --string-values-no-short with argument %s\n",
 
41
              args_info.string_values_no_short_arg);
 
42
    }
 
43
 
 
44
  for (i = 0; i < args_info.multistring_values_given; ++i)
 
45
    {
 
46
      printf ("specified --multistring-values with argument %s\n",
 
47
              args_info.multistring_values_arg[i]);
 
48
      printf ("specified --multistring-values with (original) argument %s\n",
 
49
              args_info.multistring_values_orig[i]);
 
50
    }
 
51
 
 
52
  for (i = 0; i < args_info.multistring_values_def_given; ++i)
 
53
    {
 
54
      printf ("specified --multistring-values-def with argument %s\n",
 
55
              args_info.multistring_values_def_arg[i]);
 
56
      printf
 
57
        ("specified --multistring-values-def with (original) argument %s\n",
 
58
         (args_info.multistring_values_def_orig[i] ?
 
59
          args_info.multistring_values_def_orig[i] : "(null)"));
 
60
    }
 
61
 
 
62
  for (i = 0; i < args_info.multistring_values_no_short_given; ++i)
 
63
    printf ("specified --multistring-values-no-short with argument %s\n",
 
64
            args_info.multistring_values_no_short_arg[i]);
 
65
 
 
66
  if (args_info.int_values_given)
 
67
    {
 
68
      printf ("specified --int-values with argument %d\n",
 
69
              args_info.int_values_arg);
 
70
      printf ("specified --int-values with (original) argument %s\n",
 
71
              args_info.int_values_orig);
 
72
    }
 
73
 
 
74
  for (i = 0; i < args_info.int_values_m_given; ++i) {
 
75
    printf("specified --int-values-m with argument %d\n",
 
76
           args_info.int_values_m_arg[i]);
 
77
    printf ("specified --int-values-m with (original) argument %s\n",
 
78
              args_info.int_values_m_orig[i]);
 
79
  }
 
80
 
 
81
  if (!args_info.int_values_def_given)
 
82
    printf ("(un)");
 
83
  printf ("specified --int-values-def with argument %d\n",
 
84
          args_info.int_values_def_arg);
 
85
 
 
86
  if (args_info.values_first_enums_given)
 
87
    printf("specified --values-first-enums with argument %d (%s)\n",
 
88
           args_info.values_first_enums_arg,
 
89
           test_values_cmd_parser_values_first_enums_values
 
90
           [args_info.values_first_enums_arg]);
 
91
 
 
92
  if (args_info.values_first_enums_plus_given)
 
93
      printf("specified --values-first-enums-plus with argument %d (%s)\n",
 
94
             args_info.values_first_enums_plus_arg,
 
95
             test_values_cmd_parser_values_first_enums_plus_values
 
96
             [args_info.values_first_enums_plus_arg]);
 
97
 
 
98
  if (!args_info.values_second_enums_given)
 
99
    printf ("(un)");
 
100
  printf("specified --values-second-enums with argument %d (%s)\n",
 
101
         args_info.values_second_enums_arg,
 
102
         test_values_cmd_parser_values_second_enums_values
 
103
         [args_info.values_second_enums_arg]);
 
104
 
 
105
  for (i = 0; i < args_info.values_multiple_enums_given; ++i)
 
106
    {
 
107
      printf ("specified --values-multiple-enums with argument %d\n",
 
108
              args_info.values_multiple_enums_arg[i]);
 
109
      printf
 
110
        ("specified --values-multiple-enums with (original) argument %s\n",
 
111
         (args_info.values_multiple_enums_orig[i] ?
 
112
          args_info.values_multiple_enums_orig[i] : "(null)"));
 
113
    }
 
114
 
 
115
  if (args_info.file_save_given) {
 
116
    if (test_values_cmd_parser_file_save (args_info.file_save_arg, &args_info) == EXIT_FAILURE)
 
117
      result = 1;
 
118
    else
 
119
      printf ("saved configuration file %s\n", args_info.file_save_arg);
 
120
  }
 
121
 
 
122
 end:
 
123
  test_values_cmd_parser_free (&args_info);
 
124
 
 
125
  return result;
 
126
}