X-Git-Url: https://git.efficios.com/?a=blobdiff_plain;f=tests%2F1.8%2Fstress%2Fmetadata%2Fpass%2Flong-identifier%2Ftest.py;h=873d0441d2d91f35f87dc8bc87a962d8bc04ddd7;hb=2ffbd36294fd31d2f51928c6ebb62252b1a0c39d;hp=34c5f4ef0e4a6835f645636b73ca9467af706d06;hpb=68bbe1f104f2df24d944bf79011efc534d97aa52;p=ctf-testsuite.git diff --git a/tests/1.8/stress/metadata/pass/long-identifier/test.py b/tests/1.8/stress/metadata/pass/long-identifier/test.py index 34c5f4e..873d044 100755 --- a/tests/1.8/stress/metadata/pass/long-identifier/test.py +++ b/tests/1.8/stress/metadata/pass/long-identifier/test.py @@ -1,90 +1,32 @@ #!/usr/bin/env python3 +from ctftestsuite.stress import MetadataTestAssitant -# Expects either "prepare" or "clean" argument -import sys -import os -import struct +class TestAssistant(MetadataTestAssitant): + what = 'long identifier of {size} chars' -def arg_err(): - print('Please specify "prepare " or "clean " as first argument.') - sys.exit(-1) + def write_metadata(self, f): + p1 = \ +'''event { + name = myevent; + fields := struct { + uint8_t ''' -if (len(sys.argv) <= 1): - arg_err() -mode = sys.argv[1] -if (len(sys.argv) <= 2): - arg_err() -array_len = int(sys.argv[2]) + p2 = \ +'''; + }; +}; +''' -tracedir_name = './trace-' + str(array_len) + '/' -output_metadata = tracedir_name + 'metadata' -output_stream = tracedir_name + 'stream' + f.write(self.BASIC_PROLOGUE) + f.write(p1) + for i in range(self.size): + f.write('A') -def write_binary(f, arr): - f.write(bytes(arr)) + f.write(p2) -def generate_metadata(array_len): - # Generate metadata - metadata_str1 = \ - ('/* CTF 1.8 */\n' - '\n' - 'typealias integer {{ size = 8; align = 8; signed = false; base = 10; }} := uint8_t;\n' - 'typealias integer {{ size = 32; align = 8; 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' - ' packet.header := struct {{\n' - ' uint32_t magic;\n' - ' uint8_t uuid[16];\n' - ' }};\n' - '}};\n' - '\n' - 'event {{\n' - ' name = myevent;\n' - ' fields := struct {{\n' - ' uint8_t ').format() - metadata_char = \ - ('A') - - metadata_str2 = \ - (';\n' - ' }};\n' - '}};\n' - '\n').format() - - metadata_f = open(output_metadata, 'w') - metadata_f.write(metadata_str1) - for i in range(array_len): - metadata_f.write(metadata_char.format()) - metadata_f.write(metadata_str2) - metadata_f.close() - -def test_prepare(): - print('Preparing test for long identifier ' + str(array_len) + ' chars') - os.mkdir(tracedir_name) - generate_metadata(array_len) - -def test_clean(): - print('Cleaning up test for long identifier ' + str(array_len) + ' chars') - try: - os.remove(output_metadata) - except: - pass - try: - os.rmdir(tracedir_name) - except: - pass - -if (mode == "prepare"): - test_clean() - test_prepare() -elif (mode == "clean"): - test_clean() -else: - arg_err() +if __name__ == '__main__': + test_assistant = TestAssistant() + test_assistant.main()