Files
raspberry-pi-pico-docker-sdk/test_sdk.sh
2024-08-27 23:11:16 +02:00

54 lines
1.8 KiB
Bash
Executable File

#! /usr/bin/env bash
RED="\e[31m"
GREEN="\e[32m"
NC="\e[0m"
STATUS=0
if [[ -z $1 ]]; then
echo "Please provide an SDK image you want to test"
fi
declare -a boards=("pico" "pico_w" "pico2" "pico2_riscv")
docker run -d -it --name pico-sdk --mount type=bind,source="${PWD}"/test_poject,target=/home/dev "$1"
for board in "${boards[@]}"
do
echo "---- $board build test ----"
docker exec pico-sdk /bin/bash -c "rm -rf /home/dev/build"
if [[ $board = pico2_riscv ]] ; then
docker exec -i pico-sdk /bin/bash -c "cd /home/dev && mkdir build && cd build && cmake .. -DPICO_BOARD=pico2 -DPICO_PLATFORM=rp2350-riscv && make -j4"
else
docker exec -i pico-sdk /bin/bash -c "cd /home/dev && mkdir build && cd build && cmake .. -DPICO_BOARD=${board} && make -j4"
fi
if [ $? != 0 ]; then
echo -e "${RED}----- Test failed -----${NC}"
STATUS=1
break
fi
echo "${GREEN}----- Test passed -----${NC}"
done
docker container kill pico-sdk
docker container rm pico-sdk
exit ${STATUS}
# for board in "${boards[@]}"
# do
# echo "FreeRTOS $board build test"
# docker run -d -it --name pico-sdk --mount type=bind,source=${PWD}/freertos_test_project,target=/home/dev $1
# if [[ $board -eq "pico2_riscv" ]] ; then
# docker exec pico-sdk /bin/bash -c "cd /home/dev && mkdir build && cd build && cmake .. -DPICO_BOARD=pico2 -DPICO_PLATFORM=rp2350-riscv && make -j4"
# else
# docker exec pico-sdk /bin/bash -c "cd /home/dev && mkdir build && cd build && cmake .. -DPICO_BOARD=${board} && make -j4 && cd .. && rm -rf build"
# fi
# docker exec pico-sdk /bin/bash -c "rm -rf /home/dev/build"
# docker container kill pico-sdk
# docker container rm pico-sdk
# rm -rf ./test_poject/build/
# done