mirror of
https://git.proxmox.com/git/libgit2
synced 2025-06-27 14:02:50 +00:00
Merge pull request #2832 from ethomson/appveyor_badge
64-bit Appveyor Builds
This commit is contained in:
commit
f83c19c87d
@ -2,6 +2,12 @@ version: '{build}'
|
|||||||
branches:
|
branches:
|
||||||
only:
|
only:
|
||||||
- master
|
- master
|
||||||
|
environment:
|
||||||
|
matrix:
|
||||||
|
- GENERATOR: "Visual Studio 11"
|
||||||
|
ARCH: 32
|
||||||
|
- GENERATOR: "Visual Studio 11 Win64"
|
||||||
|
ARCH: 64
|
||||||
build_script:
|
build_script:
|
||||||
- ps: >-
|
- ps: >-
|
||||||
choco install cmake
|
choco install cmake
|
||||||
@ -12,7 +18,7 @@ build_script:
|
|||||||
|
|
||||||
cd build
|
cd build
|
||||||
|
|
||||||
cmake -D ENABLE_TRACE=ON -D BUILD_CLAR=ON -D STDCALL=ON .. -G"Visual Studio 11"
|
cmake -D ENABLE_TRACE=ON -D BUILD_CLAR=ON .. -G"$env:GENERATOR"
|
||||||
|
|
||||||
cmake --build . --config RelWithDebInfo
|
cmake --build . --config RelWithDebInfo
|
||||||
test_script:
|
test_script:
|
||||||
|
@ -24,12 +24,10 @@ do { \
|
|||||||
structname structname##_macro_latest = macroinit; \
|
structname structname##_macro_latest = macroinit; \
|
||||||
structname structname##_func_latest; \
|
structname structname##_func_latest; \
|
||||||
int structname##_curr_ver = structver - 1; \
|
int structname##_curr_ver = structver - 1; \
|
||||||
|
memset(&structname##_func_latest, 0, sizeof(structname##_func_latest)); \
|
||||||
cl_git_pass(funcinitname(&structname##_func_latest, structver)); \
|
cl_git_pass(funcinitname(&structname##_func_latest, structver)); \
|
||||||
cl_check_( \
|
options_cmp(&structname##_macro_latest, &structname##_func_latest, \
|
||||||
memcmp(&structname##_macro_latest, &structname##_func_latest, \
|
sizeof(structname), STRINGIFY(structname)); \
|
||||||
sizeof(structname)) == 0, \
|
|
||||||
"Macro-based and function-based initializer for " STRINGIFY(structname) \
|
|
||||||
" are not equivalent."); \
|
|
||||||
\
|
\
|
||||||
while (structname##_curr_ver > 0) \
|
while (structname##_curr_ver > 0) \
|
||||||
{ \
|
{ \
|
||||||
@ -39,8 +37,40 @@ do { \
|
|||||||
}\
|
}\
|
||||||
} while(0)
|
} while(0)
|
||||||
|
|
||||||
void test_structinit_structinit__compare(void)
|
static void options_cmp(void *one, void *two, size_t size, const char *name)
|
||||||
{
|
{
|
||||||
|
size_t i;
|
||||||
|
|
||||||
|
for (i = 0; i < size; i++) {
|
||||||
|
if (((char *)one)[i] != ((char *)two)[i]) {
|
||||||
|
char desc[1024];
|
||||||
|
|
||||||
|
p_snprintf(desc, 1024, "Difference in %s at byte %d: macro=%u / func=%u",
|
||||||
|
name, i, ((char *)one)[i], ((char *)two)[i]);
|
||||||
|
clar__fail(__FILE__, __LINE__,
|
||||||
|
"Difference between macro and function options initializer",
|
||||||
|
desc, 0);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void test_core_structinit__compare(void)
|
||||||
|
{
|
||||||
|
/* These tests assume that they can memcmp() two structures that were
|
||||||
|
* initialized with the same static initializer. Eg,
|
||||||
|
* git_blame_options = GIT_BLAME_OPTIONS_INIT;
|
||||||
|
*
|
||||||
|
* This assumption fails when there is padding between structure members,
|
||||||
|
* which is not guaranteed to be initialized to anything sane at all.
|
||||||
|
*
|
||||||
|
* Assume most compilers, in a debug build, will clear that memory for
|
||||||
|
* us or set it to sentinal markers. Etc.
|
||||||
|
*/
|
||||||
|
#if !defined(DEBUG) && !defined(_DEBUG)
|
||||||
|
clar__skip();
|
||||||
|
#endif
|
||||||
|
|
||||||
/* blame */
|
/* blame */
|
||||||
CHECK_MACRO_FUNC_INIT_EQUAL( \
|
CHECK_MACRO_FUNC_INIT_EQUAL( \
|
||||||
git_blame_options, GIT_BLAME_OPTIONS_VERSION, \
|
git_blame_options, GIT_BLAME_OPTIONS_VERSION, \
|
Loading…
Reference in New Issue
Block a user