преобразовать vcast testcase в gtest testcase, используя python - PullRequest
1 голос
/ 03 апреля 2020

Я бы хотел использовать Google-Test для модульного тестирования, но все тестовые файлы написаны в формате vcast, поэтому для автоматизации я выбираю python, чтобы написать скрипт, который преобразует vcast в gtest

пример файла vcast:

-- VectorCAST 6.4b (01/11/16)
-- Test Case Script
-- 
-- Environment    : TESTSUITE
-- Unit(s) Under Test: ADA_WORDS ASKI BAG_TEST_HELP CONDITIONS FL_TIME FORKER LB_TEST_HELP LOCKS NAV_TYPES OPER_DEF REFLECT_TESTER TYPES
-- 
-- Script Features
TEST.SCRIPT_FEATURE:MULTIPLE_UUT_SUPPORT
TEST.SCRIPT_FEATURE:MIXED_CASE_NAMES
TEST.SCRIPT_FEATURE:ADA_DIRECT_ARRAY_INDEXING
--

-- Unit: ADA_WORDS

-- Subprogram: IS_DELIMITER

-- Test Case: IS_DELIMITER.001
TEST.UNIT:ADA_WORDS
TEST.SUBPROGRAM:IS_DELIMITER
TEST.NEW
TEST.NAME:IS_DELIMITER.001
TEST.VALUE:ADA_WORDS.<<GLOBAL>>.cb:cTrue
TEST.EXPECTED:ADA_WORDS.<<GLOBAL>>.cb:cFalse
TEST.END


-- Test Case: BASIS-PATH-001-TEMPLATE
TEST.UNIT:ADA_WORDS
TEST.SUBPROGRAM:IS_DELIMITER
TEST.NEW
TEST.NAME:BASIS-PATH-001-TEMPLATE
TEST.BASIS_PATH:1 of 2
TEST.NOTES:
This is an automatically generated test case.
   Test Path 1
      (1) case C ==> '&' | ''' | '(' | ')' | '*' | '+' | ',' | '-' | '.' | '/' | ':' | ';' | '<' | '=' | '>' | '|'
   Test Case Generation Notes:
     Conflict: A branch uses an unsupported enumeral (C) in branch 1
     Conflict: Cannot determine any comparisons (ADA_WORDS.IS_DELIMITER.C)
TEST.END_NOTES:
TEST.END

мой вывод:

#include<iostream>
    // GoogleTEST 6.4b (03/04/2020)
    // Test Case Script
    // 
    // Environment    : TESTSUITE
    // Unit(s) Under Test: ADA_WORDS ASKI BAG_TEST_HELP CONDITIONS FL_TIME FORKER LB_TEST_HELP LOCKS NAV_TYPES OPER_DEF REFLECT_TESTER TYPES
    // 
    // Script Features
    //
    // Unit: ADA_WORDS
    #include "ADA_WORDS.h"
    #include "ADA_WORDS.cpp"
    // Subprogram: IS_DELIMITER
    // Test Case: IS_DELIMITER.001
    TEST(IS_DELIMITER_001, gtest_IS_DELIMITER_001) {
        cb = 1; 
        IS_DELIMITER();
        EXPECT_EQ(cb,0); 
    }
    // Test Case: BASIS-PATH-001-TEMPLATE
    TEST(BASIS-PATH-001-TEMPLATE, gtest_BASIS-PATH-001-TEMPLATE) {
        IS_DELIMITER();
    }

для первого теста все строки преобразованы, мой вопрос о втором, как я могу трансформатор TEST.BASIS_PATH: 1 из 2, TEST.NOTES: и каковы их эквиваленты в googleTest

спасибо

...