Line data Source code
1 : /**
2 : * @file
3 : *
4 : * @brief
5 : *
6 : * @copyright BSD License (see LICENSE.md or https://www.libelektra.org)
7 : */
8 :
9 : #include <tests_internal.h>
10 :
11 2 : static void test_keyNamespace (void)
12 : {
13 : Key * key;
14 :
15 2 : printf ("Test namespaces\n");
16 :
17 2 : succeed_if (keyGetNamespace (0) == KEY_NS_NONE, "null key");
18 :
19 2 : key = keyNew (0);
20 2 : succeed_if (keyGetNamespace (key) == KEY_NS_EMPTY, "empty namespace not empty");
21 2 : succeed_if (keyNameIsSystem (keyName (key)) == 0, "empty name is not system");
22 2 : succeed_if (keyIsSystem (key) == 0, "empty key is not system");
23 2 : succeed_if (keyNameIsUser (keyName (key)) == 0, "empty name is not user");
24 2 : succeed_if (keyIsUser (key) == 0, "empty key is not user");
25 2 : keyDel (key);
26 :
27 2 : key = keyNew ("", KEY_END);
28 2 : succeed_if (keyGetNamespace (key) == KEY_NS_EMPTY, "empty namespace not empty");
29 2 : succeed_if (keyNameIsSystem (keyName (key)) == 0, "empty name is not system");
30 2 : succeed_if (keyIsSystem (key) == 0, "empty key is not system");
31 2 : succeed_if (keyNameIsUser (keyName (key)) == 0, "empty name is not user");
32 2 : succeed_if (keyIsUser (key) == 0, "empty key is not user");
33 2 : keyDel (key);
34 :
35 2 : key = keyNew ("user", KEY_END);
36 2 : succeed_if (keyGetNamespace (key) == KEY_NS_USER, "user namespace not KEY_NS_USER");
37 2 : succeed_if (keyNameIsSystem (keyName (key)) == 0, "user name is not system");
38 2 : succeed_if (keyIsSystem (key) == 0, "user key is not system");
39 2 : succeed_if (keyNameIsUser (keyName (key)) == 1, "user name is not user");
40 2 : succeed_if (keyIsUser (key) == 1, "user key is not user");
41 2 : keyDel (key);
42 :
43 2 : key = keyNew ("user/key", KEY_END);
44 2 : succeed_if (keyGetNamespace (key) == KEY_NS_USER, "user namespace not KEY_NS_USER");
45 2 : succeed_if (keyNameIsSystem (keyName (key)) == 0, "user name is not system");
46 2 : succeed_if (keyIsSystem (key) == 0, "user key is not system");
47 2 : succeed_if (keyNameIsUser (keyName (key)) == 1, "user name is not user");
48 2 : succeed_if (keyIsUser (key) == 1, "user key is not user");
49 2 : keyDel (key);
50 :
51 2 : key = keyNew ("user:owner/key", KEY_END);
52 2 : succeed_if (keyGetNamespace (key) == KEY_NS_USER, "user namespace not KEY_NS_USER");
53 2 : succeed_if (keyNameIsSystem (keyName (key)) == 0, "user name is not system");
54 2 : succeed_if (keyIsSystem (key) == 0, "user key is not system");
55 2 : succeed_if (keyNameIsUser (keyName (key)) == 1, "user name is not user");
56 2 : succeed_if (keyIsUser (key) == 1, "user key is not user");
57 2 : keyDel (key);
58 :
59 2 : key = keyNew ("system", KEY_END);
60 2 : succeed_if (keyGetNamespace (key) == KEY_NS_SYSTEM, "system namespace not KEY_NS_SYSTEM");
61 2 : succeed_if (keyNameIsSystem (keyName (key)) == 1, "system name is not system");
62 2 : succeed_if (keyIsSystem (key) == 1, "system key is not system");
63 2 : succeed_if (keyNameIsUser (keyName (key)) == 0, "system name is not system");
64 2 : succeed_if (keyIsUser (key) == 0, "system key is not system");
65 2 : keyDel (key);
66 :
67 2 : key = keyNew ("system/key", KEY_END);
68 2 : succeed_if (keyGetNamespace (key) == KEY_NS_SYSTEM, "system namespace not KEY_NS_SYSTEM");
69 2 : succeed_if (keyNameIsSystem (keyName (key)) == 1, "system name is not system");
70 2 : succeed_if (keyIsSystem (key) == 1, "system key is not system");
71 2 : succeed_if (keyNameIsUser (keyName (key)) == 0, "system name is not system");
72 2 : succeed_if (keyIsUser (key) == 0, "system key is not system");
73 2 : keyDel (key);
74 :
75 2 : key = keyNew ("spec/key", KEY_END);
76 2 : succeed_if (keyGetNamespace (key) == KEY_NS_SPEC, "Spec namespace not KEY_NS_SPEC");
77 2 : succeed_if (keyNameIsSpec (keyName (key)) == 1, "Spec name is not Spec");
78 2 : succeed_if (keyIsSpec (key) == 1, "Spec key is not Spec");
79 2 : succeed_if (keyNameIsUser (keyName (key)) == 0, "Spec name is not Spec");
80 2 : succeed_if (keyIsUser (key) == 0, "Spec key is not Spec");
81 2 : keyDel (key);
82 :
83 2 : key = keyNew ("/key", KEY_CASCADING_NAME, KEY_END);
84 2 : succeed_if (keyGetNamespace (key) == KEY_NS_CASCADING, "not correct namespace");
85 2 : keyDel (key);
86 :
87 2 : key = keyNew ("type", KEY_META_NAME, KEY_END);
88 2 : succeed_if (keyGetNamespace (key) == KEY_NS_META, "not correct namespace");
89 2 : keyDel (key);
90 2 : }
91 :
92 2 : int main (int argc, char ** argv)
93 : {
94 2 : printf ("NAMESPACE TESTS\n");
95 2 : printf ("==================\n\n");
96 :
97 2 : init (argc, argv);
98 :
99 2 : test_keyNamespace ();
100 :
101 2 : printf ("\ntest_namespace RESULTS: %d test(s) done. %d error(s).\n", nbTest, nbError);
102 :
103 2 : return nbError;
104 : }
|