From 78f8c28252bd558cb6411a438449611ef5a86c5a Mon Sep 17 00:00:00 2001 From: Alex Fabijanic Date: Tue, 17 Oct 2023 12:33:39 +0200 Subject: [PATCH] enh(dev): add vscode run script and launch items for tests --- .vscode/launch.json | 261 ++++++++++++++++++++++++++++++++++++++++++++ poco_env.bash | 36 ++++++ runVSCode.sh | 17 +++ 3 files changed, 314 insertions(+) create mode 100644 .vscode/launch.json create mode 100644 poco_env.bash create mode 100755 runVSCode.sh diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000000..1dfbd742bd --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,261 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "name": "Linux GDB Foundation Test", + "variables": { + "libName": "Foundation" + }, + "type": "cppdbg", + "request": "launch", + "program": "${workspaceFolder}/${libName}/testsuite/bin/${env:OSNAME}/${env:OSARCH}/testrunnerd", + "args": ["-all"], + "environment": [ { "name": "PATH", "value": "${env:PATH}:${workspaceFolder}/${libName}/testsuite/bin/${env:OSNAME}/${env:OSARCH}" } ], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "externalConsole": false, + "MIMode": "gdb", + "setupCommands": [ + { + "description": "Enable pretty-printing for gdb", + "text": "-enable-pretty-printing", + "ignoreFailures": true + } + ] + }, + { + "name": "Linux GDB XML Test", + "type": "cppdbg", + "request": "launch", + "program": "${workspaceFolder}/XML/testsuite/bin/${env:OSNAME}/${env:OSARCH}/testrunnerd", + "args": ["-all"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "externalConsole": false, + "MIMode": "gdb", + "setupCommands": [ + { + "description": "Enable pretty-printing for gdb", + "text": "-enable-pretty-printing", + "ignoreFailures": true + } + ] + }, + { + "name": "Linux GDB JSON Test", + "type": "cppdbg", + "request": "launch", + "program": "${workspaceFolder}/JSON/testsuite/bin/${env:OSNAME}/${env:OSARCH}/testrunnerd", + "args": ["-all"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "externalConsole": false, + "MIMode": "gdb", + "setupCommands": [ + { + "description": "Enable pretty-printing for gdb", + "text": "-enable-pretty-printing", + "ignoreFailures": true + } + ] + }, + { + "name": "Linux GDB Util Test", + "type": "cppdbg", + "request": "launch", + "program": "${workspaceFolder}/Util/testsuite/bin/${env:OSNAME}/${env:OSARCH}/testrunnerd", + "args": ["-all"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "externalConsole": false, + "MIMode": "gdb", + "setupCommands": [ + { + "description": "Enable pretty-printing for gdb", + "text": "-enable-pretty-printing", + "ignoreFailures": true + } + ] + }, + { + "name": "Linux GDB Net Test", + "type": "cppdbg", + "request": "launch", + "program": "${workspaceFolder}/Net/testsuite/bin/${env:OSNAME}/${env:OSARCH}/testrunnerd", + "args": ["-all"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "externalConsole": false, + "MIMode": "gdb", + "setupCommands": [ + { + "description": "Enable pretty-printing for gdb", + "text": "-enable-pretty-printing", + "ignoreFailures": true + } + ] + }, + { + "name": "Linux GDB Crypto Test", + "type": "cppdbg", + "request": "launch", + "program": "${workspaceFolder}/Crypto/testsuite/bin/${env:OSNAME}/${env:OSARCH}/testrunnerd", + "args": ["-all"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "externalConsole": false, + "MIMode": "gdb", + "setupCommands": [ + { + "description": "Enable pretty-printing for gdb", + "text": "-enable-pretty-printing", + "ignoreFailures": true + } + ] + }, + { + "name": "Linux GDB Net SSL Test", + "type": "cppdbg", + "request": "launch", + "program": "${workspaceFolder}/NetSSL_OpenSSL/testsuite/bin/${env:OSNAME}/${env:OSARCH}/testrunnerd", + "args": ["-all"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "externalConsole": false, + "MIMode": "gdb", + "setupCommands": [ + { + "description": "Enable pretty-printing for gdb", + "text": "-enable-pretty-printing", + "ignoreFailures": true + } + ] + }, + { + "name": "Linux GDB Data Test", + "type": "cppdbg", + "request": "launch", + "program": "${workspaceFolder}/Data/testsuite/bin/${env:OSNAME}/${env:OSARCH}/testrunnerd", + "args": ["-all"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "externalConsole": false, + "MIMode": "gdb", + "setupCommands": [ + { + "description": "Enable pretty-printing for gdb", + "text": "-enable-pretty-printing", + "ignoreFailures": true + } + ] + }, + { + "name": "Linux GDB Data/SQLite Test", + "type": "cppdbg", + "request": "launch", + "program": "${workspaceFolder}/Data/SQLite/testsuite/bin/${env:OSNAME}/${env:OSARCH}/testrunnerd", + "args": ["-all"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "externalConsole": false, + "MIMode": "gdb", + "setupCommands": [ + { + "description": "Enable pretty-printing for gdb", + "text": "-enable-pretty-printing", + "ignoreFailures": true + } + ] + }, + { + "name": "Linux GDB Data/ODBC Test", + "type": "cppdbg", + "request": "launch", + "program": "${workspaceFolder}/Data/ODBC/testsuite/bin/${env:OSNAME}/${env:OSARCH}/testrunnerd", + "args": ["-all"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "externalConsole": false, + "MIMode": "gdb", + "setupCommands": [ + { + "description": "Enable pretty-printing for gdb", + "text": "-enable-pretty-printing", + "ignoreFailures": true + } + ] + }, + { + "name": "Linux GDB Data/MySQL Test", + "type": "cppdbg", + "request": "launch", + "program": "${workspaceFolder}/Data/MySQL/testsuite/bin/${env:OSNAME}/${env:OSARCH}/testrunnerd", + "args": ["-all"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "externalConsole": false, + "MIMode": "gdb", + "setupCommands": [ + { + "description": "Enable pretty-printing for gdb", + "text": "-enable-pretty-printing", + "ignoreFailures": true + } + ] + }, + { + "name": "Linux GDB Data/PostgreSQL Test", + "type": "cppdbg", + "request": "launch", + "program": "${workspaceFolder}/Data/PostgreSQL/testsuite/bin/${env:OSNAME}/${env:OSARCH}/testrunnerd", + "args": ["-all"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "externalConsole": false, + "MIMode": "gdb", + "setupCommands": [ + { + "description": "Enable pretty-printing for gdb", + "text": "-enable-pretty-printing", + "ignoreFailures": true + } + ] + }, + { + "name": "Linux GDB MongoDB Test", + "type": "cppdbg", + "request": "launch", + "program": "${workspaceFolder}/MongoDB/testsuite/bin/${env:OSNAME}/${env:OSARCH}/testrunnerd", + "args": ["-all"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "externalConsole": false, + "MIMode": "gdb", + "setupCommands": [ + { + "description": "Enable pretty-printing for gdb", + "text": "-enable-pretty-printing", + "ignoreFailures": true + } + ] + }, + { + "name": "Linux GDB Redis Test", + "type": "cppdbg", + "request": "launch", + "program": "${workspaceFolder}/Redis/testsuite/bin/${env:OSNAME}/${env:OSARCH}/testrunnerd", + "args": ["-all"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "externalConsole": false, + "MIMode": "gdb", + "setupCommands": [ + { + "description": "Enable pretty-printing for gdb", + "text": "-enable-pretty-printing", + "ignoreFailures": true + } + ] + } + ] +} diff --git a/poco_env.bash b/poco_env.bash new file mode 100644 index 0000000000..756438e6fc --- /dev/null +++ b/poco_env.bash @@ -0,0 +1,36 @@ +# usage: +# . env.bash +# or +# source env.bash + +self="${BASH_SOURCE[0]}" + +if [ "$self" == "$0" ] ; then + echo "This file must be sourced from bash, not run." + echo "Usage: . $0" + exit 1 +fi + +if [ -d "$self" ] ; then + basedir="$(cd "$self" || exit; pwd -P)" +else + basedir="$(cd "$(dirname "$self")" || exit; pwd -P)" +fi + +OSNAME="${OSNAME:=$(uname -s)}" +export OSNAME +OSARCH="${OSARCH:=$(uname -m)}" +export OSARCH +POCO_BASE="$basedir" +export POCO_BASE +PATH=$POCO_BASE/lib/$OSNAME/$OSARCH:$POCO_BASE:$PATH +export PATH + +# uncomment for sanitizer builds +#LSAN_OPTIONS=verbosity=1:log_threads=1 +#export LSAN_OPTIONS + +echo "\$OSNAME = $OSNAME" +echo "\$OSARCH = $OSARCH" +echo "\$POCO_BASE = $POCO_BASE" +echo "\$PATH = $PATH" diff --git a/runVSCode.sh b/runVSCode.sh new file mode 100755 index 0000000000..b613d8c000 --- /dev/null +++ b/runVSCode.sh @@ -0,0 +1,17 @@ +#!/bin/bash +# +# this script sets the proper build/runtime +# environment before opening poco in vscode + +self="${BASH_SOURCE[0]}" + +if [ -d "$self" ] ; then + basedir="$(cd "$self" || exit; pwd -P)" +else + basedir="$(cd "$(dirname "$self")" || exit; pwd -P)" +fi + +# shellcheck disable=SC1091 +. "$basedir"/poco_env.bash + +code "$basedir"