Add GIT_CAP_SSH if library was built with SSH

This also adds a test that actually calls git_libgit2_capabilities
and git_libgit2_version.
This commit is contained in:
Russell Belfer 2013-07-09 16:17:41 -07:00
parent a4456929a8
commit 290e147985
3 changed files with 36 additions and 1 deletions

View File

@ -105,7 +105,8 @@ GIT_EXTERN(void) git_libgit2_version(int *major, int *minor, int *rev);
*/
typedef enum {
GIT_CAP_THREADS = ( 1 << 0 ),
GIT_CAP_HTTPS = ( 1 << 1 )
GIT_CAP_HTTPS = ( 1 << 1 ),
GIT_CAP_SSH = ( 1 << 2 ),
} git_cap_t;
/**

View File

@ -32,6 +32,9 @@ int git_libgit2_capabilities()
#endif
#if defined(GIT_SSL) || defined(GIT_WINHTTP)
| GIT_CAP_HTTPS
#endif
#if defined(GIT_SSH)
| GIT_CAP_SSH
#endif
;
}

31
tests-clar/core/caps.c Normal file
View File

@ -0,0 +1,31 @@
#include "clar_libgit2.h"
void test_core_caps__0(void)
{
int major, minor, rev, caps;
git_libgit2_version(&major, &minor, &rev);
cl_assert_equal_i(LIBGIT2_VER_MAJOR, major);
cl_assert_equal_i(LIBGIT2_VER_MINOR, minor);
cl_assert_equal_i(LIBGIT2_VER_REVISION, rev);
caps = git_libgit2_capabilities();
#ifdef GIT_THREADS
cl_assert((caps & GIT_CAP_THREADS) != 0);
#else
cl_assert((caps & GIT_CAP_THREADS) == 0);
#endif
#if defined(GIT_SSL) || defined(GIT_WINHTTP)
cl_assert((caps & GIT_CAP_HTTPS) != 0);
#else
cl_assert((caps & GIT_CAP_HTTPS) == 0);
#endif
#if defined(GIT_SSH)
cl_assert((caps & GIT_CAP_SSH) != 0);
#else
cl_assert((caps & GIT_CAP_SSH) == 0);
#endif
}