~ubuntu-branches/ubuntu/natty/augeas/natty

« back to all changes in this revision

Viewing changes to tests/test-api.c

  • Committer: Bazaar Package Importer
  • Author(s): Nicolas Valcárcel Scerpella (Canonical)
  • Date: 2010-06-25 16:12:45 UTC
  • mfrom: (1.2.12 upstream)
  • Revision ID: james.westby@ubuntu.com-20100625161245-8pwq1gbejazeo07u
Tags: 0.7.2-1
* New upstream release
* Droped 50_iptables-lens.diff. Included upstream
* Updated libaugeas0.symbols

Show diffs side-by-side

added added

removed removed

Lines of Context:
72
72
    aug_close(aug);
73
73
}
74
74
 
 
75
static void testSetM(CuTest *tc) {
 
76
    int r;
 
77
    struct augeas *aug;
 
78
 
 
79
    aug = aug_init(root, loadpath, AUG_NO_STDINC|AUG_NO_LOAD);
 
80
    CuAssertPtrNotNull(tc, aug);
 
81
    CuAssertIntEquals(tc, AUG_NOERROR, aug_error(aug));
 
82
 
 
83
    /* Change base nodes when SUB is NULL */
 
84
    r = aug_setm(aug, "/augeas/version/save/*", NULL, "changed");
 
85
    CuAssertIntEquals(tc, 4, r);
 
86
 
 
87
    r = aug_match(aug, "/augeas/version/save/*[. = 'changed']", NULL);
 
88
    CuAssertIntEquals(tc, 4, r);
 
89
 
 
90
    /* Only change existing nodes */
 
91
    r = aug_setm(aug, "/augeas/version/save", "mode", "again");
 
92
    CuAssertIntEquals(tc, 4, r);
 
93
 
 
94
    r = aug_match(aug, "/augeas/version/save/*", NULL);
 
95
    CuAssertIntEquals(tc, 4, r);
 
96
 
 
97
    r = aug_match(aug, "/augeas/version/save/*[. = 'again']", NULL);
 
98
    CuAssertIntEquals(tc, 4, r);
 
99
 
 
100
    /* Create a new node */
 
101
    r = aug_setm(aug, "/augeas/version/save", "mode[last() + 1]", "newmode");
 
102
    CuAssertIntEquals(tc, 1, r);
 
103
 
 
104
    r = aug_match(aug, "/augeas/version/save/*", NULL);
 
105
    CuAssertIntEquals(tc, 5, r);
 
106
 
 
107
    r = aug_match(aug, "/augeas/version/save/*[. = 'again']", NULL);
 
108
    CuAssertIntEquals(tc, 4, r);
 
109
 
 
110
    r = aug_match(aug, "/augeas/version/save/*[last()][. = 'newmode']", NULL);
 
111
    CuAssertIntEquals(tc, 1, r);
 
112
 
 
113
    /* Noexistent base */
 
114
    r = aug_setm(aug, "/augeas/version/save[last()+1]", "mode", "newmode");
 
115
    CuAssertIntEquals(tc, 0, r);
 
116
 
 
117
    /* Invalid path expressions */
 
118
    r = aug_setm(aug, "/augeas/version/save[]", "mode", "invalid");
 
119
    CuAssertIntEquals(tc, -1, r);
 
120
 
 
121
    r = aug_setm(aug, "/augeas/version/save/*", "mode[]", "invalid");
 
122
    CuAssertIntEquals(tc, -1, r);
 
123
}
 
124
 
75
125
int main(void) {
76
126
    char *output = NULL;
77
127
    CuSuite* suite = CuSuiteNew();
78
128
    CuSuiteSetup(suite, NULL, NULL);
79
129
 
80
130
    SUITE_ADD_TEST(suite, testGet);
 
131
    SUITE_ADD_TEST(suite, testSetM);
81
132
 
82
133
    abs_top_srcdir = getenv("abs_top_srcdir");
83
134
    if (abs_top_srcdir == NULL)