Mercurial > molko
annotate tests/test-save.c @ 330:e0657709fbe3
rpg: add support for basic quests
author | David Demelier <markand@malikania.fr> |
---|---|
date | Wed, 06 Oct 2021 13:54:16 +0200 |
parents | 60a4f904da21 |
children | f5a5bbb77122 |
rev | line source |
---|---|
84
a6c2067709ce
core: implement basic save routines, closes #2476 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
1 /* |
a6c2067709ce
core: implement basic save routines, closes #2476 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
2 * test-save.c -- test save routines |
a6c2067709ce
core: implement basic save routines, closes #2476 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
3 * |
314 | 4 * Copyright (c) 2020-2021 David Demelier <markand@malikania.fr> |
84
a6c2067709ce
core: implement basic save routines, closes #2476 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
5 * |
a6c2067709ce
core: implement basic save routines, closes #2476 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
6 * Permission to use, copy, modify, and/or distribute this software for any |
a6c2067709ce
core: implement basic save routines, closes #2476 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
7 * purpose with or without fee is hereby granted, provided that the above |
a6c2067709ce
core: implement basic save routines, closes #2476 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
8 * copyright notice and this permission notice appear in all copies. |
a6c2067709ce
core: implement basic save routines, closes #2476 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
9 * |
a6c2067709ce
core: implement basic save routines, closes #2476 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES |
a6c2067709ce
core: implement basic save routines, closes #2476 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF |
a6c2067709ce
core: implement basic save routines, closes #2476 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR |
a6c2067709ce
core: implement basic save routines, closes #2476 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
a6c2067709ce
core: implement basic save routines, closes #2476 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN |
a6c2067709ce
core: implement basic save routines, closes #2476 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
a6c2067709ce
core: implement basic save routines, closes #2476 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
a6c2067709ce
core: implement basic save routines, closes #2476 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
17 */ |
a6c2067709ce
core: implement basic save routines, closes #2476 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
18 |
a6c2067709ce
core: implement basic save routines, closes #2476 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
19 #include <stdio.h> |
a6c2067709ce
core: implement basic save routines, closes #2476 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
20 |
172
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
21 #define GREATEST_USE_ABBREVS 0 |
84
a6c2067709ce
core: implement basic save routines, closes #2476 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
22 #include <greatest.h> |
a6c2067709ce
core: implement basic save routines, closes #2476 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
23 |
328
60a4f904da21
rpg: separate property from save
David Demelier <markand@malikania.fr>
parents:
314
diff
changeset
|
24 #include <rpg/property.h> |
281
87b8c7510717
rpg: implement load/save for characters
David Demelier <markand@malikania.fr>
parents:
172
diff
changeset
|
25 #include <rpg/save.h> |
84
a6c2067709ce
core: implement basic save routines, closes #2476 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
26 |
a6c2067709ce
core: implement basic save routines, closes #2476 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
27 static void |
a6c2067709ce
core: implement basic save routines, closes #2476 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
28 clean(void *data) |
a6c2067709ce
core: implement basic save routines, closes #2476 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
29 { |
a6c2067709ce
core: implement basic save routines, closes #2476 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
30 (void)data; |
a6c2067709ce
core: implement basic save routines, closes #2476 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
31 |
172
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
32 remove("1.db"); |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
33 remove("2.db"); |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
34 } |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
35 |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
36 GREATEST_TEST |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
37 open_read(void) |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
38 { |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
39 struct save db; |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
40 |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
41 /* Non-existent should return false. */ |
298
196264679079
misc: remove usage of bool
David Demelier <markand@malikania.fr>
parents:
281
diff
changeset
|
42 GREATEST_ASSERT(save_open_path(&db, "1.db", SAVE_MODE_READ) < 0); |
172
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
43 |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
44 save_finish(&db); |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
45 |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
46 GREATEST_PASS(); |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
47 } |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
48 |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
49 GREATEST_TEST |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
50 open_write(void) |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
51 { |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
52 struct save db[2] = {0}; |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
53 |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
54 /* Write should work on both non-existent and existent database. */ |
298
196264679079
misc: remove usage of bool
David Demelier <markand@malikania.fr>
parents:
281
diff
changeset
|
55 GREATEST_ASSERT(save_open_path(&db[0], "1.db", SAVE_MODE_WRITE) == 0); |
196264679079
misc: remove usage of bool
David Demelier <markand@malikania.fr>
parents:
281
diff
changeset
|
56 GREATEST_ASSERT(save_open_path(&db[1], "2.db", SAVE_MODE_WRITE) == 0); |
172
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
57 |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
58 /* Update and create date must not be 0. */ |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
59 GREATEST_ASSERT(db[0].created > 0); |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
60 GREATEST_ASSERT(db[0].updated > 0); |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
61 GREATEST_ASSERT(db[1].created > 0); |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
62 GREATEST_ASSERT(db[1].updated > 0); |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
63 |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
64 save_finish(&db[0]); |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
65 save_finish(&db[1]); |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
66 |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
67 /* Should work again. */ |
298
196264679079
misc: remove usage of bool
David Demelier <markand@malikania.fr>
parents:
281
diff
changeset
|
68 GREATEST_ASSERT(save_open_path(&db[0], "1.db", SAVE_MODE_WRITE) == 0); |
196264679079
misc: remove usage of bool
David Demelier <markand@malikania.fr>
parents:
281
diff
changeset
|
69 GREATEST_ASSERT(save_open_path(&db[1], "2.db", SAVE_MODE_WRITE) == 0); |
172
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
70 GREATEST_ASSERT(db[0].created > 0); |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
71 GREATEST_ASSERT(db[0].updated > 0); |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
72 GREATEST_ASSERT(db[1].created > 0); |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
73 GREATEST_ASSERT(db[1].updated > 0); |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
74 |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
75 save_finish(&db[0]); |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
76 save_finish(&db[1]); |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
77 |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
78 GREATEST_PASS(); |
84
a6c2067709ce
core: implement basic save routines, closes #2476 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
79 } |
a6c2067709ce
core: implement basic save routines, closes #2476 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
80 |
172
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
81 GREATEST_SUITE(open_suite) |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
82 { |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
83 GREATEST_SET_SETUP_CB(clean, NULL); |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
84 GREATEST_SET_TEARDOWN_CB(clean, NULL); |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
85 GREATEST_RUN_TEST(open_read); |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
86 GREATEST_RUN_TEST(open_write); |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
87 } |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
88 |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
89 GREATEST_TEST |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
90 properties_set(void) |
84
a6c2067709ce
core: implement basic save routines, closes #2476 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
91 { |
172
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
92 struct save db; |
328
60a4f904da21
rpg: separate property from save
David Demelier <markand@malikania.fr>
parents:
314
diff
changeset
|
93 struct property prop; |
172
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
94 |
298
196264679079
misc: remove usage of bool
David Demelier <markand@malikania.fr>
parents:
281
diff
changeset
|
95 GREATEST_ASSERT(save_open_path(&db, "1.db", SAVE_MODE_WRITE) == 0); |
172
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
96 |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
97 /* Insert a new property 'state'. */ |
328
60a4f904da21
rpg: separate property from save
David Demelier <markand@malikania.fr>
parents:
314
diff
changeset
|
98 prop = (struct property){.key = "state", .value = "intro"}; |
60a4f904da21
rpg: separate property from save
David Demelier <markand@malikania.fr>
parents:
314
diff
changeset
|
99 GREATEST_ASSERT(property_save(&prop, &db) == 0); |
60a4f904da21
rpg: separate property from save
David Demelier <markand@malikania.fr>
parents:
314
diff
changeset
|
100 prop = (struct property){.key = "state"}; |
60a4f904da21
rpg: separate property from save
David Demelier <markand@malikania.fr>
parents:
314
diff
changeset
|
101 GREATEST_ASSERT(property_load(&prop, &db) == 0); |
172
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
102 GREATEST_ASSERT_STR_EQ(prop.value, "intro"); |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
103 |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
104 /* Now we replace the value. */ |
328
60a4f904da21
rpg: separate property from save
David Demelier <markand@malikania.fr>
parents:
314
diff
changeset
|
105 prop = (struct property){.key = "state", .value = "map"}; |
60a4f904da21
rpg: separate property from save
David Demelier <markand@malikania.fr>
parents:
314
diff
changeset
|
106 GREATEST_ASSERT(property_save(&prop, &db) == 0); |
60a4f904da21
rpg: separate property from save
David Demelier <markand@malikania.fr>
parents:
314
diff
changeset
|
107 prop = (struct property){.key = "state"}; |
60a4f904da21
rpg: separate property from save
David Demelier <markand@malikania.fr>
parents:
314
diff
changeset
|
108 GREATEST_ASSERT(property_load(&prop, &db) == 0); |
172
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
109 GREATEST_ASSERT_STR_EQ(prop.value, "map"); |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
110 |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
111 save_finish(&db); |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
112 |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
113 GREATEST_PASS(); |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
114 } |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
115 |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
116 GREATEST_TEST |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
117 properties_notfound(void) |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
118 { |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
119 struct save db; |
328
60a4f904da21
rpg: separate property from save
David Demelier <markand@malikania.fr>
parents:
314
diff
changeset
|
120 struct property prop = {.key = "state"}; |
172
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
121 |
298
196264679079
misc: remove usage of bool
David Demelier <markand@malikania.fr>
parents:
281
diff
changeset
|
122 GREATEST_ASSERT(save_open_path(&db, "1.db", SAVE_MODE_WRITE) == 0); |
328
60a4f904da21
rpg: separate property from save
David Demelier <markand@malikania.fr>
parents:
314
diff
changeset
|
123 GREATEST_ASSERT(property_load(&prop, &db) < 0); |
172
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
124 GREATEST_ASSERT_STR_EQ(prop.value, ""); |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
125 |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
126 GREATEST_PASS(); |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
127 } |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
128 |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
129 GREATEST_TEST |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
130 properties_remove(void) |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
131 { |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
132 struct save db; |
328
60a4f904da21
rpg: separate property from save
David Demelier <markand@malikania.fr>
parents:
314
diff
changeset
|
133 struct property prop; |
172
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
134 |
298
196264679079
misc: remove usage of bool
David Demelier <markand@malikania.fr>
parents:
281
diff
changeset
|
135 GREATEST_ASSERT(save_open_path(&db, "1.db", SAVE_MODE_WRITE) == 0); |
84
a6c2067709ce
core: implement basic save routines, closes #2476 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
136 |
a6c2067709ce
core: implement basic save routines, closes #2476 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
137 /* Insert a new property 'initialized'. */ |
328
60a4f904da21
rpg: separate property from save
David Demelier <markand@malikania.fr>
parents:
314
diff
changeset
|
138 prop = (struct property){.key = "state", .value = "intro"}; |
60a4f904da21
rpg: separate property from save
David Demelier <markand@malikania.fr>
parents:
314
diff
changeset
|
139 GREATEST_ASSERT(property_save(&prop, &db) == 0); |
60a4f904da21
rpg: separate property from save
David Demelier <markand@malikania.fr>
parents:
314
diff
changeset
|
140 prop = (struct property){.key = "state"}; |
60a4f904da21
rpg: separate property from save
David Demelier <markand@malikania.fr>
parents:
314
diff
changeset
|
141 GREATEST_ASSERT(property_remove(&prop, &db) == 0); |
60a4f904da21
rpg: separate property from save
David Demelier <markand@malikania.fr>
parents:
314
diff
changeset
|
142 prop = (struct property){.key = "state"}; |
60a4f904da21
rpg: separate property from save
David Demelier <markand@malikania.fr>
parents:
314
diff
changeset
|
143 GREATEST_ASSERT(property_load(&prop, &db) < 0); |
172
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
144 GREATEST_ASSERT_STR_EQ(prop.value, ""); |
84
a6c2067709ce
core: implement basic save routines, closes #2476 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
145 |
172
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
146 GREATEST_PASS(); |
84
a6c2067709ce
core: implement basic save routines, closes #2476 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
147 } |
a6c2067709ce
core: implement basic save routines, closes #2476 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
148 |
172
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
149 GREATEST_SUITE(properties_suite) |
84
a6c2067709ce
core: implement basic save routines, closes #2476 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
150 { |
172
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
151 GREATEST_SET_SETUP_CB(clean, NULL); |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
152 GREATEST_SET_TEARDOWN_CB(clean, NULL); |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
153 GREATEST_RUN_TEST(properties_set); |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
154 GREATEST_RUN_TEST(properties_notfound); |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
155 GREATEST_RUN_TEST(properties_remove); |
84
a6c2067709ce
core: implement basic save routines, closes #2476 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
156 } |
a6c2067709ce
core: implement basic save routines, closes #2476 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
157 |
a6c2067709ce
core: implement basic save routines, closes #2476 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
158 GREATEST_MAIN_DEFS(); |
a6c2067709ce
core: implement basic save routines, closes #2476 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
159 |
a6c2067709ce
core: implement basic save routines, closes #2476 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
160 int |
a6c2067709ce
core: implement basic save routines, closes #2476 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
161 main(int argc, char **argv) |
a6c2067709ce
core: implement basic save routines, closes #2476 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
162 { |
a6c2067709ce
core: implement basic save routines, closes #2476 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
163 GREATEST_MAIN_BEGIN(); |
172
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
164 GREATEST_RUN_SUITE(open_suite); |
6250883b81f0
core: improve save module, closes #2507
David Demelier <markand@malikania.fr>
parents:
121
diff
changeset
|
165 GREATEST_RUN_SUITE(properties_suite); |
84
a6c2067709ce
core: implement basic save routines, closes #2476 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
166 GREATEST_MAIN_END(); |
a6c2067709ce
core: implement basic save routines, closes #2476 @2h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
167 } |