Improved error detection algorithm.

Signed-off-by: Matthew Stidham <stidmatt@protonmail.com>
This commit is contained in:
Matthew Stidham
2021-02-18 15:23:43 -08:00
parent 436a28b174
commit fb0b4abb72
2 changed files with 81 additions and 12 deletions

View File

@@ -126,26 +126,19 @@ function run_test() {
echo_print echo_print
echo "$i" echo "$i"
$i > "${TEST_DIR}/${NAME}.txt" 2> "${TEST_DIR}/${NAME}_stderr.txt" $i > "${TEST_DIR}/${NAME}.txt" 2> "${TEST_DIR}/${NAME}_stderr.txt"
retval=$? locallines==$(grep -v '^\s*$' "${TEST_DIR}/${NAME}_stderr.txt" | wc -l)
grep -i fail "${TEST_DIR}/${NAME}.txt" && retval=1
chmod 664 "${TEST_DIR}/${NAME}.txt" chmod 664 "${TEST_DIR}/${NAME}.txt"
stdoutlength=$(wc -c "${URL}/${NAME}.txt") if (( $locallines > 1 )); then
if (( $retval == 0 )); then
results+=("<tr><td>${CURR_TEST_NAME}</td><td class='scriptdetails'>${i}</td> results+=("<tr><td>${CURR_TEST_NAME}</td><td class='scriptdetails'>${i}</td>
<td class='success'>Success</td> <td class='success'>Success</td>
<td><a href=\"${URL}/${NAME}.txt\" target=\"_blank\">STDOUT</a></td> <td><a href=\"${URL}/${NAME}.txt\" target=\"_blank\">STDOUT</a></td>
<td></td>
<td>${stdoutlength}</td>
<td></td></tr>") <td></td></tr>")
else else
stderrlength=$(wc -c "${URL}/${NAME}_stderr.txt") stderrlength=$(wc -c "${URL}/${NAME}_stderr.txt")
results+=("<tr><td>${CURR_TEST_NAME}</td><td class='scriptdetails'>${i}</td> results+=("<tr><td>${CURR_TEST_NAME}</td><td class='scriptdetails'>${i}</td>
<td class='failure'>Failure</td> <td class='failure'>Failure</td>
<td><a href=\"${URL}/${NAME}.txt\" target=\"_blank\">STDOUT</a></td> <td><a href=\"${URL}/${NAME}.txt\" target=\"_blank\">STDOUT</a></td>
<td><a href=\"${URL}/${NAME}_stderr.txt\" target=\"_blank\">STDERR</a></td> <td><a href=\"${URL}/${NAME}_stderr.txt\" target=\"_blank\">STDERR</a></td></tr>")
<td>${stdoutlength}</td>
<td>${stderrlength}</td></tr>")
fi fi
fi fi
done done
@@ -190,8 +183,6 @@ function html_generator() {
<th onclick=\"sortTable(2)\">Status</th> <th onclick=\"sortTable(2)\">Status</th>
<th onclick=\"sortTable(3)\">STDOUT</th> <th onclick=\"sortTable(3)\">STDOUT</th>
<th onclick=\"sortTable(4)\">STDERR</th> <th onclick=\"sortTable(4)\">STDERR</th>
<th onclick=\"sortTable(3)\">STDOUT length</th>
<th onclick=\"sortTable(4)\">STDERR length</th>
</tr>" </tr>"
tail="</body> tail="</body>
</html>" </html>"

View File

@@ -0,0 +1,78 @@
#!/usr/bin/env python3
"""
Script for creating a variable number of bridges.
"""
import sys
import os
import argparse
if sys.version_info[0] != 3:
print("This script requires Python 3")
exit(1)
if 'py-json' not in sys.path:
sys.path.append(os.path.join(os.path.abspath('..'), 'py-json'))
import LANforge
from LANforge.lfcli_base import LFCliBase
from LANforge import LFUtils
from realm import Realm
import time
import pprint
class RemoveEndp(Realm):
def __init__(self,
endp_name,
_host=1,
_debug_on=False):
super().__init__(_host)
self.endp_name = endp_name
self.debug = _debug_on
if self.debug:
print("----- Endpoint List ----- ----- ----- ----- ----- ----- \n")
pprint.pprint(self.endp_name)
print("---- ~Endpoint List ----- ----- ----- ----- ----- ----- \n")
def build(self):
# Build bridges
data = {
"endp_name": self.endp_name
}
self.json_post("cli-json/rm_endp", data)
def main():
parser = LFCliBase.create_basic_argparse(
prog='create_bridge.py',
formatter_class=argparse.RawTextHelpFormatter,
epilog='''\
Create bridges
''',
description='''\
create_bridge.py
--------------------
Command example:
./remove_endp.py
--endp_name br0
''')
required = parser.add_argument_group('required arguments')
required.add_argument('--endp_name', help='Name of the endpoint you want to remove', required=True)
args = parser.parse_args()
if (args.endp_name is None):
raise ValueError("--endp_name required")
remove_endp = RemoveEndp(endp_name=args.endp_name,
_debug_on=args.debug)
remove_endp.build()
if __name__ == "__main__":
main()