Skip to content

Commit 250d531

Browse files
committed
test: preserve malformed commit/tag actors during encode
1 parent 7d6d5e1 commit 250d531

File tree

4 files changed

+38
-0
lines changed

4 files changed

+38
-0
lines changed

gix-object/tests/object/commit/from_bytes.rs

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,9 @@ fn invalid_timestsamp() {
2121
tree: b"7989dfb2ec2f41914611a22fb30bbc2b3849df9a".as_bstr(),
2222
parents: [b"8845ae683e2688bc619baade49510c17e978518f".as_bstr()].into(),
2323
author: actor,
24+
author_raw: b"Name <name@example.com> 1312735823 +051800".as_bstr(),
2425
committer: actor,
26+
committer_raw: b"Name <name@example.com> 1312735823 +051800".as_bstr(),
2527
encoding: None,
2628
message: b"edit changelog to mention about x_sendfile_header default change".as_bstr(),
2729
extra_headers: vec![]
@@ -44,7 +46,9 @@ fn invalid_email_of_committer() {
4446
tree: b"220738fd4199e95a2b244465168366a73ebdf271".as_bstr(),
4547
parents: [b"209fbe2d632761b30b7b17422914e11b93692833".as_bstr()].into(),
4648
author: actor,
49+
author_raw: b"Gregor Hartmann<gh <Gregor Hartmann<gh@openoffice.org>> 1282910542 +0200".as_bstr(),
4750
committer: actor,
51+
committer_raw: b"Gregor Hartmann<gh <Gregor Hartmann<gh@openoffice.org>> 1282910542 +0200".as_bstr(),
4852
encoding: None,
4953
message: b"build breakers".as_bstr(),
5054
extra_headers: vec![]
@@ -60,7 +64,9 @@ fn unsigned() -> crate::Result {
6064
tree: b"1b2dfb4ac5e42080b682fc676e9738c94ce6d54d".as_bstr(),
6165
parents: SmallVec::default(),
6266
author: signature("1592437401 +0800"),
67+
author_raw: b"Sebastian Thiel <sebastian.thiel@icloud.com> 1592437401 +0800".as_bstr(),
6368
committer: signature("1592437401 +0800"),
69+
committer_raw: b"Sebastian Thiel <sebastian.thiel@icloud.com> 1592437401 +0800".as_bstr(),
6470
encoding: None,
6571
message: b"without sig".as_bstr(),
6672
extra_headers: vec![]
@@ -77,7 +83,9 @@ fn whitespace() -> crate::Result {
7783
tree: b"9bed6275068a0575243ba8409253e61af81ab2ff".as_bstr(),
7884
parents: SmallVec::from(vec![b"26b4df046d1776c123ac69d918f5aec247b58cc6".as_bstr()]),
7985
author: signature("1592448450 +0800"),
86+
author_raw: b"Sebastian Thiel <sebastian.thiel@icloud.com> 1592448450 +0800".as_bstr(),
8087
committer: signature("1592448450 +0800"),
88+
committer_raw: b"Sebastian Thiel <sebastian.thiel@icloud.com> 1592448450 +0800".as_bstr(),
8189
encoding: None,
8290
message: b" nl".as_bstr(), // this one had a \n trailing it, but git seems to trim that
8391
extra_headers: vec![]
@@ -94,7 +102,9 @@ fn signed_singleline() -> crate::Result {
94102
tree: b"00fc39317701176e326974ce44f5bd545a32ec0b".as_bstr(),
95103
parents: SmallVec::from(vec![b"09d8d3a12e161a7f6afb522dbe8900a9c09bce06".as_bstr()]),
96104
author: signature("1592391367 +0800"),
105+
author_raw: b"Sebastian Thiel <sebastian.thiel@icloud.com> 1592391367 +0800".as_bstr(),
97106
committer: signature("1592391367 +0800"),
107+
committer_raw: b"Sebastian Thiel <sebastian.thiel@icloud.com> 1592391367 +0800".as_bstr(),
98108
encoding: None,
99109
message: b"update tasks\n".as_bstr(),
100110
extra_headers: vec![(b"gpgsig".as_bstr(), b"magic:signature".as_bstr().into())]
@@ -113,7 +123,9 @@ fn mergetag() -> crate::Result {
113123
b"8d485da0ddee79d0e6713405694253d401e41b93".as_bstr(),
114124
]),
115125
author: linus_signature("1591996221 -0700"),
126+
author_raw: b"Linus Torvalds <torvalds@linux-foundation.org> 1591996221 -0700".as_bstr(),
116127
committer: linus_signature("1591996221 -0700"),
128+
committer_raw: b"Linus Torvalds <torvalds@linux-foundation.org> 1591996221 -0700".as_bstr(),
117129
encoding: None,
118130
message: LONG_MESSAGE.as_bytes().as_bstr(),
119131
extra_headers: vec![(
@@ -135,7 +147,9 @@ fn signed() -> crate::Result {
135147
tree: b"00fc39317701176e326974ce44f5bd545a32ec0b".as_bstr(),
136148
parents: SmallVec::from(vec![b"09d8d3a12e161a7f6afb522dbe8900a9c09bce06".as_bstr()]),
137149
author: signature("1592391367 +0800"),
150+
author_raw: b"Sebastian Thiel <sebastian.thiel@icloud.com> 1592391367 +0800".as_bstr(),
138151
committer: signature("1592391367 +0800"),
152+
committer_raw: b"Sebastian Thiel <sebastian.thiel@icloud.com> 1592391367 +0800".as_bstr(),
139153
encoding: None,
140154
message: b"update tasks\n".as_bstr(),
141155
extra_headers: vec![(b"gpgsig".as_bstr(), b"-----BEGIN PGP SIGNATURE-----\n\niQEzBAABCAAdFiEEdjYp/sh4j8NRKLX27gKdHl60AwAFAl7p9tgACgkQ7gKdHl60\nAwBpegf+KQciv9AOIN7+yPmowecGxBnSfpKWTDzFxnyGR8dq63SpWT8WEKG5mf3a\nG6iUqpsDWaMHlzihaMKRvgRpZxFRbjnNPFBj6F4RRqfE+5R7k6DRSLUV5PqnsdSH\nuccfIDWi1imhsm7AaP5trwl1t+83U2JhHqPcPVFLMODYwWeO6NLR/JCzGSTQRa8t\nRgaVMKI19O/fge5OT5Ua8D47VKEhsJX0LfmkP5RfZQ8JJvNd40TupqKRdlv0sAzP\nya7NXkSHXCavHNR6kA+KpWxn900UoGK8/IDlwU6MeOkpPVawb3NFMqnc7KJDaC2p\nSMzpuEG8LTrCx2YSpHNLqHyzvQ1CZA==\n=5ITV\n-----END PGP SIGNATURE-----\n".as_bstr().into())]
@@ -152,7 +166,9 @@ fn signed_with_encoding() -> crate::Result {
152166
tree: b"1973afa74d87b2bb73fa884aaaa8752aec43ea88".as_bstr(),
153167
parents: SmallVec::from(vec![b"79c51cc86923e2b8ca0ee5c4eb75e48027133f9a".as_bstr()]),
154168
author: signature("1592448995 +0800"),
169+
author_raw: b"Sebastian Thiel <sebastian.thiel@icloud.com> 1592448995 +0800".as_bstr(),
155170
committer: signature("1592449083 +0800"),
171+
committer_raw: b"Sebastian Thiel <sebastian.thiel@icloud.com> 1592449083 +0800".as_bstr(),
156172
encoding: Some(b"ISO-8859-1".as_bstr()),
157173
message: b"encoding & sig".as_bstr(),
158174
extra_headers: vec![(b"gpgsig".as_bstr(), SIGNATURE.as_bstr().into())]
@@ -169,7 +185,9 @@ fn with_encoding() -> crate::Result {
169185
tree: b"4a1c03029e7407c0afe9fc0320b3258e188b115e".as_bstr(),
170186
parents: SmallVec::from(vec![b"7ca98aad461a5c302cb4c9e3acaaa6053cc67a62".as_bstr()]),
171187
author: signature("1592438199 +0800"),
188+
author_raw: b"Sebastian Thiel <sebastian.thiel@icloud.com> 1592438199 +0800".as_bstr(),
172189
committer: signature("1592438199 +0800"),
190+
committer_raw: b"Sebastian Thiel <sebastian.thiel@icloud.com> 1592438199 +0800".as_bstr(),
173191
encoding: Some("ISO-8859-1".into()),
174192
message: b"commit with encoding".as_bstr(),
175193
extra_headers: vec![]
@@ -191,7 +209,9 @@ fn pre_epoch() -> crate::Result {
191209
tree: b"71cdd4015386b764b178005cad4c88966bc9d61a".as_bstr(),
192210
parents: SmallVec::default(),
193211
author: signature(),
212+
author_raw: "Législateur <> -5263834140 +0009".as_bytes().as_bstr(),
194213
committer: signature(),
214+
committer_raw: "Législateur <> -5263834140 +0009".as_bytes().as_bstr(),
195215
encoding: None,
196216
message: "Version consolidée au 14 mars 1803\n".into(),
197217
extra_headers: vec![]
@@ -213,7 +233,9 @@ fn double_dash_special_time_offset() -> crate::Result {
213233
tree: b"0a851d7a2a66084ab10516c406a405d147e974ad".as_bstr(),
214234
parents: SmallVec::from(vec![b"31350f4f0f459485eff2131517e3450cf251f6fa".as_bstr()]),
215235
author: signature(),
236+
author_raw: "name <name@example.com> 1288373970 --700".as_bytes().as_bstr(),
216237
committer: signature(),
238+
committer_raw: "name <name@example.com> 1288373970 --700".as_bytes().as_bstr(),
217239
encoding: None,
218240
message: "msg\n".into(),
219241
extra_headers: vec![]
@@ -237,7 +259,9 @@ fn with_trailer() -> crate::Result {
237259
tree: b"25a19c29c5e36884c1ad85d8faf23f1246b7961b".as_bstr(),
238260
parents: SmallVec::from(vec![b"699ae71105dddfcbb9711ed3a92df09e91a04e90".as_bstr()]),
239261
author: kim,
262+
author_raw: "Kim Altintop <kim@eagain.st> 1631514803 +0200".as_bytes().as_bstr(),
240263
committer: kim,
264+
committer_raw: "Kim Altintop <kim@eagain.st> 1631514803 +0200".as_bytes().as_bstr(),
241265
encoding: None,
242266
message: b"test: use gitoxide for link-git-protocol tests
243267
@@ -317,7 +341,9 @@ fn merge() -> crate::Result {
317341
b"c91d592913d47ac4e4a76daf16fd649b276e211e".as_bstr()
318342
]),
319343
author: signature("1592454703 +0800"),
344+
author_raw: b"Sebastian Thiel <sebastian.thiel@icloud.com> 1592454703 +0800".as_bstr(),
320345
committer: signature("1592454738 +0800"),
346+
committer_raw: b"Sebastian Thiel <sebastian.thiel@icloud.com> 1592454738 +0800".as_bstr(),
321347
encoding: Some("ISO-8859-1".into()),
322348
message: b"Merge branch 'branch'".as_bstr(),
323349
extra_headers: vec![]

gix-object/tests/object/commit/message.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,9 @@ mod summary {
242242
tree: "tree".into(),
243243
parents: Default::default(),
244244
author: actor,
245+
author_raw: "name <email> 0 0000".as_bytes().as_bstr(),
245246
committer: actor,
247+
committer_raw: "name <email> 0 0000".as_bytes().as_bstr(),
246248
encoding: None,
247249
message: input.as_bstr(),
248250
extra_headers: vec![]

gix-object/tests/object/tag/mod.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,7 @@ mod from_bytes {
177177
target_kind: Kind::Commit,
178178
message: b"\n".as_bstr(),
179179
tagger: Some(signature("1592381636 +0800")),
180+
tagger_raw: Some(b"Sebastian Thiel <sebastian.thiel@icloud.com> 1592381636 +0800".as_bstr()),
180181
pgp_signature: None
181182
}
182183
);
@@ -196,6 +197,7 @@ mod from_bytes {
196197
target_kind: Kind::Commit,
197198
message: b"".as_bstr(),
198199
tagger: Some(signature("1592381636 +0800")),
200+
tagger_raw: Some(b"Sebastian Thiel <sebastian.thiel@icloud.com> 1592381636 +0800".as_bstr()),
199201
pgp_signature: None
200202
}
201203
);
@@ -213,6 +215,7 @@ mod from_bytes {
213215
target_kind: Kind::Commit,
214216
message: b"hello\n\nworld".as_bstr(),
215217
tagger: Some(signature("1592311808 +0800")),
218+
tagger_raw: Some(b"Sebastian Thiel <sebastian.thiel@icloud.com> 1592311808 +0800".as_bstr()),
216219
pgp_signature: None
217220
}
218221
);
@@ -235,6 +238,7 @@ object up to a real commit. In the meantime, this acts as an anchor point for
235238
doing diffs etc under git."
236239
.as_bstr(),
237240
tagger: None,
241+
tagger_raw: None,
238242
pgp_signature: Some(
239243
b"-----BEGIN PGP SIGNATURE-----
240244
Version: GnuPG v1.2.4 (GNU/Linux)
@@ -261,6 +265,7 @@ KLMHist5yj0sw1E4hDTyQa0=
261265
target_kind: Kind::Commit,
262266
message: b" \ttab\nnewline\n\nlast-with-trailer\n".as_bstr(),
263267
tagger: Some(signature("1592382888 +0800")),
268+
tagger_raw: Some(b"Sebastian Thiel <sebastian.thiel@icloud.com> 1592382888 +0800".as_bstr()),
264269
pgp_signature: None
265270
}
266271
);
@@ -281,6 +286,7 @@ KLMHist5yj0sw1E4hDTyQa0=
281286
email: b"shemminger".as_bstr(),
282287
time: "",
283288
}),
289+
tagger_raw: Some(b"shemminger <shemminger>".as_bstr()),
284290
pgp_signature: None
285291
}
286292
);
@@ -319,5 +325,6 @@ cjHJZXWmV4CcRfmLsXzU8s2cR9A0DBvOxhPD1TlKC2JhBFXigjuL9U4Rbq9tdegB
319325
email: b"byronimo@gmail.com".as_bstr(),
320326
time: "1528473343 +0230",
321327
}),
328+
tagger_raw: Some(b"Sebastian Thiel <byronimo@gmail.com> 1528473343 +0230".as_bstr()),
322329
}
323330
}

gix-odb/tests/odb/store/loose.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -285,6 +285,7 @@ cjHJZXWmV4CcRfmLsXzU8s2cR9A0DBvOxhPD1TlKC2JhBFXigjuL9U4Rbq9tdegB
285285
.as_bstr(),
286286
),
287287
tagger: Some(signature("1528473343 +0200")),
288+
tagger_raw: Some(b"Sebastian Thiel <byronimo@gmail.com> 1528473343 +0200".as_bstr()),
288289
};
289290
assert_eq!(o.decode()?.as_tag().expect("tag"), &expected);
290291
Ok(())
@@ -300,7 +301,9 @@ cjHJZXWmV4CcRfmLsXzU8s2cR9A0DBvOxhPD1TlKC2JhBFXigjuL9U4Rbq9tdegB
300301
tree: b"6ba2a0ded519f737fd5b8d5ccfb141125ef3176f".as_bstr(),
301302
parents: vec![].into(),
302303
author: signature("1528473303 +0200"),
304+
author_raw: b"Sebastian Thiel <byronimo@gmail.com> 1528473303 +0200".as_bstr(),
303305
committer: signature("1528473303 +0200"),
306+
committer_raw: b"Sebastian Thiel <byronimo@gmail.com> 1528473303 +0200".as_bstr(),
304307
encoding: None,
305308
message: b"initial commit\n".as_bstr(),
306309
extra_headers: vec![(b"gpgsig".as_bstr(), b"-----BEGIN PGP SIGNATURE-----\nComment: GPGTools - https://gpgtools.org\n\niQIzBAABCgAdFiEEw7xSvXbiwjusbsBqZl+Z+p2ZlmwFAlsaptwACgkQZl+Z+p2Z\nlmxXSQ//fj6t7aWoEKeMdFigfj6OXWPUyrRbS0N9kpJeOfA0BIOea/6Jbn8J5qh1\nYRfrySOzHPXR5Y+w4GwLiVas66qyhAbk4yeqZM0JxBjHDyPyRGhjUd3y7WjEa6bj\nP0ACAIkYZQ/Q/LDE3eubmhAwEobBH3nZbwE+/zDIG0i265bD5C0iDumVOiKkSelw\ncr6FZVw1HH+GcabFkeLRZLNGmPqGdbeBwYERqb0U1aRCzV1xLYteoKwyWcYaH8E3\n97z1rwhUO/L7o8WUEJtP3CLB0zuocslMxskf6bCeubBnRNJ0YrRmxGarxCP3vn4D\n3a/MwECnl6mnUU9t+OnfvrzLDN73rlq8iasUq6hGe7Sje7waX6b2UGpxHqwykmXg\nVimD6Ah7svJanHryfJn38DvJW/wOMqmAnSUAp+Y8W9EIe0xVntCmtMyoKuqBoY7T\nJlZ1kHJte6ELIM5JOY9Gx7D0ZCSKZJQqyjoqtl36dsomT0I78/+7QS1DP4S6XB7d\nc3BYH0JkW81p7AAFbE543ttN0Z4wKXErMFqUKnPZUIEuybtlNYV+krRdfDBWQysT\n3MBebjguVQ60oGs06PzeYBosKGQrHggAcwduLFuqXhLTJqN4UQ18RkE0vbtG3YA0\n+XtZQM13vURdfwFI5qitAGgw4EzPVrkWWzApzLCrRPEMbvP+b9A=\n=2qqN\n-----END PGP SIGNATURE-----\n".as_bstr().into())]

0 commit comments

Comments
 (0)