Skip to content
Snippets Groups Projects
Commit c044bca6 authored by lche0021's avatar lche0021
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 d92f2ea3
No related branches found
No related tags found
3 merge requests!464Fix listdeps,!442Smoke test,!351Smoke test
#!/bin/bash
set -e
software=$1
if [ -z $1 ]; then
echo 'please specify target software'
echo 'input can be either '
echo 'listdeps <name>'
echo 'OR'
echo 'listdeps <name> <version>'
exit 1
fi
version=$2
if [ -z $version ]; then
version=( $(ls /usr/local/Modules/modulefiles/$software) )
else
version=( $version )
fi
mkdir -p $software
for i in $version; do touch $software/$ver; done
for i in $(ls -d /usr/local/*/); do
name=$(basename $i)
load_ver=$(module show $name 2>&1 | sed -n "s/module.*load\ ${software}\/\(.*\)/\1/p")
if [ ! -z $load_ver ]; then
echo $name >> $software/$load_ver
fi
done
set +e
#!/bin/bash
# each application will create a folder under output_dir
output_dir=${1:-output_dir}
# select top 50 most used module by default
num_module=${2:-50}
testcase_dir='./tests'
mkdir -p $output_dir
software_usage=software_usage.txt
if [ ! -f $software_usage ]; then
software_usage $software_usage
fi
declare -a modules
IFS_orig=$IFS
IFS=$'\n'
for i in $(head -n $num_module $software_usage); do
m=$(sed -n 's/\(.*\)\/\(.*\) - \(.*\)/\1 \2/p' <<< $i)
name=$(cut -f1 -d' ' <<< $m)
ver=$(cut -f2 -d' ' <<< $m)
module load $name/$ver
mkdir -p $output_dir/$name
echo '' > $output_dir/$name/$ver
if [ -d $testcase_dir/$name ]; then
for i in $(ls -X $testcase_dir/$name); do
t_case=$testcase_dir/$name/$i
$t_case >> $output_dir/$name/$ver 2>&1
exitcode=$?
if [ $exitcode -ne 0 ]; then
echo "$m return non-zero exitcode $exitcode for testcase $t_case"
fi
done
fi
module purge
done
IFS=$IFS_orig
#!/bin/bash
# This script will count the number of occurence for all modules in logging and sort the them in desceding order
timestamp=$(date | sed 's/ /_/g' | sed 's/\:/\_/g' )
output=${1:-${timestamp}.txt}
#MODULE_LOGGING_PATH=/projects/pMOSP/module_logging
MODULE_LOGGING_PATH=/home/luhanc/module_logging
userlist=$(ls -d $MODULE_LOGGING_PATH/*/)
declare -A modules
modules=()
for userpath in $userlist
do
if [[ -r $userpath ]]
then
logfiles=$(ls $userpath/module_log_*)
for logfile in $logfiles
do
for i in $(cat $logfile | tr ':' '\n')
do
(( modules["$i"] ++ ))
done
done
fi
done
for k in "${!modules[@]}"
do
echo $k ' - ' ${modules["$k"]}
done |
sort -rn -k3 > $output
This diff is collapsed.
#!/bin/bash
R --version
#!/bin/bash
conda --version
#!/bin/bash
nvidia-smi
#!/bin/bash
gcc --version
#!/bin/bash
h5stat --help
#!/bin/bash
java --version
#!/bin/bash
mpicc --version
mpirun --version
mpirun -np 4 hostname
#!/bin/bash
python --version
pip --version
#!/usr/bin/env python
import sys
import os
#!/bin/bash
samtools --version
#!/bin/bash
singularity --version
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