Maj terminée. Pour consulter la release notes associée voici le lien :
https://about.gitlab.com/releases/2021/07/07/critical-security-release-gitlab-14-0-4-released/

Commit c09e6d0a authored by Ryan Herbert's avatar Ryan Herbert
Browse files

Merge branch 'vidjil_parser_prototype' of gitlab.inria.fr:vidjil/vidjil into...

Merge branch 'vidjil_parser_prototype' of gitlab.inria.fr:vidjil/vidjil into vidjil_parser_prototype
parents 6a79c7e3 2276f061
...@@ -16,12 +16,21 @@ stages: ...@@ -16,12 +16,21 @@ stages:
- test_functional - test_functional
- test_functional_external - test_functional_external
- test_shouldvdj - test_shouldvdj
- coverage
- prepare_release - prepare_release
- release - release
- valgrind_unit - valgrind_unit
- valgrind_functional - valgrind_functional
- prepare_deploy
- deploy_prod - deploy_prod
# Anchors
.coverage_dependency: &lcov_artifact
artifacts:
paths:
- algo/lcov_test_*.filtered
expire_in: 6hrs
# Tools # Tools
...@@ -36,7 +45,7 @@ test_germlines: ...@@ -36,7 +45,7 @@ test_germlines:
stage: test_germlines stage: test_germlines
script: script:
- make -C germline get-all-data - make -C germline get-all-data
- make -C germline/tests - make -C germline tests
only: only:
- /^feature-.*g.*\/.*$/ - /^feature-.*g.*\/.*$/
...@@ -45,25 +54,34 @@ test_germlines: ...@@ -45,25 +54,34 @@ test_germlines:
test_algo_unit: test_algo_unit:
stage: test_unit stage: test_unit
script: make -C algo unit script: make -C algo unit_coverage
only: <<: *lcov_artifact
- /^feature-.*a.*\/.*$/
test_tools_unit:
stage: test_unit
script: make -C tools/tests
only: only:
- /^feature-.*a.*\/.*$/ - /^feature-.*a.*\/.*$/
test_algo_should: test_algo_should:
stage: test_functional stage: test_functional
script: make -C algo should script: make -C algo should_coverage
only: only:
- /^feature-.*a.*\/.*$/ - /^feature-.*a.*\/.*$/
<<: *lcov_artifact
test_algo_shouldvdj: test_algo_shouldvdj:
stage: test_shouldvdj stage: test_shouldvdj
script: make -C algo shouldvdj script: make -C algo shouldvdj_coverage
<<: *lcov_artifact
only:
- /^feature-.*a.*\/.*$/
algo_coverage:
stage: coverage
coverage: /^\s*lines\.*:\s+([0-9.]+\%)/
script:
- make -C algo lcov_reports
- mv algo/reports/ coverage
artifacts:
paths:
- coverage/
only: only:
- /^feature-.*a.*\/.*$/ - /^feature-.*a.*\/.*$/
...@@ -101,9 +119,53 @@ release: ...@@ -101,9 +119,53 @@ release:
paths: paths:
- algo/releases/vidjil-algo-`cat algo/release`.tar.gz - algo/releases/vidjil-algo-`cat algo/release`.tar.gz
- algo/releases/vidjil-algo-`cat algo/release`/vidjil-algo-`cat algo/release`_`uname -m` - algo/releases/vidjil-algo-`cat algo/release`/vidjil-algo-`cat algo/release`_`uname -m`
allow_failure: false
tags: tags:
- ubuntu-16.04-amd64 - ubuntu-16.04-amd64
copy_release:
stage: prepare_deploy
script:
- |
for repo in $ALGO_REPOSITORIES; do
echo "Copying release to $repo"
scp algo/releases/vidjil-algo*.tar.gz algo/releases/vidjil-algo*/vidjil-algo-*_* $repo
done
release_name=$(cat algo/release)
ssh $VIDJIL_WWW "cd /var/www/html/releases; ln -sf vidjil-algo-${release_name}.tar.gz vidjil-latest.tgz; ln -sf vidjil-algo-${release_name}_x86_64 vidjil-latest_x86_64"
ssh $VIDJIL_BONSAI "cd /bio1/www/html/vidjil; scp vidjil-algo-${release_name}* $VIDJIL_BONSAI_PROD:/bio1/www/html/vidjil"
only:
- /^feature-.*a.*\/release$/
deploy_release_prod:
stage: deploy_prod
only:
- /^feature-.*a.*\/release$/
script:
- |
release_name=$(cat algo/release)
ssh $DEPLOY_SERVER "cd releases/vidjil;\
tar xvzf vidjil-algo-${release_name}.tar.gz;\
make -C vidjil-algo-${release_name};\
ln -sfT vidjil-algo-${release_name} next"
test_various_compilers:
stage: test_functional
only:
- feature-a/test-compilers
tags:
- several-compilers
script:
- |
for CXX in $COMPILERS; do
echo "**** Using $CXX for compilation ****"
make -C algo clean
make -C algo CXX=$CXX unit
make -C algo CXX=$CXX should
make -C algo CXX=$CXX valgrind_unit
done
# Client # Client
test_browser_unit: test_browser_unit:
...@@ -193,6 +255,7 @@ deploy_review: ...@@ -193,6 +255,7 @@ deploy_review:
stage: deploy_review stage: deploy_review
script: script:
- make -C browser icons - make -C browser icons
- echo "$REVIEW_CONFIG_JS" > browser/js/conf.js
- rsync -av --delete browser $DEPLOY_SERVER:$DEPLOY_SERVER_PATH$CI_BUILD_REF_SLUG - rsync -av --delete browser $DEPLOY_SERVER:$DEPLOY_SERVER_PATH$CI_BUILD_REF_SLUG
environment: environment:
name: review/$CI_BUILD_REF_NAME name: review/$CI_BUILD_REF_NAME
......
sudo: false
language: cpp
compiler: gcc
cache:
apt: true
pip: true
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- gcc-4.8
- g++-4.8
env: COMPILER=g++-4.8
before_install:
- export PATH="$HOME/.local/bin:$PATH"
- pip install --user cpp-coveralls
before_script: make data ; make germline
script:
- export CXX="g++-4.8"
- g++ --version
- $CXX --version
###
- echo '"Build..."' && echo -en 'travis_fold:start:script.build\\r'
- make
- echo -en 'travis_fold:end:script.build\\r'
###
- echo '"Tests, Algo (unit)..."' && echo -en 'travis_fold:start:script.test-algo-unit\\r'
- make unit
- echo -en 'travis_fold:end:script.test-algo-unit\\r'
###
- echo '"Tests, Algo (functional, .should_get)..."' && echo -en 'travis_fold:start:script.test-algo-functional\\r'
- make COVERAGE=1 should
- echo -en 'travis_fold:end:script.test-algo-functional\\r'
- make clean
###
- echo '"Tests, Algo (functional, .should-vdj.fa)..."' && echo -en 'travis_fold:start:script.test-algo-functional-vdj\\r'
- make shouldvdj
- echo -en 'travis_fold:end:script.test-algo-functional-vdj\\r'
###
- echo '"Tests, Tools..."' && echo -en 'travis_fold:start:script.test-tools\\r'
- make test_tools
- echo -en 'travis_fold:end:script.test-tools\\r'
###
- echo '"Tests, Browser (unit)..."' && echo -en 'travis_fold:start:script.test-browser-unit\\r'
- make unit_browser
- echo -en 'travis_fold:end:script.test-browser-unit\\r'
after_success:
- make should_coveralls COVERALLS_OPTIONS="--gcov /usr/bin/gcov-4.8"
notifications:
email:
- notifications@vidjil.org
webhooks:
- https://buildtimetrend.herokuapp.com/travis
* Vidjil -- High-throughput Analysis of V(D)J Immune Repertoire # Vidjil High-throughput Analysis of V(D)J Immune Repertoire
** Algorithm -- Installation instructions ## Algorithm Installation instructions
#+BEGIN_SRC sh ``` bash
make make
./vidjil-algo -h ./vidjil-algo -h
#+END_SRC ```
Detailed compilation, installation and usage instructions Detailed compilation, installation and usage instructions
can be found in [[./doc/algo.org]]. can be found in [./doc/vidjil-algo.md](./doc/vidjil-algo.md).
...@@ -5,6 +5,11 @@ VIDJIL_SERVER_SRC = server/ ...@@ -5,6 +5,11 @@ VIDJIL_SERVER_SRC = server/
TEE = python tools/tee.py -v TEE = python tools/tee.py -v
all:
$(MAKE) germline
$(MAKE) algo
$(MAKE) demo
algo: algo:
$(MAKE) -C algo $(MAKE) -C algo
......
#+TITLE: Vidjil -- High-throughput Analysis of V(D)J Immune Repertoire [![](https://gitlab.inria.fr/vidjil/vidjil/badges/dev/build.svg)](https://gitlab.inria.fr/vidjil/vidjil/tree/dev)
#+AUTHOR: The Vidjil team (Mathieu, Mikaël, Aurélien, Florian, Marc, Ryan and Tatiana) [![](http://img.shields.io/badge/license-GPLv3+-green.svg)](http://opensource.org/licenses/GPL-3.0)
[<https://landscape.io/github/vidjil/vidjil/master/landscape.svg?style=flat>](https://landscape.io/github/vidjil/vidjil)
[[https://travis-ci.org/vidjil/vidjil][https://img.shields.io/travis/vidjil/vidjil/master.svg]]
[[http://opensource.org/licenses/GPL-3.0][http://img.shields.io/badge/license-GPLv3+-green.svg]]
[[https://landscape.io/github/vidjil/vidjil][https://landscape.io/github/vidjil/vidjil/master/landscape.svg?style=flat]]
# https://coveralls.io/r/vidjil/vidjil http://img.shields.io/coveralls/vidjil/vidjil.svg
# Vidjil -- V(D)J recombinations analysis -- [[http://www.vidjil.org]]
# Copyright (C) 2011-2018 by Bonsai bioinformatics at CRIStAL (UMR CNRS 9189, Université Lille) and Inria Lille
# [[contact@vidjil.org]]
V(D)J recombinations in lymphocytes are essential for immunological V(D)J recombinations in lymphocytes are essential for immunological
diversity. They are also useful markers of pathologies, and in diversity. They are also useful markers of pathologies, and in
leukemia, are used to quantify the minimal residual disease during leukemia, are used to quantify the minimal residual disease during
patient follow-up. patient follow-up.
High-throughput sequencing (NGS/HTS) now enables the deep sequencing High-throughput sequencing (NGS/HTS) now enables the deep sequencing
of a lymphoid population with dedicated [[http://omictools.com/rep-seq-c424-p1.html][Rep-Seq]] methods and softwares. of a lymphoid population with dedicated [Rep-Seq](http://omictools.com/rep-seq-c424-p1.html) methods and softwares.
The Vidjil platform contains three components. The Vidjil platform contains three components.
Vidjil-algo processes high-througput sequencing data to *extract V(D)J Vidjil-algo processes high-througput sequencing data to **extract V(D)J
junctions and gather them into clones*. Vidjil-algo starts junctions and gather them into clones**. Vidjil-algo starts
from a set of reads and detects "windows" overlapping the actual CDR3. from a set of reads and detects "windows" overlapping the actual CDR3.
This is based on an fast and reliable seed-based heuristic and allows This is based on an fast and reliable seed-based heuristic and allows
to output all sequenced clones. The analysis is extremely fast to output all sequenced clones. The analysis is extremely fast
because, in the first phase, no alignment is performed with database because, in the first phase, no alignment is performed with database
germline sequences. germline sequences.
The Vidjil *web application* is made for the interactive visualization and The Vidjil **web application** is made for the interactive visualization and
analysis of clones and their tracking along the time in a MRD setup or analysis of clones and their tracking along the time in a MRD setup or
in a immunological study. The web application can visualize data processed by in a immunological study. The web application can visualize data processed by
the Vidjil algorithm or by other V(D)J analysis pipelines, and the Vidjil algorithm or by other V(D)J analysis pipelines, and
enables to explore further cluterings proposed enables to explore further cluterings proposed
by software and/or done manually done by the user. by software and/or done manually done by the user.
The web application can be linked to a *sample, experiment and patient database* The web application can be linked to a **sample, experiment and patient database**
able to store sequencing data and metadata, to run RepSeq software able to store sequencing data and metadata, to run RepSeq software
and to save annotations directly from the web application, with authentication. and to save annotations directly from the web application, with authentication.
Clinicians or researchers in immunology or hematology Clinicians or researchers in immunology or hematology
can manage, upload, analyze and annotate their runs directly on the web applicaiton. can manage, upload, analyze and annotate their runs directly on the web applicaiton.
* Vidjil components # Vidjil components
** Vidjil-algo ## Vidjil-algo
- Stable releases can be downloaded from http://bioinfo.lille.inria.fr/vidjil - Stable releases can be downloaded from <http://bioinfo.lille.inria.fr/vidjil> and <http://www.vidjil.org/releases>
- Development code is under [[algo/]] - Development code is under *algo/*
- Documentation, compilation and installation instructions: [[doc/algo.org]] - Documentation, compilation and installation instructions: *doc/vidjil-algo.md*
** The web application ## The web application
- Access at https://app.vidjil.org/ (demo login: demo@vidjil.org, password: vidjil) - Access at <https://app.vidjil.org/> (demo login: demo@vidjil.org, password: vidjil)
- Please contact us if you would like to test your data and have a full account on the web server - Please contact us if you would like to test your data and have a full account on the web server
- Development code is under [[browser/]] and [[server/]] (a =make= in those directories - Development code is under *browser/* and *server/* (a `make` in those directories
will get the necessary files) will get the necessary files)
- Documentation is in [[doc/]], it is also available from [[http://www.vidjil.org/doc]] - Documentation is in *doc/*, it is also available from <http://www.vidjil.org/doc>
* Code and license # Code and license
Vidjil is open-source, released under GNU GPLv3 license. Vidjil is open-source, released under GNU GPLv3 license.
You are welcome to redistribute it under [[http://git.vidjil.org/blob/master/doc/LICENSE][certain conditions]]. You are welcome to redistribute it under [certain conditions](http://git.vidjil.org/blob/master/doc/LICENSE).
This software is for research use only and comes with no warranty. This software is for research use only and comes with no warranty.
The development code is available on [[http://git.vidjil.org/]]. The development code is available on <http://gitlab.vidjil.org/>.
Bug reports, issues and patches are welcome. Bug reports, issues and patches are welcome.
* Donations # Donations
We welcome Bitcoin donations to [[bitcoin:13u12m6LxVhesKEpS6T5wpYN19LHpwk8xt][13u12m6LxVhesKEpS6T5wpYN19LHpwk8xt]]. We welcome Bitcoin donations to [13u12m6LxVhesKEpS6T5wpYN19LHpwk8xt](bitcoin:13u12m6LxVhesKEpS6T5wpYN19LHpwk8xt).
Thank you for your support ! Thank you for your support \!
* The Vidjil team # The Vidjil team
Vidjil is developed by Aurélien Béliard, [[http://cristal.univ-lille.fr/~giraud][Mathieu Giraud]], Ryan Herbert, Tatiana Rocher and [[http://cristal.univ-lille.fr/~salson][Mikaël Salson]] Vidjil is developed by Aurélien Béliard, [Mathieu Giraud](http://cristal.univ-lille.fr/~giraud), Ryan Herbert, Tatiana Rocher and [Mikaël Salson](http://cristal.univ-lille.fr/~salson)
from the [[http://cristal.univ-lille.fr/bonsai][Bonsai bioinformatics team]] (CRIStAL, CNRS, U. Lille, Inria Lille). from the [Bonsai bioinformatics team](http://cristal.univ-lille.fr/bonsai) (CRIStAL, CNRS, U. Lille, Inria Lille).
Vidjil is also developed by external colleagues: Vidjil is also developed by external colleagues:
Marc Duez located in Bristol (School of Social and Community Medicine, University of Bristol) Marc Duez located in Bristol (School of Social and Community Medicine, University of Bristol)
and Florian Thonier located in Rennes (department of hematology) and Florian Thonier located in Rennes (department of hematology)
Vidjil is developed in collaboration with Vidjil is developed in collaboration with
the [[http://biologiepathologie.chru-lille.fr/organisation-fbp/91210.html][department of Hematology]] of CHRU Lille, the [department of Hematology](http://biologiepathologie.chru-lille.fr/organisation-fbp/91210.html) of CHRU Lille,
the [[http://www.ircl.org/plate-forme-genomique.html][Functional and Structural Genomic Platform]] (U. Lille 2, IFR-114, IRCL), the [Functional and Structural Genomic Platform](http://www.ircl.org/plate-forme-genomique.html) (U. Lille 2, IFR-114, IRCL),
and the [[http://www.euroclonality.org/][EuroClonality-NGS]] working group. and the [EuroClonality-NGS](http://www.euroclonality.org/) working group.
The research is supported by SIRIC ONCOLille (Grant INCa-DGOS-Inserm 6041), by Région Nord-Pas-de-Calais/Hauts-de-France (ABILES), The research is supported by SIRIC ONCOLille (Grant INCa-DGOS-Inserm 6041), by Région Nord-Pas-de-Calais/Hauts-de-France (ABILES),
by Inria and by InCA. by Inria and by InCA.
* References # References
If you use Vidjil for your research, please cite the following references: If you use Vidjil for your research, please cite the following references:
Marc Duez et al., Marc Duez et al.,
“Vidjil: A web platform for analysis of high-throughput repertoire sequencing”, “Vidjil: A web platform for analysis of high-throughput repertoire sequencing”,
PLOS ONE 2016, 11(11):e0166126 PLOS ONE 2016, 11(11):e0166126
http://dx.doi.org/10.1371/journal.pone.0166126 <http://dx.doi.org/10.1371/journal.pone.0166126>
Mathieu Giraud, Mikaël Salson, et al., Mathieu Giraud, Mikaël Salson, et al.,
“Fast multiclonal clusterization of V(D)J recombinations from high-throughput sequencing”, “Fast multiclonal clusterization of V(D)J recombinations from high-throughput sequencing”,
BMC Genomics 2014, 15:409 BMC Genomics 2014, 15:409
[[http://dx.doi.org/10.1186/1471-2164-15-409]] <http://dx.doi.org/10.1186/1471-2164-15-409>
You may also be interested in the following publication for the diagnosis of You may also be interested in the following publication for the diagnosis of
acute lymphoblastic leukemia with high-throughput sequencing: acute lymphoblastic leukemia with high-throughput sequencing:
...@@ -102,4 +94,4 @@ acute lymphoblastic leukemia with high-throughput sequencing: ...@@ -102,4 +94,4 @@ acute lymphoblastic leukemia with high-throughput sequencing:
Yann Ferret, Aurélie Caillault, et al., “Multi-loci diagnosis of acute Yann Ferret, Aurélie Caillault, et al., “Multi-loci diagnosis of acute
lymphoblastic leukaemia with high-throughput sequencing and bioinformatics lymphoblastic leukaemia with high-throughput sequencing and bioinformatics
analysis”, British Journal of Haematology 2016 analysis”, British Journal of Haematology 2016
http://dx.doi.org/10.1111/bjh.13981 <http://dx.doi.org/10.1111/bjh.13981>
...@@ -6,9 +6,19 @@ else ...@@ -6,9 +6,19 @@ else
COVERAGE_OPTION= COVERAGE_OPTION=
endif endif
ifeq ($(CXXFLAGS), )
CXXFLAGS := -W -Wall -std=c++11 -O2 -DNDEBUG
endif
override CXXFLAGS += $(COVERAGE_OPTION) $(DEBUG)
ifeq ($(LDFLAGS),)
LDFLAGS := $(COVERAGE_OPTION)
endif
COV_OUTFILE?=lcov.out
BASE_PATH=$(dir $(abspath .))
OPTIM=-O2 -DNDEBUG $(COVERAGE_OPTION) $(DEBUG) export CXXFLAGS
override CXXFLAGS += -W -Wall -std=c++11 $(OPTIM) export LDFLAGS
export CXX
## inspired from http://stackoverflow.com/questions/399850/best-compiler-warning-level-for-c-c-compilers/401276 ## inspired from http://stackoverflow.com/questions/399850/best-compiler-warning-level-for-c-c-compilers/401276
PARANOID= -Wall -Weffc++ -pedantic \ PARANOID= -Wall -Weffc++ -pedantic \
...@@ -50,7 +60,7 @@ CREATE_VERSION_GIT_H := $(shell test -x ./create-git-version-h.sh && ./create-gi ...@@ -50,7 +60,7 @@ CREATE_VERSION_GIT_H := $(shell test -x ./create-git-version-h.sh && ./create-gi
TEE = python ../tools/tee.py -v TEE = python ../tools/tee.py -v
.PHONY: all core lib clean forcedep .PHONY: all core lib clean forcedep gcovr_reports
all: $(VIDJIL) $(ALIGN_CGI) $(SIMILARITY_CGI) $(SIMILARITY_TOOL) all: $(VIDJIL) $(ALIGN_CGI) $(SIMILARITY_CGI) $(SIMILARITY_TOOL)
$(MAKE) -C $(TOOLDIR) $(MAKE) -C $(TOOLDIR)
...@@ -63,7 +73,7 @@ static: ...@@ -63,7 +73,7 @@ static:
### ###
paranoid: clean paranoid: clean
$(MAKE) vidjil OPTIM="$(PARANOID)" $(MAKE) vidjil CXXFLAGS="$(CXXFLAGS) $(PARANOID)"
### ###
...@@ -91,17 +101,17 @@ cleanspaced: ...@@ -91,17 +101,17 @@ cleanspaced:
$(ALIGN_CGI): cgi/align.o $(LIBCORE) $(ALIGN_CGI): cgi/align.o $(LIBCORE)
mkdir -p $(CGIDIR) mkdir -p $(CGIDIR)
$(MAKE) -C core OPTIM="$(OPTIM)" $(MAKE) -C core
$(CXX) -o $@ $^ $(LDFLAGS) $(LDLIBS) $(CXXFLAGS) $(CXX) -o $@ $^ $(LDFLAGS) $(LDLIBS) $(CXXFLAGS)
$(SIMILARITY_CGI): cgi/similarity.o $(LIBCORE) $(SIMILARITY_CGI): cgi/similarity.o $(LIBCORE)
mkdir -p $(CGIDIR) mkdir -p $(CGIDIR)
$(MAKE) -C core OPTIM="$(OPTIM)" $(MAKE) -C core
$(CXX) -o $@ $^ $(LDFLAGS) $(LDLIBS) $(CXXFLAGS) $(CXX) -o $@ $^ $(LDFLAGS) $(LDLIBS) $(CXXFLAGS)
$(SIMILARITY_TOOL): cgi/similarity.o $(LIBCORE) $(SIMILARITY_TOOL): cgi/similarity.o $(LIBCORE)
mkdir -p $(TOOLDIR) mkdir -p $(TOOLDIR)
$(MAKE) -C core OPTIM="$(OPTIM)" $(MAKE) -C core
$(CXX) -o $@ $^ $(LDFLAGS) $(LDLIBS) $(CXXFLAGS) $(CXX) -o $@ $^ $(LDFLAGS) $(LDLIBS) $(CXXFLAGS)
### ###
...@@ -111,9 +121,9 @@ debug: ...@@ -111,9 +121,9 @@ debug:
$(MAKE) DEBUG="-ggdb" $(MAKE) DEBUG="-ggdb"
$(VIDJIL): $(BINDIR)%: $(MAIN).o $(LIBCORE) $(VIDJIL): $(BINDIR)%: $(MAIN).o $(LIBCORE)
$(MAKE) -C core OPTIM="$(OPTIM)" $(MAKE) -C core
$(MAKE) -C lib OPTIM="$(OPTIM)" $(MAKE) -C lib
$(CXX) -o $@ $^ $(LDFLAGS) $(LDLIBS) $(CXXFLAGS) $(CXX) -o $@ $^ $(LDFLAGS) $(LDLIBS)
### ###
# Subdirectories # Subdirectories
...@@ -146,7 +156,7 @@ cleanall: cleancoverage ...@@ -146,7 +156,7 @@ cleanall: cleancoverage
test: test:
$(MAKE) -C tests cleantests $(MAKE) -C tests cleantests
$(TEE) '$(MAKE) COVERAGE="$(COVERAGE)" unit' tests/out-unit.log $(TEE) '$(MAKE) unit' tests/out-unit.log
$(MAKE) functional $(MAKE) functional
@echo @echo
@echo "*** All tests passed. Congratulations !" @echo "*** All tests passed. Congratulations !"
...@@ -160,24 +170,27 @@ snapshot_diff: ...@@ -160,24 +170,27 @@ snapshot_diff:
snapshot_diff_current: snapshot_diff_current:
$(MAKE) -C tests snapshot_diff_current $(MAKE) -C tests snapshot_diff_current
unit: all unit:
$(MAKE) CXXFLAGS="$(filter-out -DNDEBUG, $(CXXFLAGS))" all
@echo "*** Launching unit tests..." @echo "*** Launching unit tests..."
$(MAKE) COVERAGE="$(COVERAGE_OPTION)" -C tests $(MAKE) -C tests
@echo "*** All unit tests passed" @echo "*** All unit tests passed"
functional: all functional:
$(TEE) '$(MAKE) should' tests/out-should-get.log $(TEE) '$(MAKE) should' tests/out-should-get.log
$(TEE) '$(MAKE) shouldvdj' tests/out-should-vdj.log $(TEE) '$(MAKE) shouldvdj' tests/out-should-vdj.log
should: all should:
$(MAKE) CXXFLAGS="$(filter-out -DNDEBUG, $(CXXFLAGS))" all
@echo @echo
@echo "*** Launching .should_get tests..." @echo "*** Launching .should_get tests..."
$(MAKE) COVERAGE="$(COVERAGE_OPTION)" -C tests should $(MAKE) -C tests should
@echo "*** All .should_get tests passed" @echo "*** All .should_get tests passed"
shouldvdj: all shouldvdj:
@echo @echo
$(MAKE) COVERAGE="$(COVERAGE_OPTION)" -C tests shouldvdj_if_python $(MAKE) CXXFLAGS="$(filter-out -DNDEBUG, $(CXXFLAGS))" all
$(MAKE) -C tests shouldvdj_if_python
valgrind_unit: valgrind_unit:
...@@ -192,27 +205,29 @@ valgrind_should: ...@@ -192,27 +205,29 @@ valgrind_should:
coverage: unit_coverage should_coverage coverage: unit_coverage should_coverage
unit_coverage: clean unit_coverage: cleancoverage
$(MAKE) COVERAGE=1 unit $(MAKE) COVERAGE=1 unit
should_coverage: clean $(MAKE) COV_OUTFILE=lcov_test_unit gencov
should_coverage: cleancoverage
$(MAKE) COVERAGE=1 should
$(MAKE) COV_OUTFILE=lcov_test_should gencov
shouldvdj_coverage: cleancoverage
$(MAKE) COVERAGE=1 shouldvdj
$(MAKE) COV_OUTFILE=lcov_test_shouldvdj gencov
functional_coverage: cleancoverage
$(MAKE) COVERAGE=1 functional $(MAKE) COVERAGE=1 functional
$(MAKE) COV_OUTFILE=lcov_test_functional gencov
### Reports with gcovr