From 0cf02ff92d5c08516ff2253f59daad1c4c582d8f Mon Sep 17 00:00:00 2001 From: Vicent Marti Date: Wed, 26 May 2010 21:23:01 +0200 Subject: [PATCH] Added t0501-walk (simple test for all revision pool walking modes) Signed-off-by: Vicent Marti Signed-off-by: Andreas Ericsson --- .../13/85f264afb75a56a5bec74243be9b367ba4ca08 | Bin 0 -> 19 bytes .../18/1037049a54a1eb5fab404658a3a250b44335d7 | Bin 0 -> 51 bytes .../18/10dff58d8a660512d4832e740f692884338ccd | Bin 0 -> 119 bytes .../45/b983be36b73c0788dc9cbcb76cbb80fc7bb057 | Bin 0 -> 18 bytes .../4a/202b346bb0fb0db7eff3cffeb3c70babbd2045 | 2 + .../5b/5b025afb0b4c913b4c338a42934a3863bf3644 | 2 + .../75/057dd4114e74cca1d750d0aee1647c903cb60a | Bin 0 -> 119 bytes .../81/4889a078c031f61ed08ab5fa863aea9314344d | Bin 0 -> 82 bytes .../84/96071c1b46c854b31185ea97743be6a8774479 | Bin 0 -> 126 bytes .../9f/d738e8f7967c078dceed8190330fc8648ee56a | 3 + .../a4/a7dce85cf63874e984719f4fdd239f5145052f | 2 + .../a7/1586c1dfe8a71c6cbf6c129f404c5642ff31bd | Bin 0 -> 28 bytes .../a8/233120f6ad708f843d861ce2b7228ec4e3dec6 | Bin 0 -> 26 bytes .../be/3563ae3f795b2b4353bcce3a527ad0a4f7f644 | 3 + .../c4/7800c7266a2be04c571c04d5a6614691ea99bd | 3 + .../e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 | Bin 0 -> 15 bytes .../f6/0079018b664e4e79329a7ef9559c8d9e0378d1 | Bin 0 -> 82 bytes .../fa/49b077972391ad58037050f2a75f74e3671e92 | Bin 0 -> 24 bytes .../fd/093bff70906175335656e6ce6ae05783708765 | Bin 0 -> 82 bytes ...c6adf9f61318f041845b01440d09aa7a91e1b5.idx | Bin 0 -> 1240 bytes ...6adf9f61318f041845b01440d09aa7a91e1b5.pack | Bin 0 -> 491 bytes tests/t0501-walk.c | 77 ++++++++++++++++++ 22 files changed, 92 insertions(+) create mode 100644 tests/t0501-objects/13/85f264afb75a56a5bec74243be9b367ba4ca08 create mode 100644 tests/t0501-objects/18/1037049a54a1eb5fab404658a3a250b44335d7 create mode 100644 tests/t0501-objects/18/10dff58d8a660512d4832e740f692884338ccd create mode 100644 tests/t0501-objects/45/b983be36b73c0788dc9cbcb76cbb80fc7bb057 create mode 100644 tests/t0501-objects/4a/202b346bb0fb0db7eff3cffeb3c70babbd2045 create mode 100644 tests/t0501-objects/5b/5b025afb0b4c913b4c338a42934a3863bf3644 create mode 100644 tests/t0501-objects/75/057dd4114e74cca1d750d0aee1647c903cb60a create mode 100644 tests/t0501-objects/81/4889a078c031f61ed08ab5fa863aea9314344d create mode 100644 tests/t0501-objects/84/96071c1b46c854b31185ea97743be6a8774479 create mode 100644 tests/t0501-objects/9f/d738e8f7967c078dceed8190330fc8648ee56a create mode 100644 tests/t0501-objects/a4/a7dce85cf63874e984719f4fdd239f5145052f create mode 100644 tests/t0501-objects/a7/1586c1dfe8a71c6cbf6c129f404c5642ff31bd create mode 100644 tests/t0501-objects/a8/233120f6ad708f843d861ce2b7228ec4e3dec6 create mode 100644 tests/t0501-objects/be/3563ae3f795b2b4353bcce3a527ad0a4f7f644 create mode 100644 tests/t0501-objects/c4/7800c7266a2be04c571c04d5a6614691ea99bd create mode 100644 tests/t0501-objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 create mode 100644 tests/t0501-objects/f6/0079018b664e4e79329a7ef9559c8d9e0378d1 create mode 100644 tests/t0501-objects/fa/49b077972391ad58037050f2a75f74e3671e92 create mode 100644 tests/t0501-objects/fd/093bff70906175335656e6ce6ae05783708765 create mode 100644 tests/t0501-objects/pack/pack-d7c6adf9f61318f041845b01440d09aa7a91e1b5.idx create mode 100644 tests/t0501-objects/pack/pack-d7c6adf9f61318f041845b01440d09aa7a91e1b5.pack create mode 100644 tests/t0501-walk.c diff --git a/tests/t0501-objects/13/85f264afb75a56a5bec74243be9b367ba4ca08 b/tests/t0501-objects/13/85f264afb75a56a5bec74243be9b367ba4ca08 new file mode 100644 index 0000000000000000000000000000000000000000..cedb2a22e6914c3bbbed90bbedf8fd2095bf5a7d GIT binary patch literal 19 acmb-^#7G-5C`FfcPQQ3!H%bn$g%SfOmF@NI2De~WFK%%kl}eMcVO zI|fyeRFs&PoDrXvnUktlQc=R-y0dwo*>)TDjyrSqY|q)<@TYo1I8Fm*0&IVk`D literal 0 HcmV?d00001 diff --git a/tests/t0501-objects/45/b983be36b73c0788dc9cbcb76cbb80fc7bb057 b/tests/t0501-objects/45/b983be36b73c0788dc9cbcb76cbb80fc7bb057 new file mode 100644 index 0000000000000000000000000000000000000000..7ca4ceed50400af7e36b25ff200a7be95f0bc61f GIT binary patch literal 18 acmb +F- \ No newline at end of file diff --git a/tests/t0501-objects/75/057dd4114e74cca1d750d0aee1647c903cb60a b/tests/t0501-objects/75/057dd4114e74cca1d750d0aee1647c903cb60a new file mode 100644 index 0000000000000000000000000000000000000000..2ef4faa0f82efa00eeac6cae9e8b2abccc8566ee GIT binary patch literal 119 zcmV--0Eqv10V^p=O;s>7G-5C`FfcPQQ3!H%bn$g%5N`dHvVMD1*wTH+ot*d0HmhE8 ziUX=5sVFfoIU_zTGbdHAq@skub!YQFv+XwQ9e3vJ*`Bkz;ZOC3aH!I})N-(rU!EJv Zrz=lf8^K%<@M(E`$>VgnNdSzWFYprfIFkSX literal 0 HcmV?d00001 diff --git a/tests/t0501-objects/81/4889a078c031f61ed08ab5fa863aea9314344d b/tests/t0501-objects/81/4889a078c031f61ed08ab5fa863aea9314344d new file mode 100644 index 0000000000000000000000000000000000000000..2f9b6b6e3d9250ba09360734aa47973a993b59d1 GIT binary patch literal 82 zcmV-Y0ImOc0V^p=O;s?nWH2-^Ff%bx2y%6F@pWZbp=_w|ZEZn+i*1|CqwPw4M;_lh o233)lTCP`8QNplXwC&*i7t3XG_U8!Ackl^w`fs=w02$OB|A$m1)Bpeg literal 0 HcmV?d00001 diff --git a/tests/t0501-objects/84/96071c1b46c854b31185ea97743be6a8774479 b/tests/t0501-objects/84/96071c1b46c854b31185ea97743be6a8774479 new file mode 100644 index 0000000000000000000000000000000000000000..5df58dda56789631c78aeed62708e1b694440195 GIT binary patch literal 126 zcmV-^0D=E_0iBK82?8+?0R2uC+kmpkZXSY&U

RiSaIAE^xQ@?_ml44FkiJ(R)*{ z(H(TH6>PFd5&0~h#n$X!k{LPpBqYvbW+w8_Xyl{wSm9BID%@u&V}Z+7esG(*wD+lu geg*3yQ9w!oju;WmZug_se_Eq;)3!|J3!n-%%(!(uEdT%j literal 0 HcmV?d00001 diff --git a/tests/t0501-objects/9f/d738e8f7967c078dceed8190330fc8648ee56a b/tests/t0501-objects/9f/d738e8f7967c078dceed8190330fc8648ee56a new file mode 100644 index 000000000..a79612435 --- /dev/null +++ b/tests/t0501-objects/9f/d738e8f7967c078dceed8190330fc8648ee56a @@ -0,0 +1,3 @@ +x[ +0E*fդ "W0-Ft݁pS[Yx^ +Db CLhut}8X*4ZsYUA X3RM) s6輢Mរ&Jm;}<\@ޏpĀv?jۺL?H \ No newline at end of file diff --git a/tests/t0501-objects/a4/a7dce85cf63874e984719f4fdd239f5145052f b/tests/t0501-objects/a4/a7dce85cf63874e984719f4fdd239f5145052f new file mode 100644 index 000000000..f8588696b --- /dev/null +++ b/tests/t0501-objects/a4/a7dce85cf63874e984719f4fdd239f5145052f @@ -0,0 +1,2 @@ +x;j1Dmdǎ|M3`V{ >QvL0I?!4Z=!צ8F!rsQy9]$D&l6A>jFWҵ IKNiZ%S + U~̽>' w [ DGڡQ-M>dO}\8g_ШoYr \ No newline at end of file diff --git a/tests/t0501-objects/a7/1586c1dfe8a71c6cbf6c129f404c5642ff31bd b/tests/t0501-objects/a7/1586c1dfe8a71c6cbf6c129f404c5642ff31bd new file mode 100644 index 0000000000000000000000000000000000000000..d0d7e736e536a41bcb885005f8bf258c61cad682 GIT binary patch literal 28 kcmbBQQQ6W+Sv9;eTEK4oHX{LN+y0Ic;3tpET3 literal 0 HcmV?d00001 diff --git a/tests/t0501-objects/a8/233120f6ad708f843d861ce2b7228ec4e3dec6 b/tests/t0501-objects/a8/233120f6ad708f843d861ce2b7228ec4e3dec6 new file mode 100644 index 0000000000000000000000000000000000000000..18a7f61c29ea8c5c9a48e3b30bead7f058d06293 GIT binary patch literal 26 icmb=Z5m>$`jW{Fc$=TS{`5WI9+ZM01*fsda7_Ea{vGU literal 0 HcmV?d00001 diff --git a/tests/t0501-objects/fa/49b077972391ad58037050f2a75f74e3671e92 b/tests/t0501-objects/fa/49b077972391ad58037050f2a75f74e3671e92 new file mode 100644 index 0000000000000000000000000000000000000000..112998d425717bb922ce74e8f6f0f831d8dc4510 GIT binary patch literal 24 gcmbYw4{Y+*Z5}2Csyees*{;KHB55dV&?dF#`kRGN5~TfOsX4T@J*P yfLQIszKM4h+|MXn`snRCm0er%Quq9yFn5~doV&qSCs?ySKaj$-^Vag-Df$4qg=3fi literal 0 HcmV?d00001 diff --git a/tests/t0501-objects/pack/pack-d7c6adf9f61318f041845b01440d09aa7a91e1b5.pack b/tests/t0501-objects/pack/pack-d7c6adf9f61318f041845b01440d09aa7a91e1b5.pack new file mode 100644 index 0000000000000000000000000000000000000000..74c7fe4f3a657d606a4a004c87336749079c0edf GIT binary patch literal 491 zcmWG=boORoU|<4bwrPA7bLRHNavd@dXt`h9wYOo@&ulXVr3x1R33=PLWk|2oj=R6e z{6ngQ-HiT=p)71gtxNdtSc@#my7+iQ>e4qWip{2_EIvQCa!ROJYez<`n&YvUtTcI* z9TTeiTBZe0nUf^pW%6`sa`eMPzM|)nA8tGF@Z|lXUFTAFz2AA(eS_Z5b4eUxWitfM zx;^&{{dY4@|EHR09p8m=V|lCdF3HolfsX5m=3+ABVfbI&731*Idp5t|LFI}jHQzg~ zyQiAoi@zxS!<^^L4J{_ighMw%nza;7mv(7p=6M|PE%R{fdiLnm>17)awYE#nS$-B0AgjUCm@D?V9#TFX)~ z$JoTcz}PU*66+=E@hWo`*7*&jWecg0;xw=p8Q#< znGm{LIG-cz>zd?K^@r5dt1_-_DeboX%y8$7^v#Wo6?0bm=)z13@;H6Q^C=U9)d4m= z>xwzr=RI@+K|))fGcic~WZt)&iFo@NUWM`6pV&9?&Vu_Hg-aj3U8k~ZOJ3@p{}TZ5 CmFm|3 literal 0 HcmV?d00001 diff --git a/tests/t0501-walk.c b/tests/t0501-walk.c new file mode 100644 index 000000000..755a4f75d --- /dev/null +++ b/tests/t0501-walk.c @@ -0,0 +1,77 @@ +#include "test_lib.h" +#include "test_helpers.h" +#include "commit.h" + +#include +#include +#include + +static const char *odb_dir = "../t0501-objects"; +/* + $ git log --oneline --graph --decorate + * a4a7dce (HEAD, br2) Merge branch 'master' into br2 + |\ + | * 9fd738e (master) a fourth commit + | * 4a202b3 a third commit + * | c47800c branch commit one + |/ + * 5b5b025 another commit + * 8496071 testing +*/ +static const char *commit_head = "a4a7dce85cf63874e984719f4fdd239f5145052f"; + +static const char *commit_ids[] = { + "a4a7dce85cf63874e984719f4fdd239f5145052f", // 0 + "9fd738e8f7967c078dceed8190330fc8648ee56a", // 1 + "4a202b346bb0fb0db7eff3cffeb3c70babbd2045", // 2 + "c47800c7266a2be04c571c04d5a6614691ea99bd", // 3 + "8496071c1b46c854b31185ea97743be6a8774479", // 4 + "5b5b025afb0b4c913b4c338a42934a3863bf3644", // 5 +}; + +static const int commit_sorting_topo[] = {0, 1, 2, 3, 5, 4}; +static const int commit_sorting_time[] = {0, 3, 1, 2, 5, 4}; +static const int commit_sorting_topo_reverse[] = {4, 5, 3, 2, 1, 0}; +static const int commit_sorting_time_reverse[] = {4, 5, 2, 1, 3, 0}; +static const int commit_sorting_topo_time[] = {0}; + +BEGIN_TEST(simple_walk_test) + git_odb *db; + git_oid id; + git_revpool *pool; + git_commit *head = NULL; + + must_pass(git_odb_open(&db, odb_dir)); + + pool = gitrp_alloc(db); + must_be_true(pool != NULL); + + git_oid_mkstr(&id, commit_head); + + head = git_commit_parse(pool, &id); + must_be_true(head != NULL); + + gitrp_push(pool, head); + +#define TEST_WALK(sort_flags, result_array) {\ + char oid[40]; int i = 0;\ + git_commit *commit = NULL;\ + gitrp_sorting(pool, sort_flags);\ + while ((commit = gitrp_next(pool)) != NULL) {\ + git_oid_fmt(oid, &commit->object.id);\ + must_be_true(memcmp(oid, commit_ids[result_array[i++]], 40) == 0);\ + }\ + must_be_true(i == sizeof(result_array)/sizeof(int));\ + gitrp_reset(pool);\ +} + + TEST_WALK(GIT_RPSORT_TIME, commit_sorting_time); + TEST_WALK(GIT_RPSORT_TOPOLOGICAL, commit_sorting_topo); + TEST_WALK(GIT_RPSORT_TIME | GIT_RPSORT_REVERSE, commit_sorting_time_reverse); + TEST_WALK(GIT_RPSORT_TOPOLOGICAL | GIT_RPSORT_REVERSE, commit_sorting_topo_reverse); + +#undef TEST_WALK + + gitrp_free(pool); + git_odb_close(db); +END_TEST