From 34f8276198ae3a5b7fc500bbf65e50a49886488e Mon Sep 17 00:00:00 2001 From: john30 Date: Fri, 27 May 2016 14:58:17 +0200 Subject: [PATCH 1/7] more ignores --- .gitignore | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.gitignore b/.gitignore index 1f100068..8d3f1b85 100644 --- a/.gitignore +++ b/.gitignore @@ -7,10 +7,13 @@ Makefile.in /config.* /configure /ebusd*.tar.* +/ebusd*.deb /stamp-h? .deps/ *.o *.dirstamp +*.gc* +app.info /src/ebusd/ebusd /src/tools/ebusctl /src/tools/ebusfeed @@ -20,6 +23,7 @@ Makefile.in /src/lib/ebus/test/test_symbol /src/lib/ebus/test/test_data /src/lib/ebus/test/test_message +/src/lib/ebus/test/test_filereader /docs/Doxyfile /docs/doxyfile.stamp /docs/html From 3ab44116e9e395098489d358930c269227d7d6b3 Mon Sep 17 00:00:00 2001 From: john30 Date: Sun, 26 Jun 2016 16:10:46 +0200 Subject: [PATCH 2/7] test coverage --- .travis.yml | 1 + test_coverage.sh | 178 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 179 insertions(+) create mode 100755 test_coverage.sh diff --git a/.travis.yml b/.travis.yml index 9872643d..523fec4b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,6 +3,7 @@ script: - ./autogen.sh --enable-coverage && make all test - (cd src/lib/ebus/test && ./test_symbol && ./test_filereader && ./test_data && ./test_message) - ./src/ebusd/ebusd --help + - ./test_coverage.sh after_success: - find . -type f -name '*.gcno' -exec bash -c "(f={}; cd \${f%/*}; gcov -pb \${f##*/})" \; - bash <(curl -s https://codecov.io/bash) -X gcov diff --git a/test_coverage.sh b/test_coverage.sh new file mode 100755 index 00000000..8ac1a295 --- /dev/null +++ b/test_coverage.sh @@ -0,0 +1,178 @@ +#!/bin/bash +./src/ebusd/ebusd --help >/dev/null +./src/ebusd/ebusd -r -f -x >/dev/null 2>/dev/null +./src/ebusd/ebusd -c contrib/etc/ebusd --checkconfig --dumpconfig -s -f "ff08070400/0ab5303132333431313131" >/dev/null +php -r ' +error_reporting (E_ALL); +set_time_limit (0); +ob_implicit_flush (); +if (($srv=socket_create(AF_INET, SOCK_STREAM, SOL_TCP))===false) die("server: create socket"); +if (socket_bind($srv, "127.0.0.1", 8876)===false) { + @socket_close($srv); + die("server: bind socket"); +} +if (socket_listen($srv, 5)===false) { + @socket_close($srv); + die("server: listen socket"); +} +echo "server: waiting\n"; +if (($cli=socket_accept($srv))===false) { + @socket_close($srv); + die("server: socket accept"); +} +@socket_set_block($cli); +$output=""; +$input=$hexinput=""; +echo "server: running\n"; +$endtime=time()+20; +$firstsend=time()+5; +while (time()<$endtime) { + if (($r=@socket_read($cli, 1))===false) break; + if (strlen($r)==0) break; + socket_write($cli, $r, 1); + if (ord($r[0])==0xaa) { + if (strlen($output)>0) { + echo "server: $output\n"; + $output=""; + } + if ($firstsend && time()>$firstsend) { + socket_write($cli, "\xff\x36\x07\x04\x00\x06\xaa",8); + socket_write($cli, "\xff\xfe\xb5\x16\x03\x01\x50\x30\x86\xaa",10); + $firstsend=0; + } + } else { + $output.=substr(dechex(0x100|ord($r[0])),1); + if ("31040704006f"==$output) { // answer on ident query + socket_write($cli, "\x00\x0a\x99\x42\x42\x42\x42\x42\x30\x31\x30\x31\x71",13); + $output.=">answered<"; + } else if ("315307040091"==$output) { // answer on other ident query + socket_write($cli, "\x00\x0a\x99\x42\x42\x42\x42\x42\x30\x31\x30\x31\x71",13); + $output.=">answered<"; + } else if ("311cb509030d0000e1"==$output || "3152b509030d0600c9"==$output || "3153b509030d060034"==$output) { + socket_write($cli, "\x00\x02\x40\x50\xb4",5); + $output.=">answered<"; + } else if ("3153b505080290909090909003f6"==$output || "3153b509050e3500190030"==$output) { + socket_write($cli, "\x00\x00\x00",3); + $output.=">answered<"; + } else { + $endtime=time()+10; // keep further alive + } + } +} +@socket_close($cli); +@socket_close($srv); +echo "server: done\n"; +' & +srvpid=$! +if [ -z "$srvpid" ]; then + echo "unable to start echo server" + exit 1 +fi +sleep 1 +ps -p $srvpid >/dev/null +status="$?" +if [ ! "$status" = 0 ]; then + echo "unable to start echo server" + exit 1 +fi +echo "server: $srvpid" +cat >contrib/etc/ebusd/test.csv < Date: Sun, 26 Jun 2016 16:11:53 +0200 Subject: [PATCH 3/7] mode --- contrib/debian/init.d/ebusd | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 contrib/debian/init.d/ebusd diff --git a/contrib/debian/init.d/ebusd b/contrib/debian/init.d/ebusd old mode 100644 new mode 100755 From 3e552bf42cfbcd4401c3eb36cdeb8d5fc2bb5000 Mon Sep 17 00:00:00 2001 From: john30 Date: Sun, 26 Jun 2016 16:24:43 +0200 Subject: [PATCH 4/7] require php --- .travis.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.travis.yml b/.travis.yml index 523fec4b..81f9040c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,4 +1,7 @@ language: cpp +before_install: + - sudo apt-get -qq update + - sudo apt-get install -y php script: - ./autogen.sh --enable-coverage && make all test - (cd src/lib/ebus/test && ./test_symbol && ./test_filereader && ./test_data && ./test_message) From 49d23e09bbfbea5d8d69c0f166fae88a3bc3d809 Mon Sep 17 00:00:00 2001 From: john30 Date: Sun, 26 Jun 2016 16:30:49 +0200 Subject: [PATCH 5/7] php5 --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 81f9040c..5ba71f27 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,7 @@ language: cpp before_install: - sudo apt-get -qq update - - sudo apt-get install -y php + - sudo apt-get install -y php5-cli script: - ./autogen.sh --enable-coverage && make all test - (cd src/lib/ebus/test && ./test_symbol && ./test_filereader && ./test_data && ./test_message) From 1f72c1f2d440e575addbcc3c0f857a5d82f46fca Mon Sep 17 00:00:00 2001 From: john30 Date: Sun, 26 Jun 2016 17:00:49 +0200 Subject: [PATCH 6/7] check arguments --- test_coverage.sh | 39 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/test_coverage.sh b/test_coverage.sh index 8ac1a295..e90c450d 100755 --- a/test_coverage.sh +++ b/test_coverage.sh @@ -1,7 +1,33 @@ #!/bin/bash ./src/ebusd/ebusd --help >/dev/null ./src/ebusd/ebusd -r -f -x >/dev/null 2>/dev/null +./src/ebusd/ebusd -f -d "" >/dev/null 2>/dev/null +./src/ebusd/ebusd -f -d "tcp:192.168.999.999:1" >/dev/null 2>/dev/null +./src/ebusd/ebusd -f --scanconfig -r >/dev/null 2>/dev/null +./src/ebusd/ebusd -f --latency 999999 >/dev/null 2>/dev/null +./src/ebusd/ebusd -f -c "" >/dev/null 2>/dev/null +./src/ebusd/ebusd -f -r --scanconfig >/dev/null 2>/dev/null +./src/ebusd/ebusd -f --pollinterval 999999 >/dev/null 2>/dev/null +./src/ebusd/ebusd -f --address 999 >/dev/null 2>/dev/null +./src/ebusd/ebusd -f -r --answer >/dev/null 2>/dev/null +./src/ebusd/ebusd -f --acquiretimeout 999999 >/dev/null 2>/dev/null +./src/ebusd/ebusd -f --acquireretries 999999 >/dev/null 2>/dev/null +./src/ebusd/ebusd -f --sendretries 999999 >/dev/null 2>/dev/null +./src/ebusd/ebusd -f --receivetimeout 9999999 >/dev/null 2>/dev/null +./src/ebusd/ebusd -f --numbermasters 999999 >/dev/null 2>/dev/null +./src/ebusd/ebusd -f -r --generatesyn >/dev/null 2>/dev/null +./src/ebusd/ebusd -f --pidfile "" >/dev/null 2>/dev/null +./src/ebusd/ebusd -f -p 999999 >/dev/null 2>/dev/null +./src/ebusd/ebusd -f --httpport 999999 >/dev/null 2>/dev/null +./src/ebusd/ebusd -f --htmlpath "" >/dev/null 2>/dev/null +./src/ebusd/ebusd -f -l "" >/dev/null 2>/dev/null +./src/ebusd/ebusd -f --logareas some >/dev/null 2>/dev/null +./src/ebusd/ebusd -f --loglevel unknown >/dev/null 2>/dev/null +./src/ebusd/ebusd -f --dumpfile "" >/dev/null 2>/dev/null +./src/ebusd/ebusd -f --dumpsize 9999999 >/dev/null 2>/dev/null ./src/ebusd/ebusd -c contrib/etc/ebusd --checkconfig --dumpconfig -s -f "ff08070400/0ab5303132333431313131" >/dev/null +./src/ebusd/ebusd -c contrib/etc/ebusd --checkconfig --dumpconfig -s -f "ff08070400" >/dev/null 2>/dev/null +./src/ebusd/ebusd -c contrib/etc/ebusd --checkconfig --dumpconfig -s -f "ff080704/" >/dev/null 2>/dev/null php -r ' error_reporting (E_ALL); set_time_limit (0); @@ -85,7 +111,15 @@ w,mc.5,Timer.Monday,,,53,b505,02,from,m,TTM,,,Slots 1-3,to,m,TTM,,,bis,from,m,TT r,mc.5,HeatingCurve,,,53,b509,0d3500,curve,s,UIN,100 w,mc.5,HeatingCurve,,,53,b509,0e3500,curve,m,UIN,100 EOF -./src/ebusd/ebusd -d tcp:127.0.0.1:8876 --initsend --latency 10000 -n -c "$PWD/contrib/etc/ebusd" --pollinterval=10 -s -a 31 --acquireretries 3 --answer --generatesyn --numbermasters 1 --receivetimeout 10000 --sendretries 1 --enablehex --htmlpath "$PWD/contrib/html" --httpport 8878 --localhost --pidfile "$PWD/ebusd.pid" -p 8877 -l "$PWD/ebusd.log" --logareas all --loglevel debug --lograwdata --dumpfile "$PWD/ebusd.dump" --dumpsize 100 -D +mkdir -p "$PWD/contrib/etc/ebusd/153" +cat >"$PWD/contrib/etc/ebusd/153/_templates" <"$PWD/contrib/etc/ebusd/153/36.bbb.csv" < Date: Sun, 26 Jun 2016 17:11:47 +0200 Subject: [PATCH 7/7] more checks --- test_coverage.sh | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/test_coverage.sh b/test_coverage.sh index e90c450d..23c0a83d 100755 --- a/test_coverage.sh +++ b/test_coverage.sh @@ -179,11 +179,21 @@ f -e -c mc.5 r -c mc.5 Timer.Monday w -c mc.5 Timer.Monday "-:-;-:-;-:-;-:-;-:-;-:-;Mo-So" w -c mc.5 -d 53 HeatingCurve 0.25 -w -h fe070400 hex fe070400 hex 53070400 dump grab result +r -c mc.5 -d g3 HeatingCurve +r -c mc.5 -d 00 HeatingCurve +r -c mc.5 -m 999999 HeatingCurve +r -c +r -d +r -p +r -i +r -Z +r -h fe070400 +w -h fe070400 +nocommand reload EOF while [ ! "$status" = 0 ]; do @@ -207,6 +217,9 @@ if [ "$status" = 0 ]; then done echo "scan result:" ./src/tools/ebusctl -p 8877 scan result + curl http://localhost:8080/data/ >/dev/null + curl "http://localhost:8080/data/?verbose=1" >/dev/null + curl -T .travis.yml http://localhost:8080/data/ echo "commands done" fi sleep 5