Use llng-fastcgi-server in tests

This commit is contained in:
Xavier Guimard 2016-02-21 06:43:01 +00:00
parent f14ffb2884
commit f176c0a435
3 changed files with 19 additions and 17 deletions

View File

@ -338,7 +338,7 @@ e2e_test: all prepare_test_server start_web_server launch_protractor stop_web_se
prepare_test_server: prepare_test_server:
@mkdir -p e2e-tests/conf/sessions/lock e2e-tests/conf/persistents/lock @mkdir -p e2e-tests/conf/sessions/lock e2e-tests/conf/persistents/lock
@$(MAKE) install_webserver_conf install_test_site \ @$(MAKE) install_webserver_conf install_test_site install_fastcgi_server \
RCONFDIR=e2e-tests/conf \ RCONFDIR=e2e-tests/conf \
ERASECONFIG=1 \ ERASECONFIG=1 \
VHOSTLISTEN='*:$(TESTWEBSERVERPORT)' \ VHOSTLISTEN='*:$(TESTWEBSERVERPORT)' \
@ -349,7 +349,10 @@ prepare_test_server:
TESTDIR=`pwd`/e2e-tests/conf/site \ TESTDIR=`pwd`/e2e-tests/conf/site \
MANAGERPSGIDIR=`pwd`/e2e-tests \ MANAGERPSGIDIR=`pwd`/e2e-tests \
DEFDOCDIR=`pwd`/doc \ DEFDOCDIR=`pwd`/doc \
FRDOCDIR=`pwd`/po-doc/fr FRDOCDIR=`pwd`/po-doc/fr \
SBINDIR=`pwd`/e2e-tests/conf/sbin \
INITDIR=`pwd`/e2e-tests/conf/init \
ETCDEFAULTDIR=`pwd`/e2e-tests/conf/def
@cp e2e-tests/lmConf-1.js e2e-tests/lemonldap-ng.ini e2e-tests/env.conf e2e-tests/test-nginx.conf e2e-tests/conf/ @cp e2e-tests/lmConf-1.js e2e-tests/lemonldap-ng.ini e2e-tests/env.conf e2e-tests/test-nginx.conf e2e-tests/conf/
@cp e2e-tests/form.html e2e-tests/conf/site @cp e2e-tests/form.html e2e-tests/conf/site
@perl -i -pe 'BEGIN{$$p=`pwd`;chomp $$p}s#__pwd__#$$p#;s#__port__#$(TESTWEBSERVERPORT)#;s#__FASTCGISOCKDIR__#$(FASTCGISOCKDIR)#;' \ @perl -i -pe 'BEGIN{$$p=`pwd`;chomp $$p}s#__pwd__#$$p#;s#__port__#$(TESTWEBSERVERPORT)#;s#__FASTCGISOCKDIR__#$(FASTCGISOCKDIR)#;' \
@ -364,7 +367,7 @@ start_web_server: all prepare_test_server
# Clean old server if launched # Clean old server if launched
-@[ -e e2e-tests/conf/apache2.pid ] && kill `cat e2e-tests/conf/apache2.pid` || true -@[ -e e2e-tests/conf/apache2.pid ] && kill `cat e2e-tests/conf/apache2.pid` || true
-@[ -e e2e-tests/conf/nginx.pid ] && kill `cat e2e-tests/conf/nginx.pid` || true -@[ -e e2e-tests/conf/nginx.pid ] && kill `cat e2e-tests/conf/nginx.pid` || true
-@[ -e e2e-tests/conf/plackup.pid ] && kill `cat e2e-tests/conf/plackup.pid` && rm -f e2e-tests/conf/plackup.pid || true -@[ -e e2e-tests/conf/llng-fastcgi.pid ] && kill `cat e2e-tests/conf/llng-fastcgi.pid` && rm -f e2e-tests/conf/llng-fastcgi.pid || true
# Start web server (designed for Debian, path may be broken else) # Start web server (designed for Debian, path may be broken else)
@if test "$(TESTWEBSERVER)" = "apache"; then \ @if test "$(TESTWEBSERVER)" = "apache"; then \
LLNG_DEFAULTCONFFILE=`pwd`/e2e-tests/conf/lemonldap-ng.ini /usr/sbin/apache2 -d `pwd`/e2e-tests -f apache2.conf -k start; \ LLNG_DEFAULTCONFFILE=`pwd`/e2e-tests/conf/lemonldap-ng.ini /usr/sbin/apache2 -d `pwd`/e2e-tests -f apache2.conf -k start; \
@ -393,7 +396,7 @@ reload_web_server:
/usr/sbin/apache2 -d `pwd`/e2e-tests -f apache2.conf -k graceful; \ /usr/sbin/apache2 -d `pwd`/e2e-tests -f apache2.conf -k graceful; \
elif [ -e e2e-tests/conf/nginx.pid ]; then \ elif [ -e e2e-tests/conf/nginx.pid ]; then \
kill -HUP `cat e2e-tests/conf/nginx.pid`; \ kill -HUP `cat e2e-tests/conf/nginx.pid`; \
kill `cat e2e-tests/conf/plackup.pid` || true; \ kill `cat e2e-tests/conf/llng-fastcgi.pid` || true; \
$(MAKE) plackup; \ $(MAKE) plackup; \
else \ else \
$(MAKE) start_web_server; \ $(MAKE) start_web_server; \
@ -409,7 +412,7 @@ stop_web_server:
# Stop web server # Stop web server
-@[ -e e2e-tests/conf/apache2.pid ] && kill `cat e2e-tests/conf/apache2.pid` || true -@[ -e e2e-tests/conf/apache2.pid ] && kill `cat e2e-tests/conf/apache2.pid` || true
-@[ -e e2e-tests/conf/nginx.pid ] && kill `cat e2e-tests/conf/nginx.pid` ||true -@[ -e e2e-tests/conf/nginx.pid ] && kill `cat e2e-tests/conf/nginx.pid` ||true
-@[ -e e2e-tests/conf/plackup.pid ] && kill `cat e2e-tests/conf/plackup.pid` && rm -f e2e-tests/conf/plackup.pid || true -@[ -e e2e-tests/conf/llng-fastcgi.pid ] && kill `cat e2e-tests/conf/llng-fastcgi.pid` && rm -f e2e-tests/conf/llng-fastcgi.pid || true
# Clean # Clean
@rm -rf e2e-tests/conf @rm -rf e2e-tests/conf
@ -417,14 +420,12 @@ restart_web_server: start_web_server
plackup: plackup:
@LLNG_DEFAULTCONFFILE=`pwd`/e2e-tests/conf/lemonldap-ng.ini \ @LLNG_DEFAULTCONFFILE=`pwd`/e2e-tests/conf/lemonldap-ng.ini \
plackup -s FCGI \ perl -I`pwd`/lemonldap-ng-common/blib/lib/ \
--listen e2e-tests/conf/llng-fastcgi.sock \ -I`pwd`/lemonldap-ng-handler/blib/lib/ \
--pid e2e-tests/conf/plackup.pid \ -I`pwd`/lemonldap-ng-portal/blib/lib/ \
--nproc 1 --proc-title llng-fastcgi-server \ -I`pwd`/lemonldap-ng-manager/blib/lib/ \
--no-default-middleware \ e2e-tests/conf/sbin/llng-fastcgi-server \
--app e2e-tests/llng.psgi \ -F >e2e-tests/conf/fastcgi.log 2>&1 &
--keep-stderr 1 \
>e2e-tests/conf/fastcgi.log 2>&1 &
install_test: install_test:
@TESTWEBSERVERPORT=$(PORT) protractor e2e-tests/protractor-conf.js @TESTWEBSERVERPORT=$(PORT) protractor e2e-tests/protractor-conf.js
@ -477,6 +478,7 @@ install_bin: install_conf_dir
install_fastcgi_server: install_fastcgi_server:
@install -v -d $(RSBINDIR) $(RINITDIR) $(RETCDEFAULTDIR) $(RFASTCGISOCKDIR) @install -v -d $(RSBINDIR) $(RINITDIR) $(RETCDEFAULTDIR) $(RFASTCGISOCKDIR)
@cp -f fastcgi-server/sbin/llng-fastcgi-server $(RSBINDIR) @cp -f fastcgi-server/sbin/llng-fastcgi-server $(RSBINDIR)
@chmod +x $(RSBINDIR)/llng-fastcgi-server
@cp -f fastcgi-server/rc/llng-fastcgi-server $(RINITDIR) @cp -f fastcgi-server/rc/llng-fastcgi-server $(RINITDIR)
@cp -f fastcgi-server/default/llng-fastcgi-server $(RETCDEFAULTDIR) @cp -f fastcgi-server/default/llng-fastcgi-server $(RETCDEFAULTDIR)
@$(PERL) -pi -e 's#__SBINDIR__#$(SBINDIR)#;s#__DEFAULTDIR__#$(ETCDEFAULTDIR)#;s#__FASTCGISOCKDIR__#$(FASTCGISOCKDIR)#g' \ @$(PERL) -pi -e 's#__SBINDIR__#$(SBINDIR)#;s#__DEFAULTDIR__#$(ETCDEFAULTDIR)#;s#__FASTCGISOCKDIR__#$(FASTCGISOCKDIR)#g' \
@ -493,7 +495,7 @@ install_fastcgi_server:
else \ else \
$(PERL) -pi -e 's#__GROUP__#$(FASTCGIGROUP)#' $(RETCDEFAULTDIR)/llng-fastcgi-server; \ $(PERL) -pi -e 's#__GROUP__#$(FASTCGIGROUP)#' $(RETCDEFAULTDIR)/llng-fastcgi-server; \
fi fi
if [ "$(FASTCGIUSER)" != "" ]; then \ @if [ "$(FASTCGIUSER)" != "" ]; then \
chown $(FASTCGIUSER) $(RFASTCGISOCKDIR) || exit 1; \ chown $(FASTCGIUSER) $(RFASTCGISOCKDIR) || exit 1; \
if [ "$(FASTCGIGROUP)" != "" ]; then \ if [ "$(FASTCGIGROUP)" != "" ]; then \
chgrp $(FASTCGIGROUP) $(RFASTCGISOCKDIR) || exit 1; \ chgrp $(FASTCGIGROUP) $(RFASTCGISOCKDIR) || exit 1; \

View File

@ -133,7 +133,7 @@
.\" ======================================================================== .\" ========================================================================
.\" .\"
.IX Title "llng-fastcgi-server 1" .IX Title "llng-fastcgi-server 1"
.TH llng-fastcgi-server 1 "2016-02-16" "perl v5.22.1" "User Contributed Perl Documentation" .TH llng-fastcgi-server 1 "2016-02-20" "perl v5.22.1" "User Contributed Perl Documentation"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents. .\" way too many mistakes in technical documents.
.if n .ad l .if n .ad l

View File

@ -10,7 +10,7 @@ use Lemonldap::NG::Handler::SharedConf;
our %opts; our %opts;
my %_apps; my %_apps;
getopts( 'n:p:s:u:g:', \%opts ); getopts( 'Fn:p:s:u:g:', \%opts );
$opts{n} ||= $ENV{NPROC} || 7; $opts{n} ||= $ENV{NPROC} || 7;
$opts{p} ||= $ENV{PID} || '__FASTCGISOCKDIR__/llng-fastcgi.pid'; $opts{p} ||= $ENV{PID} || '__FASTCGISOCKDIR__/llng-fastcgi.pid';
@ -78,7 +78,7 @@ $server->parse_options(
'--nproc' => $opts{n}, '--nproc' => $opts{n},
'--socket' => $opts{s}, '--socket' => $opts{s},
'--proc-title' => 'llng-fastcgi-server', '--proc-title' => 'llng-fastcgi-server',
'--daemonize', ( $opts{F} ? () : '--daemonize' ),
'--no-default-middleware', '--no-default-middleware',
); );