summary refs log tree commit diff
path: root/gnu/packages/patches/libcyaml-libyaml-compat.patch
blob: dcb8cb51b862b60895cdfa1d49fb10421c1e11f6 (plain) (blame)
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
45
46
47
48
49
50
51
Fix build against libyaml 0.2.5.

Taken from upstream:
https://github.com/tlsa/libcyaml/commit/0e947264b947f51f7ea785068637c4bfce5d4171

diff --git a/test/units/save.c b/test/units/save.c
--- a/test/units/save.c
+++ b/test/units/save.c
@@ -3476,7 +3476,7 @@ static bool test_save_sequence_null_values_int(
 		ttest_report_ctx_t *report,
 		const cyaml_config_t *config)
 {
-	static const unsigned char ref[] =
+	static const unsigned char ref1[] =
 		"---\n"
 		"- 7\n"
 		"- 6\n"
@@ -3487,6 +3487,18 @@ static bool test_save_sequence_null_values_int(
 		"- \n"
 		"- 0\n"
 		"...\n";
+	/* As of libyaml 0.2.5, trailing spaces are not emitted. */
+	static const unsigned char ref2[] =
+		"---\n"
+		"- 7\n"
+		"- 6\n"
+		"- 5\n"
+		"-\n"
+		"- 3\n"
+		"- 2\n"
+		"-\n"
+		"- 0\n"
+		"...\n";
 	static const int d[] = { 7, 6, 5, 4, 3, 2, 1, 0 };
 	static const int *data[] = { d + 0, d + 1, d + 2, NULL,
 	                             d + 4, d + 5, NULL, d + 7, };
@@ -3515,11 +3527,12 @@ static bool test_save_sequence_null_values_int(
 		return ttest_fail(&tc, cyaml_strerror(err));
 	}
 
-	if (len != YAML_LEN(ref) || memcmp(ref, buffer, len) != 0) {
+	if ((len != YAML_LEN(ref1) || memcmp(ref1, buffer, len) != 0) &&
+	    (len != YAML_LEN(ref2) || memcmp(ref2, buffer, len) != 0)) {
 		return ttest_fail(&tc, "Bad data:\n"
 				"EXPECTED (%zu):\n\n%.*s\n\n"
 				"GOT (%zu):\n\n%.*s\n",
-				YAML_LEN(ref), YAML_LEN(ref), ref,
+				YAML_LEN(ref1), YAML_LEN(ref1), ref1,
 				len, len, buffer);
 	}