#!/bin/bash # # Test hooks in villas-node # # @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de> # @copyright 2014-2020, Institute for Automation of Complex Power Systems, EONERC # @license GNU General Public License (version 3) # # VILLASnode # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. ################################################################################## SCRIPT=$(realpath $0) SCRIPTPATH=$(dirname ${SCRIPT}) source ${SCRIPTPATH}/../../tools/villas-helper.sh CONFIG_FILE=$(mktemp) OUTPUT_FILE=$(mktemp) EXPECT_FILE=$(mktemp) cat <<EOF > ${EXPECT_FILE} 1553690684.041211800-4.313770e-02(5) 6.303265 0.492616 0.309017 -1.000000 0.800000 0.050000 1553690684.051211800-5.287260e-02(6) 5.673902 0.148827 0.368125 -1.000000 0.760000 0.060000 1553690684.061211800-6.266780e-02(7) 5.896198 0.232320 0.425779 -1.000000 0.720000 0.070000 1553690684.071211800-7.256350e-02(8) 5.788125 0.152309 0.481754 -1.000000 0.680000 0.080000 1553690684.081211800-8.251890e-02(9) 6.748635 0.608491 0.535827 -1.000000 0.640000 0.090000 EOF cat > ${CONFIG_FILE} <<EOF { "nodes": { "sig": { "type": "signal", "signal": "mixed", "realtime": false, "limit": 10, "rate": 100, "values": 5 }, "file": { "type": "file", "uri": "${OUTPUT_FILE}" } }, "paths": [ { "in": "sig", "out": "file", "hooks": [ { "type": "average", "signals" : [ "random", 1, 2, 3, 4 ], "offset": 0 }, { "type": "skip_first", "samples": 5 }, { "type": "scale", "scale": 10, "offset": 5, "signal": "average" } ] } ] } EOF # Start node villas-node ${CONFIG_FILE} # Compare only the data values villas-test-cmp ${OUTPUT_FILE} ${EXPECT_FILE} RC=$? cat ${OUTPUT_FILE} rm ${CONFIG_FILE} ${OUTPUT_FILE} ${EXPECT_FILE} exit ${RC}