mirror of
https://github.com/git/git
synced 2024-10-05 16:19:28 +00:00
ed54840872
helper/test-oidtree.c along with t0069-oidtree.sh test the oidtree.h library, which is a wrapper around crit-bit tree. Migrate them to the unit testing framework for better debugging and runtime performance. Along with the migration, add an extra check for oidtree_each() test, which showcases how multiple expected matches can be given to check_each() helper. To achieve this, introduce a new library called 'lib-oid.h' exclusively for the unit tests to use. It currently mainly includes utility to generate object_id from an arbitrary hex string (i.e. '12a' -> '12a0000000000000000000000000000000000000'). This also handles the hash algo selection based on GIT_TEST_DEFAULT_HASH. This library will also be helpful when we port other unit tests such as oid-array, oidset etc. Helped-by: Junio C Hamano <gitster@pobox.com> Mentored-by: Christian Couder <chriscool@tuxfamily.org> Mentored-by: Kaartic Sivaraam <kaartic.sivaraam@gmail.com> Signed-off-by: Ghanshyam Thakkar <shyamthakkar001@gmail.com> [jc: small fixlets squashed in] Signed-off-by: Junio C Hamano <gitster@pobox.com>
18 lines
538 B
C
18 lines
538 B
C
#ifndef LIB_OID_H
|
|
#define LIB_OID_H
|
|
|
|
#include "hash-ll.h"
|
|
|
|
/*
|
|
* Convert arbitrary hex string to object_id.
|
|
* For example, passing "abc12" will generate
|
|
* "abc1200000000000000000000000000000000000" hex of length 40 for SHA-1 and
|
|
* create object_id with that.
|
|
* WARNING: passing a string of length more than the hexsz of respective hash
|
|
* algo is not allowed. The hash algo is decided based on GIT_TEST_DEFAULT_HASH
|
|
* environment variable.
|
|
*/
|
|
int get_oid_arbitrary_hex(const char *s, struct object_id *oid);
|
|
|
|
#endif /* LIB_OID_H */
|