Skip to content
Snippets Groups Projects
Commit bbfc064f authored by Andreas Hamacher's avatar Andreas Hamacher
Browse files

Added listdeps, which output a list softwares that depend on the any given...

Added listdeps, which output a list softwares that depend on the any given module. Added software_usage, which count the number of occurence for each modules in module logging and sort them in desceding order. Added smoke_test, which is the driver for running test cases under smoke_test/tests folder
parent 48370476
No related branches found
No related tags found
No related merge requests found
3daprecon/0.0.1
3daprecon/1.0
3depict/0.0.15
3dslicer/4.10.2
3dslicer/4.6.0
3dslicer/4.8.1
abaqus/2016
abaqus/2019
abaqus/6.14
abinit/8.8.3
abricate/0.8.13
abyss/2.0.2
adapterremoval/2.3.1
adf/2019.104
adxv/1.9.12
afni/16.2.16
afni/17.0.11
align2rawsignal/2.0
allpathslg/52488
amber/18-multi-gpus
amber/18-parallel
amber/18-parallel-pmemd.gem
amber/18-serial
amber/18-single-gpu
amide/1.0.5
amira/2020.2
amira/6.3.0
amira/6.4.0
amira/6.5.0
anaconda/2018.12-Python3.7-gcc6
anaconda/2019.03-Python3.7-gcc5
anaconda/2020.07-Python3.8-gcc8
anaconda/4.3.1-Python3.5
anaconda/4.3.1-Python3.5-gcc5
anaconda/5.0.1-Python2.7-gcc5
anaconda/5.0.1-Python3.5-gcc5
anaconda/5.0.1-Python3.6-gcc5
anaconda/5.1.0-Python3.6-gcc5
analyze/12.0
analyze-temp/12.0
angsd/0.931
angsd/0.931-realsfs
ansys/18.1
ansys/19.1
ansys/19.2
ansys/20r2
ants/1.9.v4
ants/20190910
ants/2.2.0
ants/2.3.1
ants/2.3.4
any2fasta/0.4.2
apbs/3.0.0
apex/latest
apr/1.6.5
apr-util/1.6.1
argos/3.0.0-beta52
ariba/2.12.1
ariba/2.14.4
armadillo/9.200-rc1
arpack/2.1
arpack/3.1.3-2
arrayfire/3.7.1
ascp/3.5.4
ashs/1.0.0
astra-toolbox/1.9.9.dev4
atlas/3.10.2-gcc4
atlas/3.10.2-gcc5
atom/1.39.1
atomprobedevcode/1.0.0
attr/2.4.46-12
augustus/3.3.3
autodock_vina/1.1.2
automake/1.16.1
automake/1.4-p6
autometa/2019-09
avizo/2020.2
avizo/9.0.1
avizo/9.3.0
avizo/9.3.0.1
avizo/9.4.0
avizo/9.5.0
avizo/9.7
axel/2.12
bamsurgeon/1.2
bamtofastq/1.2.0
bamtools/2.4.1
barrnap/0.9
bart/0.4.04
bart/0.4.04-cuda9.0
bayenv/2.0
bayesass/1.3
bayesass/3.04
bayesass/3.0.4-snps
bayescan/2.1
baypass/2.2
bbcp/17.12
bbmap/38.81
bcbtoolkit/4.0.0
bcftools/1.11
bcftools/1.6
bcftools/1.7
bcftools/1.8
bcl2fastq/2.19.1
beagle/2.1.2
beagle/3.1.2
beast1/1.10.0
beast1/1.8.4
beast2/2.4.7
beast2/2.4.8
beast2/2.5.0
bedtools/2.26.0
bedtools/2.26.0-gcc5
bedtools/2.27.1-gcc5
bedtools/2.29.2
bgen/1.1.4
bidscoin/2.2
bidscoin/3
bids-validator/1.3.1
bids-validator/2019.01
bigdatascript/v0.99999e
bigwigtowig/377-0
bilm-tf/1.0
biobambam/0.0.191
biobambam2/2.0.146
biscuit/0.2.2
biscuit/0.3.8.20180515
bismark/v0.19.1
bison/2.7.1
blas/3.8.0-gcc5
blas/3.8.0-gcc5-pic
blast/2.2.30
blast/2.3.0
blast/2.7.1
blast+/2.9.0
blender/2.81
blender/2.90.1
bolt-lmm/2.3.2
bolt-lmm/2.3.4
boost/1.46.0-gcc5
boost/1.46.1-gcc5
boost/1.52.0-gcc5
boost/1.58.0
boost/1.58.0-gcc5
boost/1.62.0
boost/1.62.0-gcc4
boost/1.67.0-gcc5
boost/1.72.0-gcc8
bowtie/1.1.2
bowtie2/2.2.9
bowtie2/2.3.5
bracken/2.5
brain_age/v1.0_18Jan2018
breseq/0.29.0
breseq/0.33.2
bsoft/1.9.2
bsoft/2.0
busco/3.0.2
buster/20170508
bwa/0.7.12
bwa/0.7.17-gcc5
bwa-meth/0.2.2
bzip2/1.0.6
cactus/1.0.0
caffe/1.0.0
caffe/1.0.0-protbuf32
caffe/caffe-matlab
caffe/caffe-tsn
caffe/deepvistool
caffe/latest
caffe/rc4
caffe2/0.8.1
caffe_enet/1.0
caffe_unet/1.0
caffe_unet/18.04
caffe_unet/2.0
camino/2020-09-21
canu/1.7.1
caret/5.65
caw/0.2.4
cblas/20032302-gcc5
ccp4/7.0
ccp4/7.0.072
ccp4/ccp4i
ccp4/ccp4i2
ccp4/ccp4mg
ccp4/coot
ccp-em/1.3.0
cdhit/4.8.1
cdo/1.9.8
cellprofiler/2.2.0
cellprofiler/3.1.5
cellprofiler/3.1.9
cellprofileranalyst/2.2.0
cellranger/2.0.1
cellranger/3.0.2
centrifuge/1.0.4-beta
checkm/1.1.3
checkv/0.7.0
chimera/1.10.2
chimera/1.11
chimera/1.13
chimera/1.14
chimerax/0.6
chimerax/0.8
chimerax/0.91
chimerax/0.93
chrome/68
chrome/69
chrome/75
chrome/77
chrome/78
chrome/80
chrome/80.0.3987.163
chrome/88.0.4324
chrome/default
chuffed/0.10.3
circos/0.69-6
cistem/1.0.0-beta
clairvoyante/1.02
clamms/1.1
clonalframeml/1.11
cloudcompare/2.11.2
cloudstor/2.3.1-1.1
cloudstor/2.4.1
cloudstor/2.4.2
clustal-omega/1.2.4
cmake/2.8.12.2
cmake/2.8.12.2-gcc5
cmake/3.10.2-gcc4
cmake/3.10.2-gcc4-system
cmake/3.10.2-gcc5
cmake/3.15.1-gcc4-system
cmake/3.15.1-gcc5
cmake/3.15.4-gcc8
cmake/3.5.2
cmake/3.5.2-gcc4
cmake/3.5.2-gcc5
cmkl/9.1.023
cnvkit/0.9.5
cnvnator/0.4.1
colmap/3.6
comsol/5.2a
comsol/5.4
comsol/5.4-ee
conda-install/latest
connectome/1.2.3
convert3d/1.0.0
coot/0.8.9.1
coventormp/1.002
cp2k/5.1.0
cp2k/6.1.0
cp2k/8.1.0
cplex/12.10.0
cplex/12.6
cplex/12.6.3
cplex/12.7.1
cplex/12.8.0
cpmd/3.17.1
cpmd/4.3
crisprcasfinder/1.05
crispresso/1.0.13-gcc5
crossmap/0.3.5
crossmap/0.3.6
cryoef/1.1.0
cryo-em-processing-tool/0.1
cryolo/1.0.0
cryolo/1.1.3
cryolo/1.3.1
cryolo/1.4.0
cryolo/1.4.1
cryolo/1.5.3
cryolo/1.5.6
cryolo/1.6.0
cryolo/1.7.2
cryosparc/beta
cryosparc/cryosparc-cluster
cryosparc/v2
crystallography/0.0.3
cst/2017
ctffind/4.0.17
ctffind/4.1.10
ctffind/4.1.13
ctffind/4.1.14
ctffind/4.1.3
ctffind/4.1.4
ctffind/4.1.8
ctftilt/latest
cuda/10.0
cuda/10.1
cuda/11.0
cuda/4.1
cuda/4.1.bajk
cuda/6.0
cuda/7.0
cuda/7.5
cuda/8.0
cuda/8.0.61
cuda/8.0-DL
cuda/9.0
cuda/9.1
cudadeconv/1.0
cudalibs8to9/0.1
cudnn/5.1
cudnn/5.1-DL
cudnn/7.1.2-cuda8
cudnn/7.1.3-cuda9
cudnn/7.3.0-cuda9
cudnn/7.6.5.32-cuda10
cudnn/7.6.5-cuda10.1
cudnn/8.0.5-cuda10.1
cudnn/8.0.5-cuda11
cufflinks/2.2.1
cunit/2.1.3
cutadapt/0.16
cutadapt/2.5
cutadapt/2.7
cytoscape/3.4.0
dada2/1.14
daris-utils/1.0
darknet/alexey
darknet/darknet_yolo_v3
darknet/latest
dcm2niix/1.0.20200331
dcm2niix/latest
dcmtk/3.6.3
deep-complex-networks/2017
deepemhancer/2020-09-09
deepgraph/0.2.3
deeplabcut/latest
deepmedic/0.6.1
deepmedic/0.7.0
deeptools/3.1.2
deeptools/3.1.3
deepvariant/0.8-cpu
deepvariant/0.8-gpu
dense3dcrf/20160527
detectron/20180322
dftbplus/18.2
dftd3/0.9
dials/1.12.1
dials/1.5.1
diamond/0.9.22
dicomnifti/2.32.1
diyabc/2.1.0
dke/latest
dke/latest-ft
dlib/19.20
dmtcp/2.5.2
dominate/2.3.5
dos2unix/7.4.0
dragondisk/1.0.5
drishti/2.6.3
drishti/2.6.4
drishti/ansto
drmaa/1.0.7
drmaa/1.1.0
dsistudio/latest
dti-tk/2.3.1
dtk/0.6.4.1
dynamo/1.1.178
dynamo/1.1.451
dynet/2.1-cpu
dynet/2.1-gpu
ea-utils/1.1.2
ea-utils/1.1.2-gcc5
eclipse/4.7.3a
eclipse/4.8
effoff/0.2.1
eigen/2.0.17
eigen/3.2.9
eigen/3.3.0
eigen/3.3.7
eigensoft/7.2.1
eiger2cbf/1.0
elastix/5.0.0
elf/1.0
eman/2.12
eman/2.2
eman/2.22
eman/2.3
eman/2.3.1
eman/2.9
emapaccess/1.0
emap-galaxy-shortcut/1.0.0
emap-mytardis-shortcut/1.0.0
emap-wiki-shortcut/0.0.1
emboss/6.6.0
emclarity/1.0.0
emclarity/1.4.3
emspring/spring_v0-84-1470
emspring/spring_v0-84-1470_mlx
epacts/3.3.2
exciting/nitrogen
exonerate/2.4.0
exploredti/4.8.6
fastani/1.1
fastml/3.1
fastml/3.11
fastp/0.20.0
fastqc/0.11.7
fastqc/0.11.9
fastQValidator/0.1.1a
fastspar/0.0.7
faststructure/1.0
fastsurfer/c5894bd
fasttree/2.1.10
fastx-toolkit/0.0.13
fcsalyzer/0.9.12
fdtd/2020a-r1
fdtd/8.21.1933
feedback/1.0.1
ffmpeg/3.4.2
ffmpeg/4.3.1
fftw/3.3.4-gcc
fftw/3.3.5-gcc
fftw/3.3.5-gcc5
fgbio/0.9.0
figtree/1.4.3
fiji/20160808
fiji/20170223
fiji/20170530
fiji/current
fiji/current.bak
fiji/fiji-super-res
fiji/MMI-MHTP
filtlong/0.2.0
fix/1.064
fix/1.068
flash/1.2.11-gcc5
flashpca/2.0
flexbar/3.4.0
flye/2.3.5
flye/2.8
fmriprep/1.0.15
fmriprep/1.1.1
fmriprep/1.2.5
fmriprep/1.3.0_post2
fmriprep/1.4.0
fmriprep/1.4.1
fmriprep/1.5.8
fmriprep/20.2.1
foma/0.9.18
fooof/0.1.3
fooof/1.0.0
fouriertransform/0.2.3
fox/1.6.57
fpart/1.2.0
freebayes/0.9.9
freesurfer/20160922
freesurfer/5.3
freesurfer/6.0
freesurfer/6.0.0-brainvolstatsfixed
freesurfer/6.0-patch
freesurfer/7.1.0
freesurfer/devel-20171013
freesurfer/devel-20180612
freesurfer/devel-20190128
frustum/xflx1992
fsl/5.0.11
fsl/5.0.9
fsl/6.0.0
fsl/6.0.1
fsl/6.0.3
fsleyes/0.22.4
fsleyes/0.23.0
fsleyes/0.24.3
fsleyes/0.32.0
ftgl/2.1
fxtract/2.3
gamess/16srs1
gamess/16srs1-v2
gamess/2018r3
ganon/0.3.3
gap/4.8.10
gatan/free
gatan/uwa
gatk/3.4
gatk/3.7
gatk/4.0.1.1
gatk/4.0.11.0
gatk/4.1.2.0
gatk/4.1.9.0
gatktool/0.0.1
gauss/11.0
gauss/9.0
gaussian/g16a03
gaussian/g16a03_local
gautomatch/0.53
gautomatch/0.56
gautomatch/0.56_cuda10.1
gcat/e48bf8b
gcc/4.9.3
gcc/5.4.0
gcc/6.1.0
gcc/8.1.0
gcta/1.92.2beta
gctf/0.50
gctf/0.66
gctf/1.06
gctf/1.06_cuda8
gctf/1.06_cuda8-uow
gctf/1.08_cuda8
gctf/1.18
gctf/1.18_b2
gctf/1.18_b2_cuda9
gctf/1.18_cuda10.1
gctf/1.18_cuda8
gctf/1.18_cuda8-uow
gctf/1.18_cuda91
gdal/2.2.4
gdal/2.3.1
gdal/3.0.2
gdb/8.2.1
gdcm/2.6.6-gcc4
gdcm/2.6.6-gcc5
gd-devel/2.0.35
geant4/10.02.p03
geant4/10.03.p01
geant4/10.05.p01
geant4/10.6
gem/3.3
gemini/0.30.1
genemark/4.30
genesis/1.5.1
genesis/1.5.1-cpu
gengetopt/2.10
genometools/1.6.1
genomicconsensus/2.3.3
genotypeharmonizer/1.4.20
genrich/v0.6
geos/3.6
geos/3.6.4
geos/3.7.2
gephi/0.9.2
gflags/master
gflags/master-gcc4
ghostscript/9.26
gimp/2.8
gimp/2.8.22
gingerale/2.3.6
git/2.17.0
git/2.19.0
git/2.25.2
git/2.8.1
git-annex/6.20180227
glew/2.0-gcc4
glew/2.0-gcc5
glm/0.9.9.5
glog/master
glog/master-gcc4
glpk/4.60
gmp/6.1.2
gmsh/3.0.3
gnuparallel/20160822
gnuparallel/20190122
gnuplot/5.2.1
go/1.11.1
go/1.13.8
go/1.14.2
goctf/1.1.0
gpu_burn/0.9
gpu_burn/1.0
gpucomputingsdk/4.0.17
graphviz/2.30.1
graphviz/2.40.1
gromacs/2016.3-openmpi-cuda8.0
gromacs/2016.4-openmpi-cuda8.0
gromacs/2016.5-openmpi-cuda8.0-plumed
gromacs/2018.4-openmpi-cuda8.0
gromacs/2018.7-openmpi-cpu-only
gromacs/2018.7-openmpi-cuda-plumed
gromacs/2018-openmpi-cuda8.0
gromacs/2018-openmpi-cuda8.0-NVML
gromacs/2019.4-openmpi-cuda10.0
gromacs/2020.1-openmpi-cuda10.1
gromacs/5.1.4
groot/0.8.6
groot/1.0.2
gsl/1.15.13-system
gsl/2.2-gcc4
gsl/2.2-gcc5
gsl/2.2-system
gsl/2.5-gcc4
gst-devel/1.4.5
gst-libav/1.10.4
gst-libav/1.4.5
gtdb-tk/0.3.2
gtdb-tk/1.3.0
gubbins/2.3.2
gubbins/2.4.1
guppy/3.1.5-1
guppy/3.2.4
guppy/3.5.2-gpu
guppy/4.0.14-gpu
guppy/container
gurobi/7.5.1
gurobi/8.0.0
gurobi/9.0.0
gurobi/9.0.1
gurobi/9.1.0
gvcftools/0.17.0
h5toxds/1.1.0
hal/2.1
halper/2020-08-06
hapflk/1.4
haplomerger2/20180603
haystack_bio/0.5.5
hddm/0.6.0
hdf5/1.10.0-patch1
hdf5/1.10.5
hdfview/3.1.1
heudiconv/0.5.4
hisat2/2.1.0
hmmer/2.4i
hmmer/3.2.1
hmmer/3.3.1
holt-lab/20210205
horovod/0.16.4
hotspot/4.0.0
hpcx/2.5.0-redhat7.6
hpcx/2.5.0-redhat7.7
htop/2.0.1
htseq/0.10.0
htslib/1.7
htslib/1.9
htslib/1.9-gcc5
humann/2.0
huygens/16.10.1-p1
hyperspy/1.4
hyphy/2.5.0
hypre/2.11.2
hypre/2.15.0
icm/3.7-3b
icm/3.8.7
idl/8.6
idl/8.7
idl/8.7-nov
idl/8.8
idr/2.0.3
igv/2.3.81
igv/2.4.19
ihrsr++/v1.5
ilastik/1.2.0
ilastik/1.3.3
ilastik/1.3.3post3
ilastik/1.4.0b5
illumina-utils/2.6
illumina-utils/2.6-python3.7
imagej/20160205
imagemagick/7.0.5-7
imagemagick/7.0.8-23
imagemagick/7.0.8.23-native
imagemagick/7.0.9-27-gcc8
imagescope/11.2.0.780
imblproc/20190405
imod/4.8.54
imod/4.9.12
imod/4.9.9
imod-raza/4.7.12
imosflm/7.2.1
imosflm/7.2.2
impute2/2.3.1
infernal/1.1.4
intel/2015.0.090
intel/2016
intel/2017u4
intel/2018test
intel/2018u3
ior/3.2.1
iqtree/1.5.3
iqtree/1.6.10
iqtree/1.6.2
iqtree/2.0.4-rc
iqtree/2.0-rc1
ismapper/2.0
itasser/5.1
itk/4.10.0-gcc4
itk/4.10.0-gcc5
itk/4.10.0-gcc5-p1
itk/4.13.0-gcc4
itk/4.13.1-gcc4
itk/4.8.2-gcc4
itk/4.8.2-gcc5
itk/ansto
itksnap/3.3.x
itksnap/3.8.0
itksnap/3.8.0-beta
jags/3.3.0
jags/3.4.0
jags/4.3.0
janni/0.2
java/openjdk-1.14.02
java/openjdk-1.8.0_242
jbigkit/2.1
jdk/10-20180320
jdk/14
jellyfish/1.1.12
jellyfish/2.3.0
jellyfish/2.3.0-gcc5
jspr/2017-7-20
juicer/1.6.2
julia/0.6.4
julia/1.3.1
julia/1.5.3
kallisto/0.43.0
kaptive/0.5.1
kilosort/1.0
kindel/0.4.2
king/2.1.6
kleborate/0.2.0
kleborate/0.3.0
kma/1.3.0
kraken/1.1.1
kraken2/2.0.7-beta
krakenuniq/0.5.8
kronatools/2.7.1
kul_vbg/20201103
kul_vbg/e46effe
lammps/20180510
lammps/20181212
lammps/20200303
lammps/20200303-python3
lapack/3.6.1-gcc4
lapack/3.6.1-gcc4-opt
lapack/3.6.1-gcc5
lapack/3.8.0-gcc5
lapack/3.8.0-gcc5-pic
ldmap/28apr15
ldpred/1.0.6
leveldb/master
leveldb/master-gcc4
levelset/0.0.2
libcublas/10.2.1.243-cuda10
libertem/0.5.1
libertem/20190521
libffi/3.2.1
libffi-devel/3.0.13
libfuse/3.6.1
libgd/2.2.4
libgeotiff/1.4.2
libgit2/1.1.0
libharu/2.2.1
libint/1.1.4
libjpeg-turbo/1.4.2
libjpeg-turbo/1.5.1
libjpeg-turbo/1.5.1-shared
libmaus/0.0.196
libmaus2/2.0.704
libsmm/20150702
libssh2/1.9.0
libtiff/3.9.7
libtiff/4.0.10
libunwind/1.3.1
libuuid/2.23.2-43
libxc/4.1.0
libxp/1.0.2
libxsmm/1.9
libzip/0.10.1-8
liggghts/3.8.0
lighter/1.1.2
lkh/2.0.9
lmdb/latest
locarna/1.9.2.3
locuszoom/1.4
locuszoom/1.4.fixed
lofreq/2.1.3.1
lsd/0.3beta
lumpy-sv/0.2.13
macs/3.0.0a5
macs2/2.1.1.20160309
mafft/7.310
mageck/0.5.9.4
magicblast/1.5.0
magic-impute/1.5.5
magma/1.6.1
magma/2.0.2
mainmast/1.0
maker/3.01.03
mango/4.0.1
manta/1.5.0-gcc5
mantid/3.13.0
mantid/3.8.0
mantid/3.9.0
mapdamage/2.0.9
mapdamage/2.0.9-u1
mash/2.1
mash/2.1.1
mash/2.2
materialsstudio/18.1.0
mathematica/12.1.1
mathgl/1.11.2
mathgl/2.0.3
mathgl/2.3.3
matlab/r2012b
matlab/r2014a
matlab/r2014b
matlab/r2015b
matlab/r2016a
matlab/r2017a
matlab/r2017b
matlab/r2017b-caffe
matlab/r2018a
matlab/r2019a
matlab/r2019b
matlab/r2020a
mauve/20150213
maven/3.3.9
maxquant/1.6.5.0
mc/4.8.21
mcl/11-294
mcr2010b/1.0
megahit/1.1.3
megahit/1.2.4-beta
megahit/1.2.9
meld/0.4.14
melt/2.2.2
meme/5.0.1
merantk/1.2.1
mercurial/4.7.1
mesa/13.0.5
mesa/default
meshlab/2016.12-gcc5
meshlab/2019.03
meson/0.51.0
metabat/2.15.5
metabolic/4.0
metacache/1.1.1
metal/2011
metaphlan/2.0
metaphlan/3.0-sif
metaplotr/2018_09
metawrap/1.1.3
mevislab/2.8.1-gcc-64bit
miakat/4.2.6
minc-lib/2.2-git-gcc4
minc-tools/2.2
miniasm/0.3
miniconda3/4.1.11-python3.5
miniconda3/4.8.3-python3.8
minimap2/2.17-r954-dirty
minipolish/0.1.3
minizinc/2
minizinc/2.3.1
minizinc/2.5.2
mixcr/3.0.7
mkl/2018u3
mlst/2.15
mne/TF-201804
molden/5.7
mono/5.20.1.19
moose/1.0
moose/1.0-vtk
morphind/1.4
motif/2.3.4
motioncor2/20180924
motioncor2/20181020
motioncor2/20181020-cuda91
motioncor2/2.1
motioncor2/2.1.10-cuda8
motioncor2/2.1.10-cuda9.1
motioncor2/2.1.3.0-cuda101
motioncor2/2.1.3.0-cuda80
motioncor2/2.1.4.0-cuda101
motioncorr/2.1
motioncorr2/20160822
mpfr/3.1.5
mpifileutils/20170922
mpifileutils/20200701
mpip/3.4.1
mrbayes/3.2.6
mrbayes/3.2.6-mpi
mrf/0.2.2
mriconvert/2.1.0
mricrogl/1.0.20170207
mricrogl/20180623
mricron/06.2013
mricron/30apr2016
mriqc/0.14.2
mriqc/0.15.2.rc1
mriqc/0.9.7
mrpeek/preview2
mrtrix/0.3.15-gcc4
mrtrix/0.3.15-gcc5
mrtrix/0.3.16
mrtrix/20170712
mrtrix/3.0.0
mrtrix/3.0.1
mrtrix/3.0.2
mrtrix/3.0_rc3
mrtrix/3.0_rc3_latest
mrtrix3tissue/5.2.8
mrtrix3tissue/5.2.8-ubuntu
msm_hocr/3.0
multiwfn/3.8
mummer/3.23-gcc5
mummer/4.0.0.beta2-gcc5
muscle/3.8.31
mustem/5.3
mxtools/0.1
mydata/0.9.2
mydata/0.9.2-20201020
mydata-python/20200603
mykrobe/0.8.1
mytardis/0.1
namd/2.12-ibverbs-smp-cuda
namd/2.12-multicore
namd/2.13-multicore
namd/2.13-multicore-CUDA
namd/2.14-multicore
namd/2.14-multicore-cuda
nanconvert/latest
nanofilt/201807
nanopolish/0.10.1
nanopolish/0.11.1
nasm/2.15.03
nccl/2.4.7-cuda10.0
nccl/2.4.7-cuda9.1
nccl/master
nccl/master-gcc4
netcdf/4.4.1.1
netcdf/4.4.1.1-openmpi-1.10.7-mlx
netcdf/4.7.0
netcdf/4.7.1-intel
neuro_workflow/2017v2
neuro-workshop/20191115
new-fugue/2010-06-02
newick-utils/1.6
nextgenmap/0.5.5
ngsqctoolkit/2.3.3
nibabel/2.3.3
niftilib/2.0.0
nighres/1.1.0b1
niistat/9.oct.2016
nilearn/0.6.2
ninja/1.9.0
nis-elements-viewer/4.20
nlopt/2.6.1
nlopt/2.6.1-gcc4
nlopt/2.6.1-gcc5
nn/0.2.4
novactf/03.2018
nsight/2019.5.0
nullarbor/2.0.20181010
objexport/0.0.4
octave/4.2.2
octopus/8.4
octopus/8.4-parallel
omero.insight/5.5.10
omsimulator/2.0.1
openbabel/2.4.1
openblas/0.2.20
openbugs/3.2.3
opencv/3.4.1
opencv/3.4.10-gcc5
opencv/3.4.11
opencv/3.4.1-gcc4
opencv/4.1.0
opencv/4.4.0
openface/2.2.0
openfoam/4.1
openfoam/5-paraview54
openfoam/5.x
openfoam/v1912
openjpeg/2.3.0
openjpeg/2.3.1
openmodelica/1.14.2
openmpi/1.10.3-gcc4-mlx
openmpi/1.10.3-gcc4-mlx-cuda75
openmpi/1.10.3-gcc4-mlx-verbs
openmpi/1.10.3-gcc4-mlx-verbs-cuda75
openmpi/1.10.3-gcc5
openmpi/1.10.3-gcc5-mlx
openmpi/1.10.7-1.mlx
openmpi/1.10.7-intel
openmpi/1.10.7-mlx
openmpi/1.10.7-mlx-intel
openmpi/2.1.6-mlx-intel
openmpi/3.1.4-mlx
openmpi/3.1.6-ucx
opennmt-py/0.7.0
openpose/1.6.0
openrefine/3.1
openslide/3.4.1
orange3/ansto
orca/4.0.1
orca/4.2.1
orca/4.2.1-216
orfm/v0.7.1
osg/3.6.5
otpo/1.0
packer/1.3.5
paleomix/1.2.13.4-python2
paml/4.9
panaroo/1.1.2
panaroo/1.2.4
pandoc/2.7.3
paraview/4.0.1
paraview/5.6.0
paraview/ansto
parliament2/0.1.11
parsyncfp/1.67
partitionfinder2/2.1.1
pastml/1.0
pbh5tools/2018-12-13
pbzip2/1.1.13
peakseq/1.3.1
perl/5.24.0
perl/5.28.0
perl/5.30.1
petsc/3.10.1-gcc5
petsc/3.12.1
petsc/3.13.2-gcc5
pgap/3958
pgi/2019
pgi/2020
phate/0.4.4
phenix/1.11.1
phenix/1.15.1
phenix/1.15.2
phenix/1.18.2
phreeqc/3.5.0
phyloflash/3.4
phyml/3.1
picard/2.19.0
picard/2.9.2
picrust2/2.1.4_b
picrust2/2.2.0_b
pigz/2.3.3
pigz/2.3.4
pilon/1.22
pindel/0.6.3-gcc5
plasmidfinder/2.1
plink/1.7
plink/1.9
plink/1.90b6.10
plink/2.0-alpha
plinkseq/0.10
plumed/2.5.0
pmix/3.1.2
pmix/v2.2
pointless/1.10.28
posgen/0.0.1
posminus/0.2.3
pplacer/v1.1.alpha19
prank/170427
prismatic/1.1
prismatic-cpu/1.1
prodigal/2.6.3
proj/4.9.3
proj/5.1.0
proj/6.2.1
prokka/1.13.3
prokka/1.14.5
prokka/1.14.6
protobuf/master
protobuf/master-gcc4
protomo/2.4.2
psi4/v1.1
psi4/v1.3.2
psortb/3.0
psortm/3.0
pulchra/3.06
purge_haplotigs/1.1.0
pv/1.6.6
py4dstem/0.11.5
py4dstem/0.3
pybids/0.9.1
pycharm/2018.3.3
pydeface/1.1.0
pyem/v0.1
pyem/v0.1-201806
pyem/v0.3
pyem/v0.5
pymol/1.8.2.1
pymol/1.8.6
pymol/2.4.0a0
pyprismatic/1.1.16
pyprismatic/1.2.1
pypy/7.0.0-3.6
pysam/0.15.2-python2
python/2.7.11-gcc
python/2.7.12-gcc4
python/2.7.12-gcc5
python/2.7.15-gcc5
python/2.7.17-gcc8
python/2.7.18-gcc5
python/2.7.18-ucs4-gcc5
python/3.5.2-gcc
python/3.5.2-gcc4
python/3.5.2-gcc5
python/3.6.2
python/3.6.2-static
python/3.6.6-gcc5
python/3.7.2-gcc6
python/3.7.3-system
python/3.8.5
python/3.8.5-gcc8
python/3.8.5-gcc8-static
pytom/0.971
pytorch/1.0-cuda10
pytorch/1.1-cuda10
pytorch/1.3-cuda10
pytorch/1.5-cuda10
pytorch/1.6-cuda10
pyxnat/1.1.0.2
pyxnat/20170308
qatools/1.2
qctools/v2.0-beta
qgis/3.9.0
qhull/2003.1
qhull/2015.2
qiaseq-dna/1.0
qiaseq-dna/14.1
qiime1/1.9.1
qiime2/2017.9
qiime2/2018.11
qiime2/2018.2
qiime2/2018.4
qiime2/2019.1
qiime2/2019.4
qiime2/2019.7-q2_scnic
qiime2/2019.7-q2_scnic_2
qiime2/2020.8
qit/2148
qt/5.7.1-gcc5
qt5-qtwebkit/5.9.1
quicktree/2.0
quicktree/2.5
quit/1.1
quit/2.0.2
qupath/0.2.0-m4
R/3.3.1
R/3.4.3
R/3.5.0
R/3.5.1
R/3.5.2-openblas
R/3.5.3-mkl
R/3.6.0-mkl
R/3.6.2-mkl
R/4.0.0-openblas
racon/1.3.1
raremetal/4.15.1
raven/1.1.10
raxml/8.2.12
raxml/8.2.9
raxml-ng/1.0.0
razers3/3.5.8
rclone/1.49.3
rdf-kd/0.0.1
rdkit/2019.03.3.0
readline/7.0
relion/1.4
relion/2.02
relion/2.0.6
relion/2.0beta
relion/2.1
relion/2.1.b1
relion/2.1.b2
relion/2.1-openmpi-1.10.7-mlx
relion/3.0-20181109-cuda80
relion/3.0-20181109-cuda91
relion/3.0-20190115
relion/3.0.5
relion/3.0.5-uow
relion/3.0.6
relion/3.0.6-uow
relion/3.0.7
relion/3.0.7-uow
relion/3.0.7-uow-cuda10.1
relion/3.0.7-uow-mc2.1.3.0
relion/3.0-beta
relion/3.0-stable
relion/3.0-stable-cuda91
relion/3.0-stable-uow
relion/3.0-uow-20180904
relion/3.0-uow-20180917
relion/3.0-uow-20181109-cuda80
relion/3.0-uow-20181109-cuda91
relion/3.0-uow-20190115
relion/3.1.0
relion/3.1.0-uow
relion/3.1.0-uow-v2
relion/3.1_beta
relion/3.1_beta-20191105
relion/3.1_beta-20191113
relion/3.1_beta-20200109
relion/3.1_beta-latest
relion/ver3.1_20200904
relion/ver3.1_20200925
relion/ver3.1_20201028
relion/ver3.1_20201102
repeatmasker/4.1.1
resmap/1.1.4
resmap/1.1.5
resmap/1.9.5
rest/1.8
rest/1.8-matlab2017a.r6685
retools/1.3
rgi/5.1.0
rings/1.3.3
r-launcher/0.0.1
rmblast/2.10.0
rnammer/1.2
roary/3.11.2
roary/3.12.0
robex/1.2
root/5.34.32
root/6.22.02
rosetta/2018.09
rosetta/2020.08
rosetta/2020.37-mpi
rsem/1.3.0
rseqc/3.0.0
rstudio/1.0.143
rstudio/1.0.44
rstudio/1.1.414
rstudio/1.1.463
rstudio/1.1.463-r3.5.3-mkl
rstudio/1.1.463-r3.6.0-mkl
rstudioserver_epigenetics/1.0
rstudioserver_epigenetics/1.0-20171101
rsync/3.1.3
rtk/ansto
saintexpress/3.6.3
salmon/0.14.1
salome/9.2.0
sambamba/0.8.0
samblaster/0.1.26
samclip/0.2
samtools/0.1.18
samtools/1.10
samtools/1.3.1
samtools/1.6
samtools/1.7
samtools/1.7-gcc5
samtools/1.9
samtools/1.9-gcc5
sas/9.4
sbt/0.13.15
sbt/1.2.1
scalapack/2.0.2
scipion/2.0
scipion/devel
scipion/devel-20170327
scipion/v1.0.1_2016-06-30
scipion/v1.1
scipion/v1.1.1
scipion/v1.2
scipion/v1.2.1
scipion/v1.2.1_2018-10-01
scrappie/1.4.1
sdm_1d_calculate/2.0.2
sdm_1d_plot/0.0.4
sdm_2d_calculate/2.0.2
sdm_2d_plot/0.0.4
seacr/1.3
segadapter/1.9
seqgen/1.3.4
seqtk/1.3
shapeit/v2_r837
shapeit/v2_r904
shovill/1.0.4
sidesplitter/120220
sidesplitter/20201028
simnibs/2.0.1g
simnibs/3.1.2
simple/2.1
simple/2.5
simul-atrophy/12-09-2017
simul-atrophy/rjbcompilepetscmaster-04032020
simul-atrophy/RJBCompilePetscMaster-190220
singlem/0.12.1
singularity/2.3.1
singularity/2.4.2
singularity/2.4.5
singularity/2.5.2
singularity/3.0
singularity/3.0.1
singularity/3.0.2
singularity/3.1.0
singularity/3.2.0
singularity/3.2.1
singularity/3.4.0
singularity/3.5.2
singularity/3.5.3
singularity/3.7.1
singularity/d3d0f3fdc4390c7e14a6065543fc85dd69ba42b7
situs/3.1
ska/1.0-e1968f0
skesa/2.2.1
skesa/2.3
skewer/20170212
slamdunk/latest
slim/3.2
slim/3.3.1
slurm/17.11.4
smafa/0.5.0
smcounter/10apr2017
smux/0.0.1
snap/2013-11-29
snappy/master
snappy/master-gcc4
snippy/4.3.8
snippy/4.4.5
snoscan/1.0
snp-dists/0.6.3
snpeff/4.3t
snpm/13
snp-sites/2.5.1
soapdenovo2/2.04-r241
sortmerna/2.1b
sourcetracker/2.0.1
spades/3.12.0
spades/3.13.1
sparseassembler/1.0
sparsehash/2.0.3
spectra/0.8.1
speedseq/0.1.2
spider/21.11
spm12/matlab2015b.r6685
spm12/matlab2018a.r6685
spm12/matlab2018a.r7487
spm8/matlab2015b.r6685
spm8/matlab2017a.r6685
spring/0.86.1661
spss/26
sqlite3/3.30.1
squashfs-tools/4.3-0.21
squashfuse/0.1.103
sra-tools/2.7.0
sra-tools/2.9.2
sra-tools/2.9.4
sra-tools/2.9.6
srst2/0.2.0
srst2/0.2.0-2019
stacks/2.4
star/2.5.2b
star-fusion/1.9.1
stata/14
stata/14.2
stata/16
stisuite/3.0
strelka/2.8.4
stringtie/1.3.5
stringtie/1.3.6
structure/2.3.4
subread/1.5.1
subread/2.0.1
subversion/1.9.5
suitesparse/5.4.0
sumo/1.5.0
superlu/3.1
surfice/7_feb_2017
svd/1.4
svs/8.8.3
swig/3.0.12
swig/4.0.1
synopsys/3.1
tannertools/2016.1
tannertools/2016.2
tapsim/v1.0b_r766
tbb/20180312oss
tempest/1.5
tensorflow/1.0.0-python2.7.12-gcc5
tensorflow/1.10.0-pytorch
tensorflow/1.10.0-pytorch-all
tensorflow/1.10.0-pytorch-keras
tensorflow/1.12.0-python2.7.12-gcc5
tensorflow/1.12.0-python3.6-gcc5
tensorflow/1.13.1-gdal
tensorflow/1.14.0-keras
tensorflow/1.14.0-keras-pydicom
tensorflow/1.15.2-gpu
tensorflow/1.15.2-python3.7.3-gcc8
tensorflow/1.3.0-python2.7.12-gcc5
tensorflow/1.4.0-python2.7.12-gcc5
tensorflow/1.4.0-python3.6-gcc5
tensorflow/2.0.0-beta1
tensorflow/2.0.0-gpu
tensorflow/2.2.0
tensorflow/2.3.0
tensorflow/2.4.1
tensorrt/6.0.1.5-cuda10
tensorrt/7.0.0.11-cuda10
tensorrt/7.2.1
terastitcher/20171106
texlive/2017
tiff/4.0.8
tigervnc/1.8.0
tmap/3.0.1
tomowarp2/03f3ee8
toothmaker/0.64
topaz/1.0
topaz/latest
tophat/2.1.1
tracer/1.6
trackvis/0.6.1
tractseg/2.0
transdecoder/5.5.0
trf/4.09.1
trim_galore/0.4.5
trim_galore/0.5.0
trimmomatic/0.38
trinity/2.8.5
trinity/2.8.5-gcc5
turbovnc/2.0.2
turbovnc/2.1.0
tvips-tools/0.0.3
ucsc-genome-tools/201806
ucx/1.6.1
udunits2/2.2.20-2
ufo-kit/ansto
umap/0.3.8
umi-tools/0.5.5-python2
umi-tools/0.5.5-python3
unblur/1.0.2
underworld/2.3.0
underworld/2.8.0b
underworld/2.9.1b
underworld/2.9.4b
unicycler/0.4.7
unimelb-mf-clients/0.2.7
unimelb-mf-clients/0.3.2
unrar/5.0
v8/3.14.5.10-25
vaa3d/3.601
valgrind/3.13
varscan/2.3.9
vasp/5.4.4
vasp/5.4.4.eyk
vcftools/0.1.15
vdjtools/1.2.1
vegas2/v02
velvet/1.2.10
velvet/1.2.10-modified
vep/90
vep/94
viennarna/2.4.15
vigra/1.9.0
vim/8.0.0596
vim/8.2
vim/8.2-container
viptreegen/1.1.2
virsorter/1.0.6
virtualgl/2.5.0
virtualgl/2.5.2
virtualgl/2.6.2
visit/2.12.3
vmd/1.9.3
vmd/1.9.4
volview/3.4
voro++/0.4.6
vscode/1.39.2
vscode/1.53.2
vsearch/2.13.6
vt/0.57
vtk/5.10.1
vtk/5.10.1-gcc4
vtk/7.0.0
vtk/7.0.0-gcc5
wasp/0.3.0
weblogo/3.7
wfu_pickatlas/3.0.5b
wgsim/0.3.1-r13
workspace/4.0.2
wtdbg2/2.5
wxgtk/3.0.2
wxwidgets/3.0.3
x2goclient/4.1.2.1
x2goclient/4.1.2.2
xcpengine/1.2.3
xds/20170302
xds/monash
xds/mxbeamteam
xjview/9.0
xjview/9.6
xjview/9.7
xnat-desktop/0.96
xnat-desktop/1.0.40
xnatpy/0.3.18
xnat-upload-assistant/1.1.3
xnat-utils/0.2.1
xnat-utils/0.2.5
xnat-utils/0.2.6
xnat-utils/0.4.5
xnat-utils/0.4.6
xnat-utils/0.4.9
xnat-utils/0.5.3
xnat-utils/0.5.5
xvfb/1.19.3
yade/1.20.0-cpu
yade/1.20.0-gpu
yade/2019-06-20
yade/2019-06-20-cpu
yade/yade-daily-may-2019
yasm/1.2.0-4
yasm/1.3.0
zetastitcher/0.3.3
zlib/1.2.11
zoem/11-166
zoltan/3.83
zopfli/1.0.3
zstd/1.4.0
#!/bin/bash
inputfile=$1
for app in $(cat $inputfile); do
version=$(ls /usr/local/Modules/modulefiles/$app)
mtime=360 ./application_report $app $version
done
#!/bin/bash #!/bin/bash
NUM_MODULE=${2:-100} # NUM_MODULE does not necessarily corresponds to the output of `ls -l $TESTCASE_DIR | wc -l` because
# 1. one folder is created for each software but NUM_MODULE pick combinations of from software/version
# 2. if a software does not modify PATH variable then there is no bintest generated for them, the number of those softwares are printed at the end
NUM_MODULE=${1:-100}
TESTCASE_DIR='./tests' TESTCASE_DIR='./tests'
APPLICATION_LIST='./application_list.txt'
USAGE_REPORT=software_usage.txt # USAGE_REPORT=software_usage.txt
if [ ! -f $USAGE_REPORT ]; then # if [ ! -f $USAGE_REPORT ]; then
software_usage $USAGE_REPORT # software_usage $USAGE_REPORT
fi # fi
echo '#!/bin/bash echo '#!/bin/bash
name=$( realpath $0 | xargs dirname | xargs basename ) name=$( realpath $0 | xargs dirname | xargs basename )
ver=${1:-"default"} ver=${1:-"default"}
...@@ -15,7 +18,7 @@ bin_dirs=$(module show $name/$ver 2>&1 | sed -n "s/.* PATH \(.*\)/\1/p") ...@@ -15,7 +18,7 @@ bin_dirs=$(module show $name/$ver 2>&1 | sed -n "s/.* PATH \(.*\)/\1/p")
NAME_EXEC_EXIST=false NAME_EXEC_EXIST=false
for bin in $bin_dirs; do for bin in $bin_dirs; do
for i in $(find $bin -maxdepth 1 -executable -type f ); do for i in $(find $bin -maxdepth 1 -executable -type f ); do
if [[ $(basename $i) == $name ]]; then if [[ $(basename $i) == $name ]]; then
$i --version; $i --version;
exit $? exit $?
fi fi
...@@ -24,17 +27,28 @@ done ...@@ -24,17 +27,28 @@ done
' > $TESTCASE_DIR/bintest ' > $TESTCASE_DIR/bintest
echo "Starting generate bintest for $NUM_MODULE softwares"
declare -i NUM_LIB=0
declare -i GENERATED_NUM=0
IFS_orig=$IFS IFS_orig=$IFS
IFS=$'\n' IFS=$'\n'
for i in $(head -n $NUM_MODULE $USAGE_REPORT); do for i in $(head -n $NUM_MODULE $APPLICATION_LIST); do
m=$(sed -n 's/\(.*\)\/\(.*\) - \(.*\)/\1 \2/p' <<< $i) m=$(sed -n 's/\(.*\)\/\(.*\)/\1 \2/p' <<< $i)
name=$(cut -f1 -d' ' <<< $m) name=$(cut -f1 -d' ' <<< $m)
ver=$(cut -f2 -d' ' <<< $m) ver=$(cut -f2 -d' ' <<< $m)
MODIFED_PATH=$(module show $name/$ver 2>&1 | sed -n 's/.* PATH \(.*\)/\1/p') MODIFIED_PATH=$(module show $name/$ver 2>&1 | sed -n 's/.* PATH \(.*\)/\1/p')
if [ -z ${MODIFIED_PATH+_} ]; then if ! [ -z "${MODIFIED_PATH}" ]; then
mkdir -p $TESTCASE_DIR/$name mkdir -p $TESTCASE_DIR/$name
cp $TESTCASE_DIR/bintest $TESTCASE_DIR/$name/bintest cp $TESTCASE_DIR/bintest $TESTCASE_DIR/$name/bintest
chmod u+x $TESTCASE_DIR/$name/bintest chmod u+x $TESTCASE_DIR/$name/bintest
GENERATED_NUM+=1
else
NUM_LIB+=1
fi fi
done done
IFS=$IFS_orig IFS=$IFS_orig
echo "Successfully generated bintests for $GENERATED_NUM applications"
echo "There are $NUM_LIB libraries (does not modify PATH), no testcases generated for them"
#!/bin/bash
TARGET_MODULEPATH="/usr/local/Modules/modulefiles"
OUTPUT_PATH="application_list.txt"
echo "" > $OUTPUT_PATH
MODULEPATH=$TARGET_MODULEPATH module avail -t 2>&1 | python -c "
import sys
with open('$OUTPUT_PATH', 'w') as fout:
for line in sys.stdin:
linelist = line.split('/')
if len(linelist) != 2:
continue
linelist[-1] = linelist[-1].replace('(default)','')
fout.write('/'.join(linelist))
"
\ No newline at end of file
#!/usr/bin/env python3
# run module load python/3.8.5-gcc8-static first
from pathlib import Path
import os
import pandas as pd
import time
import datetime
import collections
import numpy as np
nweek = 12
modulepath = Path('/usr/local/Modules/modulefiles')
softwares = list(modulepath.glob('*/'))
modulefiles = [list(i.glob('**/[!.]*')) for i in softwares if i.is_dir() and os.access(i, os.R_OK)]
lastm = {datetime.datetime.fromtimestamp(j.stat().st_mtime): j for i in modulefiles for j in i}
today = datetime.date.today()
week = datetime.timedelta(weeks=1)
interval = np.array([today - week*i for i in range(nweek+1)][::-1])
def quantize_week(date):
week = interval[:-1][(interval[:-1] <= date) & (date < interval[1:])]
return week.item()
byweek = collections.defaultdict(list)
for k, v in lastm.items():
mod_day = datetime.date(*k.timetuple()[:3])
if mod_day >= interval[0]:
byweek[quantize_week(mod_day)].append(v)
avg_install = np.mean([len(i) for i in byweek.values()])
print(avg_install)
#!/bin/bash #!/bin/bash
# each application will create a folder under OUTPUT_DIR # each application will create a folder under OUTPUT_DIR
OUTPUT_DIR=${1:-output_dir} declare -i NUM_MODULE
declare -i DEFAULT_NUM_MODULE
declare -i TIMEOUT
declare -i DEFAULT_TIMEOUT
DEFAULT_OUTPUT_DIR='./output_dir'
DEFAULT_NUM_MODULE=100
DEFAULT_TESTCASE_DIR='./tests'
DEFAULT_TIMEOUT=10
DEFAULT_APPLICATION_LIST='./application_list.txt'
function usage {
echo "Run smoke test"
echo "Usage: $0"
echo " -a <list of applications to test>. This should point to a file with lines of '<name>/<version>', it can be generated using either generate_modules_list or software_usage.default: $DEFAULT_APPLICATION_LIST"
echo " -n <number of modules to test>. Specify a large number to test all softwares, default: $DEFAULT_NUM_MODULE"
echo " -o <output directory>, Output file will be generated at OUTPUT_DIR/report.txt, default: $DEFAULT_OUTPUT_DIR"
echo " -t <testcases directories>.Testcases will be loaded from this directory. default: $DEFAULT_TESTCASE_DIR"
echo " -T <timout period in seconds>, default: $DEFAULT_TIMEOUT"
exit 1
}
while getopts ":n:a:o:t:T:" opt; do
case "$opt" in
a)
APPLICATION_LIST=$OPTARG
;;
o)
OUTPUT_DIR="$OPTARG"
;;
n)
NUM_MODULE=$OPTARG
;;
t)
TESTCASE_DIR=$OPTARG
;;
T)
TIMEOUT=$OPTARG
;;
*)
usage
;;
esac
done
if [ -z $APPLICATION_LIST ]; then
APPLICATION_LIST=$(realpath $DEFAULT_APPLICATION_LIST)
fi
# select top 50 most used module by default if [ -z $OUTPUT_DIR ]; then
NUM_MODULE=${2:-30} OUTPUT_DIR=$(realpath $DEFAULT_OUTPUT_DIR)
fi
if [ -z $NUM_MODULE ]; then
NUM_MODULE=$DEFAULT_NUM_MODULE
fi
if [ -z $TESTCASE_DIR ]; then
TESTCASE_DIR=$(realpath $DEFAULT_TESTCASE_DIR)
fi
if [ -z $TIMEOUT]; then
TIMEOUT=$DEFAULT_TIMEOUT
fi
declare -i TIMELIMIT
BINTEST=true BINTEST=true
TIMELIMIT=10
TESTCASE_DIR=$(realpath './tests')
OUTPUT_DIR=$(realpath $OUTPUT_DIR) REPORT="$OUTPUT_DIR/report.txt"
REPORT=$OUTPUT_DIR/'report.txt' FAILED_MODULE_LOGS="$OUTPUT_DIR/failed_modules.txt"
echo '' > $FAILED_MODULE_LOGS
echo '' > $REPORT
declare -i num_success=0 declare -i num_success=0
declare -i num_failed=0 declare -i num_failed=0
declare -i num_notest=0 declare -i num_notest=0
declare -i minor_error=0 declare -i minor_error=0
function generate_output_directory {
mkdir -p $OUTPUT_DIR
touch $REPORT
echo '' > $REPORT
echo "Test report created at $REPORT"
}
# function generate_software_usage {
# SOFTWARE_USAGE_PATH=software_usage.txt
# if [ ! -f $SOFTWARE_USAGE_PATH ]; then
# ./software_usage $SOFTWARE_USAGE_PATH
# fi
# }
mkdir -p $OUTPUT_DIR
touch $REPORT
echo $REPORT
echo '' > $REPORT
USAGE_REPORT=software_usage.txt
if [ ! -f $USAGE_REPORT ]; then
./software_usage $USAGE_REPORT
fi
declare -a modules
generate_output_directory
IFS_orig=$IFS IFS_orig=$IFS
IFS=$'\n' IFS=$'\n'
for i in $(head -n $NUM_MODULE $USAGE_REPORT); do
m=$(sed -n 's/\(.*\)\/\(.*\) - \(.*\)/\1 \2/p' <<< $i)
for i in $(head -n $NUM_MODULE $APPLICATION_LIST); do
# m=$(sed -n 's/\(.*\)\/\(.*\) - \(.*\)/\1 \2/p' <<< $i)
m=$(sed -n 's/\(.*\)\/\(.*\)/\1 \2/p' <<< $i)
name=$(cut -f1 -d' ' <<< $m) name=$(cut -f1 -d' ' <<< $m)
ver=$(cut -f2 -d' ' <<< $m) ver=$(cut -f2 -d' ' <<< $m)
printf "\n\n=========================\n"
if [ -z $name ]; then
continue
fi
echo "Testing $name/$ver ... "
module purge
module load $name/$ver module load $name/$ver
mkdir -p $OUTPUT_DIR/$name mkdir -p $OUTPUT_DIR/$name
echo '' > $OUTPUT_DIR/$name/$ver echo '' > $OUTPUT_DIR/$name/$ver
if [ ! -d $TESTCASE_DIR/$name ]; then if [ ! -d $TESTCASE_DIR/$name ]; then
echo "No testcase for $m found" | tee -a $REPORT echo "No testcase for $m found" | tee -a $REPORT
num_notest+=1 num_notest+=1
else else
ALL_EXEC=$(find $TESTCASE_DIR/$name -maxdepth 1 -executable -type f) ALL_EXEC=$(find $TESTCASE_DIR/$name -maxdepth 1 -executable -type f)
module_failed=false
for t_case in ${ALL_EXEC}; do for t_case in ${ALL_EXEC}; do
if [ $i == 'bintest' ] && ! $BINTEST;then break;fi if [ $i == 'bintest' ] && ! $BINTEST;then break;fi
orig_dir=$PWD orig_dir=$PWD
cd $(dirname $t_case) # in case the testcase need to compile some source from the directory cd $(dirname $t_case) # in case the testcase need to compile some source from the directory
timeout $TIMELIMIT $t_case $ver &> $OUTPUT_DIR/$name/$ver timeout $TIMEOUT $t_case $ver &> $OUTPUT_DIR/$name/$ver
exitcode=$? exitcode=$?
cd $orig_dir cd $orig_dir
if [ $exitcode -eq 0 ]; then if [ $exitcode -eq 0 ]; then
num_success+=1 num_success+=1
else else
if [ $exitcode -eq 1 ]; then if [ $exitcode -eq 1 ]; then
minor_error+=1 minor_error+=1
else else
num_failed+=1 num_failed+=1
module_failed=true
fi fi
echo "$m return non-zero exitcode $exitcode for testcase $t_case" 2>&1 | tee -a $REPORT echo "$m return non-zero exitcode $exitcode for testcase $t_case" 2>&1 | tee -a $REPORT
fi fi
done done
if $module_failed ; then
echo "$name/$ver failed"
echo "$name/$ver" >> $FAILED_MODULE_LOGS
fi
fi fi
module purge module unload $name/$ver
printf "Done"
done done
IFS=$IFS_orig IFS=$IFS_orig
echo "Summary" 2>&1 | tee -a $REPORT echo "Testcase summary" 2>&1 | tee -a $REPORT
echo "Failed: $num_failed" 2>&1 | tee -a $REPORT echo "Failed: $num_failed" 2>&1 | tee -a $REPORT
echo "Success: $num_success" 2>&1 | tee -a $REPORT echo "Success: $num_success" 2>&1 | tee -a $REPORT
echo "minor error: $minor_error, this is often due to executable not having --version option" 2>&1 | tee -a $REPORT echo "minor error: $minor_error, this is often due to executable not having --version option" 2>&1 | tee -a $REPORT
...@@ -78,5 +163,4 @@ if [ "$num_success" -lt $(( $NUM_MODULE / 2 )) ]; then ...@@ -78,5 +163,4 @@ if [ "$num_success" -lt $(( $NUM_MODULE / 2 )) ]; then
echo "Failing because not enough tests succeeded" 2>&1 | tee -a $REPORT echo "Failing because not enough tests succeeded" 2>&1 | tee -a $REPORT
exit 2 exit 2
fi fi
[ -f TAIR10_chr1.fas ] && rm TAIR10_chr1.fas
[ "$num_failed" -eq "0" ] [ "$num_failed" -eq "0" ]
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment