From 60989d8dee7211147387652beba7b6ee05f1071b Mon Sep 17 00:00:00 2001 From: Andrew Mogan Date: Wed, 21 Jan 2026 09:09:57 -0600 Subject: [PATCH 1/7] Add arguments for release, repo, and dbt-branch --- scripts/test_daq-buildtools.sh | 43 ++++++++++++++++++++++++++++++---- 1 file changed, 39 insertions(+), 4 deletions(-) diff --git a/scripts/test_daq-buildtools.sh b/scripts/test_daq-buildtools.sh index c22080c47..24f463c41 100755 --- a/scripts/test_daq-buildtools.sh +++ b/scripts/test_daq-buildtools.sh @@ -1,6 +1,29 @@ #!/bin/bash -repo=ipm +release="last_fddaq" +repo="ipm" +dbt_branch="develop" + +while [[ $# -gt 0 ]]; do + case "$1" in + --release) + release="$2" + shift 2 + ;; + --repo) + repo="$2" + shift 2 + ;; + --dbt-branch) + dbt_branch="$2" + shift 2 + ;; + *) + echo "ERROR: Unknown argument: $1" + exit 1 + ;; + esac +done . /cvmfs/dunedaq.opensciencegrid.org/setup_dunedaq.sh || exit 1 setup_dbt latest_v5 || exit 2 @@ -10,21 +33,33 @@ newdir=$( mktemp -d ) mkdir -p $newdir cd $newdir +if [[ "$dbt_branch" != "develop" ]]; then + git clone https://github.com/DUNE-DAQ/daq-buildtools.git -b "$dbt_branch" + source daq-buildtools/env.sh +fi + +#RELEASE=NFD_DEV_260120_A9 +echo "RELEASE: $release" +echo "BRANCH: $dbt_branch" + echo "*********************************TEST dbt-setup-release *******************************" # Check that dbt-setup-release works without altering the environment, thus the (...) -(dbt-setup-release -n last_fddaq; echo $? > $newdir/dbt-setup-release_result.txt) +#(dbt-setup-release -n last_fddaq; echo $? > $newdir/dbt-setup-release_result.txt) +(dbt-setup-release -n "$release"; echo $? > $newdir/dbt-setup-release_result.txt) +source ~/daq-buildtools/env.sh test -e $newdir/dbt-setup-release_result.txt || exit 3 test $( cat $newdir/dbt-setup-release_result.txt ) == 0 || exit 4 rm -f dbt-setup-release_result.txt echo "*********************************TEST dbt-create ***************************************" -dbt-create -s -n last_fddaq || exit 5 -cd $( ls ) # Only thing in the directory will be the work area +dbt-create -s -n "$release" || exit 5 +cd "$release" # Only thing in the directory will be the work area cd sourcecode git clone https://github.com/DUNE-DAQ/$repo || exit 6 cd .. . env.sh || exit 7 +source ~/daq-buildtools/env.sh echo "**********************************TEST dbt-build ****************************************" dbt-build || exit 8 From 08ea543a411a87dfe885c53d147f222f3b4d1533 Mon Sep 17 00:00:00 2001 From: Andrew Mogan Date: Mon, 26 Jan 2026 10:35:57 -0600 Subject: [PATCH 2/7] Revert temp directory structure --- scripts/test_daq-buildtools.sh | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/scripts/test_daq-buildtools.sh b/scripts/test_daq-buildtools.sh index 24f463c41..8ebbe2cc7 100755 --- a/scripts/test_daq-buildtools.sh +++ b/scripts/test_daq-buildtools.sh @@ -28,16 +28,16 @@ done . /cvmfs/dunedaq.opensciencegrid.org/setup_dunedaq.sh || exit 1 setup_dbt latest_v5 || exit 2 +if [[ -n "dbt_branch" ]]; then + git clone https://github.com/DUNE-DAQ/daq-buildtools.git -b "$dbt_branch" + source daq-buildtools/env.sh +fi + newdir=$( mktemp -d ) mkdir -p $newdir cd $newdir -if [[ "$dbt_branch" != "develop" ]]; then - git clone https://github.com/DUNE-DAQ/daq-buildtools.git -b "$dbt_branch" - source daq-buildtools/env.sh -fi - #RELEASE=NFD_DEV_260120_A9 echo "RELEASE: $release" echo "BRANCH: $dbt_branch" @@ -46,7 +46,7 @@ echo "*********************************TEST dbt-setup-release ****************** # Check that dbt-setup-release works without altering the environment, thus the (...) #(dbt-setup-release -n last_fddaq; echo $? > $newdir/dbt-setup-release_result.txt) (dbt-setup-release -n "$release"; echo $? > $newdir/dbt-setup-release_result.txt) -source ~/daq-buildtools/env.sh +#source ~/daq-buildtools/env.sh test -e $newdir/dbt-setup-release_result.txt || exit 3 test $( cat $newdir/dbt-setup-release_result.txt ) == 0 || exit 4 @@ -54,7 +54,8 @@ rm -f dbt-setup-release_result.txt echo "*********************************TEST dbt-create ***************************************" dbt-create -s -n "$release" || exit 5 -cd "$release" # Only thing in the directory will be the work area +#cd "$release" # Only thing in the directory will be the work area +cd $(ls) # Only thing in the directory will be the work area cd sourcecode git clone https://github.com/DUNE-DAQ/$repo || exit 6 cd .. From 90687d8c707951aef4bf35b3a1d1b1580efaa37a Mon Sep 17 00:00:00 2001 From: Andrew Mogan Date: Fri, 6 Feb 2026 13:45:43 -0600 Subject: [PATCH 3/7] Remove comments --- scripts/test_daq-buildtools.sh | 7 ------- 1 file changed, 7 deletions(-) diff --git a/scripts/test_daq-buildtools.sh b/scripts/test_daq-buildtools.sh index 8ebbe2cc7..35ecb9514 100755 --- a/scripts/test_daq-buildtools.sh +++ b/scripts/test_daq-buildtools.sh @@ -38,15 +38,9 @@ newdir=$( mktemp -d ) mkdir -p $newdir cd $newdir -#RELEASE=NFD_DEV_260120_A9 -echo "RELEASE: $release" -echo "BRANCH: $dbt_branch" - echo "*********************************TEST dbt-setup-release *******************************" # Check that dbt-setup-release works without altering the environment, thus the (...) -#(dbt-setup-release -n last_fddaq; echo $? > $newdir/dbt-setup-release_result.txt) (dbt-setup-release -n "$release"; echo $? > $newdir/dbt-setup-release_result.txt) -#source ~/daq-buildtools/env.sh test -e $newdir/dbt-setup-release_result.txt || exit 3 test $( cat $newdir/dbt-setup-release_result.txt ) == 0 || exit 4 @@ -54,7 +48,6 @@ rm -f dbt-setup-release_result.txt echo "*********************************TEST dbt-create ***************************************" dbt-create -s -n "$release" || exit 5 -#cd "$release" # Only thing in the directory will be the work area cd $(ls) # Only thing in the directory will be the work area cd sourcecode git clone https://github.com/DUNE-DAQ/$repo || exit 6 From 7f94ce7cd5519618b06eb830f1504cfff367e826 Mon Sep 17 00:00:00 2001 From: Andrew Mogan Date: Fri, 6 Feb 2026 14:07:28 -0600 Subject: [PATCH 4/7] Add usage and config output --- scripts/test_daq-buildtools.sh | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/scripts/test_daq-buildtools.sh b/scripts/test_daq-buildtools.sh index 35ecb9514..444288d81 100755 --- a/scripts/test_daq-buildtools.sh +++ b/scripts/test_daq-buildtools.sh @@ -1,11 +1,32 @@ #!/bin/bash +usage() { + local prog=$(basename "$0") + cat << EOF +Usage: $prog [OPTIONS] + +Test functionality of daq-buildtools commands. + +Optional arguments: + --release Release in which to test daq-buildtools commands. [default: last_fddaq] + --dbt-branch Branch of daq-buildtools to run tests from. [default: develop] + --repo Name of a single repo to checkout for tests. [default: ipm] + +Example: + ./${prog} --release fddaq-v5.5.0-a9 --dbt-branch user/new_feature --repo hdf5libs +EOF +} + release="last_fddaq" repo="ipm" dbt_branch="develop" while [[ $# -gt 0 ]]; do case "$1" in + -h|--help|-?) + usage + exit 1 + ;; --release) release="$2" shift 2 @@ -25,6 +46,11 @@ while [[ $# -gt 0 ]]; do esac done +echo -e "Running daq-buildtools commands using:\n" +echo -e "\tRelease name: $release" +echo -e "\tdbt branch: $dbt_branch" +echo -e "\trepo: $repo\n" + . /cvmfs/dunedaq.opensciencegrid.org/setup_dunedaq.sh || exit 1 setup_dbt latest_v5 || exit 2 From 55b797f8e1eb87ab254295046132636796c28c5a Mon Sep 17 00:00:00 2001 From: Andrew Mogan Date: Tue, 10 Feb 2026 10:14:49 -0600 Subject: [PATCH 5/7] Infer extra release arguments from release name --- scripts/test_daq-buildtools.sh | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/scripts/test_daq-buildtools.sh b/scripts/test_daq-buildtools.sh index 444288d81..8f340b603 100755 --- a/scripts/test_daq-buildtools.sh +++ b/scripts/test_daq-buildtools.sh @@ -46,6 +46,13 @@ while [[ $# -gt 0 ]]; do esac done +extra_args="" +if [[ "$release" == *"FD_"* ]]; then + extra_args=(-n) +elif [[ "$release" == *"rc"* ]]; then + extra_args=(-b candidate) +fi + echo -e "Running daq-buildtools commands using:\n" echo -e "\tRelease name: $release" echo -e "\tdbt branch: $dbt_branch" @@ -66,14 +73,14 @@ cd $newdir echo "*********************************TEST dbt-setup-release *******************************" # Check that dbt-setup-release works without altering the environment, thus the (...) -(dbt-setup-release -n "$release"; echo $? > $newdir/dbt-setup-release_result.txt) +(dbt-setup-release "${extra_args[@]}" "$release"; echo $? > $newdir/dbt-setup-release_result.txt) test -e $newdir/dbt-setup-release_result.txt || exit 3 test $( cat $newdir/dbt-setup-release_result.txt ) == 0 || exit 4 rm -f dbt-setup-release_result.txt echo "*********************************TEST dbt-create ***************************************" -dbt-create -s -n "$release" || exit 5 +dbt-create -s "${extra_args[@]}" "$release" || exit 5 cd $(ls) # Only thing in the directory will be the work area cd sourcecode git clone https://github.com/DUNE-DAQ/$repo || exit 6 From f4a4c0e6cd5c73717d7c3e1d104e494059f05867 Mon Sep 17 00:00:00 2001 From: Andrew Mogan Date: Tue, 10 Feb 2026 13:29:52 -0600 Subject: [PATCH 6/7] Improve tmp directory handling --- scripts/test_daq-buildtools.sh | 39 ++++++++++++++++++++++------------ 1 file changed, 25 insertions(+), 14 deletions(-) diff --git a/scripts/test_daq-buildtools.sh b/scripts/test_daq-buildtools.sh index 8f340b603..6b9d8a53d 100755 --- a/scripts/test_daq-buildtools.sh +++ b/scripts/test_daq-buildtools.sh @@ -17,6 +17,17 @@ Example: EOF } +start_dir="$PWD" + +cleanup() { + echo "Triggering cleanup" + cd "$start_dir" + rm -rf "$dbt_tmpdir" + rm -rf "$release_tmpdir" + echo "Done" +} +trap cleanup EXIT SIGINT SIGTERM + release="last_fddaq" repo="ipm" dbt_branch="develop" @@ -46,8 +57,8 @@ while [[ $# -gt 0 ]]; do esac done -extra_args="" -if [[ "$release" == *"FD_"* ]]; then +extra_args=() +if [[ "$release" == *"FD_"* || "$release" == "last_fddaq" ]]; then extra_args=(-n) elif [[ "$release" == *"rc"* ]]; then extra_args=(-b candidate) @@ -62,31 +73,33 @@ echo -e "\trepo: $repo\n" setup_dbt latest_v5 || exit 2 if [[ -n "dbt_branch" ]]; then + dbt_tmpdir=$(mktemp -d) + mkdir -p "$dbt_tmpdir" && cd "$dbt_tmpdir" git clone https://github.com/DUNE-DAQ/daq-buildtools.git -b "$dbt_branch" source daq-buildtools/env.sh fi -newdir=$( mktemp -d ) +release_tmpdir=$(mktemp -d) +mkdir -p "$release_tmpdir" && cd "$release_tmpdir" -mkdir -p $newdir -cd $newdir +echo "dbt_tmpdir: $dbt_tmpdir" +echo "release_tmpdir: $release_tmpdir" echo "*********************************TEST dbt-setup-release *******************************" # Check that dbt-setup-release works without altering the environment, thus the (...) -(dbt-setup-release "${extra_args[@]}" "$release"; echo $? > $newdir/dbt-setup-release_result.txt) +(dbt-setup-release "${extra_args[@]}" "$release"; echo $? > $release_tmpdir/dbt-setup-release_result.txt) -test -e $newdir/dbt-setup-release_result.txt || exit 3 -test $( cat $newdir/dbt-setup-release_result.txt ) == 0 || exit 4 +test -e $release_tmpdir/dbt-setup-release_result.txt || exit 3 +test $( cat $release_tmpdir/dbt-setup-release_result.txt ) == 0 || exit 4 rm -f dbt-setup-release_result.txt echo "*********************************TEST dbt-create ***************************************" -dbt-create -s "${extra_args[@]}" "$release" || exit 5 +dbt-create -s ${extra_args[@]} $release || exit 5 cd $(ls) # Only thing in the directory will be the work area cd sourcecode git clone https://github.com/DUNE-DAQ/$repo || exit 6 cd .. . env.sh || exit 7 -source ~/daq-buildtools/env.sh echo "**********************************TEST dbt-build ****************************************" dbt-build || exit 8 @@ -104,8 +117,8 @@ dbt-clang-format.sh $repo --view-differences-only || exit 11 # Test building against a sourcecode directory outside of the work area echo "***********************TEST dbt-build with external sourcecode **************************" cd .. -mv sourcecode $newdir -ln -s $newdir/sourcecode +mv sourcecode $release_tmpdir +ln -s $release_tmpdir/sourcecode dbt-build --clean || exit 12 echo "*****************************TEST dbt-build --codegen **********************************" @@ -117,6 +130,4 @@ spack install py-wesanderson || exit 14 echo "*********************************TEST dbt-lcov.sh****************************************" dbt-lcov.sh || exit 15 -rm -rf $newdir - exit 0 From 1e21a141b682bc179aaf503ee53817b409a82783 Mon Sep 17 00:00:00 2001 From: Andrew Mogan Date: Tue, 10 Feb 2026 13:43:54 -0600 Subject: [PATCH 7/7] Remove comments --- scripts/test_daq-buildtools.sh | 3 --- 1 file changed, 3 deletions(-) diff --git a/scripts/test_daq-buildtools.sh b/scripts/test_daq-buildtools.sh index 6b9d8a53d..372b1d136 100755 --- a/scripts/test_daq-buildtools.sh +++ b/scripts/test_daq-buildtools.sh @@ -82,9 +82,6 @@ fi release_tmpdir=$(mktemp -d) mkdir -p "$release_tmpdir" && cd "$release_tmpdir" -echo "dbt_tmpdir: $dbt_tmpdir" -echo "release_tmpdir: $release_tmpdir" - echo "*********************************TEST dbt-setup-release *******************************" # Check that dbt-setup-release works without altering the environment, thus the (...) (dbt-setup-release "${extra_args[@]}" "$release"; echo $? > $release_tmpdir/dbt-setup-release_result.txt)