From 14fedc725079d02e17ad4f2f85f6cb4bcb2bd926 Mon Sep 17 00:00:00 2001 From: Mathieu Desnoyers Date: Sun, 16 Nov 2014 16:47:05 +0100 Subject: [PATCH] cleanup test printout Signed-off-by: Mathieu Desnoyers --- .../stress/stream/pass/array-large/test.py | 2 +- .../stream/pass/many-packets/param-list.txt | 8 ++ .../stress/stream/pass/many-packets/test.py | 89 +++++++++++++++++++ 3 files changed, 98 insertions(+), 1 deletion(-) create mode 100644 tests/1.8/stress/stream/pass/many-packets/param-list.txt create mode 100755 tests/1.8/stress/stream/pass/many-packets/test.py diff --git a/tests/1.8/stress/stream/pass/array-large/test.py b/tests/1.8/stress/stream/pass/array-large/test.py index a5e04f6..7e8eba0 100755 --- a/tests/1.8/stress/stream/pass/array-large/test.py +++ b/tests/1.8/stress/stream/pass/array-large/test.py @@ -6,7 +6,7 @@ import sys import os def arg_err(): - print('Please specify "prepare " or "clean " as first argument (SIZE is in KB).') + print('Please specify "prepare " or "clean " as first argument.') sys.exit(-1) if (len(sys.argv) <= 1): diff --git a/tests/1.8/stress/stream/pass/many-packets/param-list.txt b/tests/1.8/stress/stream/pass/many-packets/param-list.txt new file mode 100644 index 0000000..6531ad1 --- /dev/null +++ b/tests/1.8/stress/stream/pass/many-packets/param-list.txt @@ -0,0 +1,8 @@ +524288 +1048576 +2097152 +4194304 +8388608 +16777216 +33554432 +67108864 diff --git a/tests/1.8/stress/stream/pass/many-packets/test.py b/tests/1.8/stress/stream/pass/many-packets/test.py new file mode 100755 index 0000000..3def56f --- /dev/null +++ b/tests/1.8/stress/stream/pass/many-packets/test.py @@ -0,0 +1,89 @@ +#!/usr/bin/env python3 + +# Expects either "prepare" or "clean" argument + +import sys +import os + +def arg_err(): + print('Please specify "prepare " or "clean " as first argument.') + sys.exit(-1) + +if (len(sys.argv) <= 1): + arg_err() +mode = sys.argv[1] +if (len(sys.argv) <= 2): + arg_err() +array_len = int(sys.argv[2]) + +tracedir_name = './trace-' + str(array_len) + '/' +output_metadata = tracedir_name + 'metadata' +output_stream = tracedir_name + 'stream' + + +def write_binary(f, arr): + f.write(bytes(arr)) + +def generate_metadata(array_len): + # Generate metadata + metadata_str = \ + ( '/* CTF 1.8 */\n' + '\n' + 'typealias integer {{ size = 8; align = 8; signed = false; base = 10; }} := uint8_t;\n' + 'typealias integer {{ size = 32; align = 32; signed = false; base = hex; }} := uint32_t;\n' + '\n' + 'trace {{\n' + ' major = 0;\n' + ' minor = 0;\n' + ' uuid = "2a6422d0-6cee-11e0-8c08-cb07d7b3a564";\n' + ' byte_order = le;\n' + '}};\n' + '\n' + 'stream {{\n' + ' packet.context := struct {{\n' + ' uint8_t packet_size; \n' + ' }};\n' + '}};\n').format(array_len) + metadata_f = open(output_metadata, 'w') + metadata_f.write(metadata_str) + metadata_f.close() + +def generate_stream(array_len): + # Generate stream + stream_packet_header = [ + 0x8, # packet_size, in bits + ] + stream_f = open(output_stream, 'wb') + # generate trace content filled with 1-byte packets + for i in range(array_len): + write_binary(stream_f, stream_packet_header) + stream_f.close() + +def test_prepare(): + print('Preparing test for many packets length ' + str(array_len) + ' bytes') + os.mkdir(tracedir_name) + generate_metadata(array_len) + generate_stream(array_len) + +def test_clean(): + print('Cleaning up test for many packets length ' + str(array_len) + ' bytes') + try: + os.remove(output_metadata) + except: + pass + try: + os.remove(output_stream) + except: + pass + try: + os.rmdir(tracedir_name) + except: + pass + +if (mode == "prepare"): + test_clean() + test_prepare() +elif (mode == "clean"): + test_clean() +else: + arg_err() -- 2.34.1