@@ -39,7 +39,12 @@ file=$1
3939# the command will ignore lines starting with #
4040calculation=` grep calculation INPUT | grep -v ' ^#' | awk ' {print $2}' | sed s/[[:space:]]//g`
4141
42- running_path=` echo " OUT.autotest/running_$calculation " " .log" `
42+ # running_path=`echo "OUT.autotest/running_$calculation"".log"`
43+ running_path=$( ls OUT.autotest/running_${calculation} * .log 2> /dev/null | head -1)
44+ if [ -z " $running_path " ]; then
45+ echo " Error: No running log file found for calculation=$calculation in OUT.autotest/"
46+ exit 1
47+ fi
4348# echo $running_path
4449
4550natom=` grep -En ' (^|[[:space:]])TOTAL ATOM NUMBER($|[[:space:]])' $running_path | tail -1 | awk ' {print $6}' `
@@ -625,6 +630,47 @@ if ! test -z "$rdmft" && [[ $rdmft == 1 ]]; then
625630 echo " " >> $1
626631fi
627632
633+ # --------------------------------------------
634+ # Check if out_alllog is set to 1
635+ # and verify running*.log filenames
636+ # --------------------------------------------
637+ out_alllog=$( get_input_key_value " out_alllog" " INPUT" )
638+ if ! test -z " $out_alllog " && [ $out_alllog -eq 1 ]; then
639+ calculation=$( get_input_key_value " calculation" " INPUT" )
640+
641+ if [ -z " $calculation " ]; then
642+ echo " Error: calculation parameter not found in INPUT"
643+ exit 1
644+ fi
645+
646+ # Find all running*.log files in OUT.autotest directory
647+ log_files=$( ls OUT.autotest/running* .log 2> /dev/null)
648+
649+ if [ -z " $log_files " ]; then
650+ echo " Error: No running*.log files found in OUT.autotest/"
651+ exit 1
652+ fi
653+
654+ # Check each log file name contains the calculation parameter
655+ all_valid=true
656+ for log_file in $log_files ; do
657+ filename=$( basename " $log_file " )
658+ if [[ ! " $filename " =~ running_${calculation} _ ]]; then
659+ echo " Error: Invalid log filename $filename - should contain 'running_${calculation} _'"
660+ all_valid=false
661+ fi
662+ done
663+
664+ if $all_valid ; then
665+ echo " All log filenames contain 'running_${calculation} _' - validation passed"
666+ echo " log_filename_validation 1" >> $1
667+ else
668+ echo " Error: Some log filenames do not contain 'running_${calculation} _'"
669+ echo " log_filename_validation 0" >> $1
670+ exit 1
671+ fi
672+ fi
673+
628674# --------------------------------------------
629675# Check time information
630676# --------------------------------------------
0 commit comments