Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ruanhaishen
hiredis
Commits
6c53d680
Commit
6c53d680
authored
Aug 22, 2015
by
owent
Committed by
Jan-Erik Rediger
Apr 20, 2016
Browse files
Add CI for Windows
- fix macro problem in mingw-gcc - fix typedef in cygwin
parent
2139f78c
Changes
3
Hide whitespace changes
Inline
Side-by-side
appveyor.yml
0 → 100644
View file @
6c53d680
#
# Appveyor configuration file for CI build of hiredis-happ on Windows (under Cygwin)
#
# For further details see http://www.appveyor.com
#
#
# Custom environment variables
#
environment
:
matrix
:
-
CYG_ROOT
:
C:\cygwin64
CYG_SETUP
:
setup-x86_64.exe
CYG_MIRROR
:
http://cygwin.mirror.constant.com
CYG_CACHE
:
C:\cygwin64\var\cache\setup
CYG_BASH
:
C:\cygwin64\bin\bash
CC
:
gcc
CFLAGS
:
-Werror
-
CYG_ROOT
:
C:\cygwin
CYG_SETUP
:
setup-x86.exe
CYG_MIRROR
:
http://cygwin.mirror.constant.com
CYG_CACHE
:
C:\cygwin\var\cache\setup
CYG_BASH
:
C:\cygwin\bin\bash
CC
:
gcc
TARGET
:
32bit
TARGET_VARS
:
32bit-vars
CFLAGS
:
-Werror
# - CC: clang
# CFLAGS: -Werror
# LDFLAGS:
# - CC: clang
# TARGET: 32bit
# TARGET_VARS: 32bit-vars
# CFLAGS: -Werror
# LDFLAGS:
#
# Cache Cygwin files to speed up build
#
cache
:
-
'
%CYG_CACHE%'
#
# Do a shallow clone of the repo to speed up build
#
clone_depth
:
1
#
# Initialisation prior to pulling the Mono repository
# Attempt to ensure we don't try to convert line endings to Win32 CRLF as this will cause build to fail
#
init
:
-
git config --global core.autocrlf input
#
# Install needed build dependencies
#
install
:
-
ps
:
'
Start-FileDownload
"http://cygwin.com/$env:CYG_SETUP"
-FileName
"$env:CYG_SETUP"'
-
'
%CYG_SETUP%
--quiet-mode
--no-shortcuts
--only-site
--root
"%CYG_ROOT%"
--site
"%CYG_MIRROR%"
--local-package-dir
"%CYG_CACHE%"
--packages
automake,bison,gcc-core,libtool,make,gettext-devel,gettext,intltool,pkg-config,clang,llvm
>
NUL
2>&1'
-
'
%CYG_BASH%
-lc
"cygcheck
-dc
cygwin"'
# Cygwin build script
#
# NOTES:
#
# The stdin/stdout file descriptor appears not to be valid for the Appveyor
# build which causes failures as certain functions attempt to redirect
# default file handles. Ensure a dummy file descriptor is opened with 'exec'.
#
build_script
:
-
'
echo
building...'
-
'
%CYG_BASH%
-lc
"cd
$APPVEYOR_BUILD_FOLDER;
exec
0</dev/null;
make
LDFLAGS=$LDFLAGS
CC=$CC
$TARGET
CFLAGS=$CFLAGS
&&
make
LDFLAGS=$LDFLAGS
CC=$CC
$TARGET_VARS
hiredis-example"'
#
# Run unit test
# there is no valgrind in cygwin, so skipped
# test_script:
#- '%CYG_BASH% -lc "cd $APPVEYOR_BUILD_FOLDER; exec 0</dev/null; <test command here>"'
#
# Only build the master branch
#
branches
:
only
:
-
master
# no need artifacts
fmacros.h
View file @
6c53d680
...
...
@@ -6,6 +6,10 @@
#define _DEFAULT_SOURCE
#endif
#if defined(__CYGWIN__)
#include <sys/cdefs.h>
#endif
#if defined(__sun__)
#define _POSIX_C_SOURCE 200112L
#elif defined(__linux__) || defined(__OpenBSD__) || defined(__NetBSD__)
...
...
test.c
View file @
6c53d680
...
...
@@ -30,7 +30,7 @@ struct config {
struct
{
const
char
*
path
;
}
unix
;
}
unix
_sock
;
};
/* The following lines make up our testing "framework" :) */
...
...
@@ -97,10 +97,10 @@ static redisContext *connect(struct config config) {
if
(
config
.
type
==
CONN_TCP
)
{
c
=
redisConnect
(
config
.
tcp
.
host
,
config
.
tcp
.
port
);
}
else
if
(
config
.
type
==
CONN_UNIX
)
{
c
=
redisConnectUnix
(
config
.
unix
.
path
);
c
=
redisConnectUnix
(
config
.
unix
_sock
.
path
);
}
else
if
(
config
.
type
==
CONN_FD
)
{
/* Create a dummy connection just to get an fd to inherit */
redisContext
*
dummy_ctx
=
redisConnectUnix
(
config
.
unix
.
path
);
redisContext
*
dummy_ctx
=
redisConnectUnix
(
config
.
unix
_sock
.
path
);
if
(
dummy_ctx
)
{
int
fd
=
disconnect
(
dummy_ctx
,
1
);
printf
(
"Connecting to inherited fd %d
\n
"
,
fd
);
...
...
@@ -361,7 +361,7 @@ static void test_blocking_connection_errors(void) {
strcmp
(
c
->
errstr
,
"Connection refused"
)
==
0
);
redisFree
(
c
);
test
(
"Returns error when the unix socket path doesn't accept connections: "
);
test
(
"Returns error when the unix
_sock
socket path doesn't accept connections: "
);
c
=
redisConnectUnix
((
char
*
)
"/tmp/idontexist.sock"
);
test_cond
(
c
->
err
==
REDIS_ERR_IO
);
/* Don't care about the message... */
redisFree
(
c
);
...
...
@@ -482,7 +482,7 @@ static void test_blocking_connection_timeouts(struct config config) {
test
(
"Reconnect properly uses owned parameters: "
);
config
.
tcp
.
host
=
"foo"
;
config
.
unix
.
path
=
"foo"
;
config
.
unix
_sock
.
path
=
"foo"
;
redisReconnect
(
c
);
reply
=
redisCommand
(
c
,
"PING"
);
test_cond
(
reply
!=
NULL
&&
reply
->
type
==
REDIS_REPLY_STATUS
&&
strcmp
(
reply
->
str
,
"PONG"
)
==
0
);
...
...
@@ -736,7 +736,7 @@ int main(int argc, char **argv) {
.
host
=
"127.0.0.1"
,
.
port
=
6379
},
.
unix
=
{
.
unix
_sock
=
{
.
path
=
"/tmp/redis.sock"
}
};
...
...
@@ -757,7 +757,7 @@ int main(int argc, char **argv) {
cfg
.
tcp
.
port
=
atoi
(
argv
[
0
]);
}
else
if
(
argc
>=
2
&&
!
strcmp
(
argv
[
0
],
"-s"
))
{
argv
++
;
argc
--
;
cfg
.
unix
.
path
=
argv
[
0
];
cfg
.
unix
_sock
.
path
=
argv
[
0
];
}
else
if
(
argc
>=
1
&&
!
strcmp
(
argv
[
0
],
"--skip-throughput"
))
{
throughput
=
0
;
}
else
if
(
argc
>=
1
&&
!
strcmp
(
argv
[
0
],
"--skip-inherit-fd"
))
{
...
...
@@ -783,7 +783,7 @@ int main(int argc, char **argv) {
test_append_formatted_commands
(
cfg
);
if
(
throughput
)
test_throughput
(
cfg
);
printf
(
"
\n
Testing against Unix socket connection (%s):
\n
"
,
cfg
.
unix
.
path
);
printf
(
"
\n
Testing against Unix socket connection (%s):
\n
"
,
cfg
.
unix
_sock
.
path
);
cfg
.
type
=
CONN_UNIX
;
test_blocking_connection
(
cfg
);
test_blocking_connection_timeouts
(
cfg
);
...
...
@@ -791,7 +791,7 @@ int main(int argc, char **argv) {
if
(
throughput
)
test_throughput
(
cfg
);
if
(
test_inherit_fd
)
{
printf
(
"
\n
Testing against inherited fd (%s):
\n
"
,
cfg
.
unix
.
path
);
printf
(
"
\n
Testing against inherited fd (%s):
\n
"
,
cfg
.
unix
_sock
.
path
);
cfg
.
type
=
CONN_FD
;
test_blocking_connection
(
cfg
);
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment