浏览代码

first commit

hanojiang 2 年之前
当前提交
560c6d3cd5
共有 100 个文件被更改,包括 1320 次插入0 次删除
  1. 7 0
      .idea/misc.xml
  2. 8 0
      .idea/modules.xml
  3. 12 0
      .idea/pytest_src.iml
  4. 513 0
      .idea/workspace.xml
  5. 205 0
      Base/Arxml.py
  6. 66 0
      Base/CfgCheckBase.py
  7. 116 0
      Base/ModuleCfgCheck.py
  8. 0 0
      Base/__init__.py
  9. 二进制
      Base/__pycache__/Arxml.cpython-39.pyc
  10. 二进制
      Base/__pycache__/CfgCheckBase.cpython-39.pyc
  11. 二进制
      Base/__pycache__/ModuleCfgCheck.cpython-39.pyc
  12. 二进制
      Base/__pycache__/__init__.cpython-39.pyc
  13. 二进制
      Data/CheckList.xlsx
  14. 83 0
      Data/DataAccess.py
  15. 二进制
      Data/__pycache__/DataAccess.cpython-39.pyc
  16. 10 0
      all.py
  17. 186 0
      assets/style.css
  18. 2 0
      openReport.bat
  19. 0 0
      report/app.js
  20. 1 0
      report/data/attachments/12b4c91e47bde05.txt
  21. 1 0
      report/data/attachments/1374becb0152bce.txt
  22. 0 0
      report/data/attachments/13e465a18653be1d.txt
  23. 1 0
      report/data/attachments/13e963c68dc94b4.txt
  24. 1 0
      report/data/attachments/15d0757e24439393.txt
  25. 0 0
      report/data/attachments/17168663bae0f1ad.txt
  26. 1 0
      report/data/attachments/17dddf2b751ddc47.txt
  27. 0 0
      report/data/attachments/181cbce1617a551d.txt
  28. 17 0
      report/data/attachments/18298117557b37ce.txt
  29. 1 0
      report/data/attachments/18b435ff00ca0005.txt
  30. 1 0
      report/data/attachments/196c8577035ac801.txt
  31. 1 0
      report/data/attachments/19b3abf5f3725737.txt
  32. 1 0
      report/data/attachments/19e266b821bfdd7f.txt
  33. 1 0
      report/data/attachments/1b4b3db2beeae76.txt
  34. 1 0
      report/data/attachments/1b819b2144d177fe.txt
  35. 0 0
      report/data/attachments/1c6b99fee2eda7b5.txt
  36. 1 0
      report/data/attachments/1ce0a2ccbdb38be6.txt
  37. 1 0
      report/data/attachments/1cf7119f95747d1a.txt
  38. 1 0
      report/data/attachments/1d9ddc14253983bf.txt
  39. 1 0
      report/data/attachments/1e65a4f9dc5c4249.txt
  40. 1 0
      report/data/attachments/1eb33fd7e524e80.txt
  41. 1 0
      report/data/attachments/1efe7ef1e8ad2f77.txt
  42. 1 0
      report/data/attachments/1f461b55a87744a5.txt
  43. 1 0
      report/data/attachments/2035c3a0f7ddad02.txt
  44. 1 0
      report/data/attachments/209873ed7d484ff0.txt
  45. 1 0
      report/data/attachments/20d166950f9509e8.txt
  46. 0 0
      report/data/attachments/20eee7ba02ea11b4.txt
  47. 1 0
      report/data/attachments/26b18183a2bd0b92.txt
  48. 17 0
      report/data/attachments/27cb3c389e504cad.txt
  49. 1 0
      report/data/attachments/28d1b03f15a5c977.txt
  50. 1 0
      report/data/attachments/28d4028ccee0107.txt
  51. 1 0
      report/data/attachments/28f70bbcf0a9cb9a.txt
  52. 1 0
      report/data/attachments/2aeb525861e7e612.txt
  53. 1 0
      report/data/attachments/2b4306dcdc0b55d0.txt
  54. 1 0
      report/data/attachments/2b65747296777fe1.txt
  55. 1 0
      report/data/attachments/2b8de7996eee0869.txt
  56. 0 0
      report/data/attachments/2c54b0326e6512ce.txt
  57. 1 0
      report/data/attachments/2c5d348fd380861d.txt
  58. 1 0
      report/data/attachments/2db532110ff3d682.txt
  59. 0 0
      report/data/attachments/2f06209b67b94997.txt
  60. 1 0
      report/data/attachments/31918e58640a6585.txt
  61. 1 0
      report/data/attachments/32ca8334393b8b28.txt
  62. 1 0
      report/data/attachments/33d37ae1ae9b52a1.txt
  63. 1 0
      report/data/attachments/33fff4bc8e286c96.txt
  64. 1 0
      report/data/attachments/34537ade26ff5543.txt
  65. 1 0
      report/data/attachments/3466570422e783e9.txt
  66. 1 0
      report/data/attachments/36609fadb7e84134.txt
  67. 0 0
      report/data/attachments/36c72a2cf9be7bcf.txt
  68. 1 0
      report/data/attachments/373c46a5bd980aa6.txt
  69. 0 0
      report/data/attachments/37706cb362deb44.txt
  70. 1 0
      report/data/attachments/38c402ba929bbc7a.txt
  71. 1 0
      report/data/attachments/39143eb005f41072.txt
  72. 1 0
      report/data/attachments/39a259cf73e428ad.txt
  73. 1 0
      report/data/attachments/3a499a37de3e61a1.txt
  74. 0 0
      report/data/attachments/3a66066c4fbfc44e.txt
  75. 1 0
      report/data/attachments/3d9abe09f8e350a4.txt
  76. 1 0
      report/data/attachments/3dc82958a23c8b7f.txt
  77. 0 0
      report/data/attachments/42ea2d67cdb8fd78.txt
  78. 1 0
      report/data/attachments/43a8da078bf29a24.txt
  79. 1 0
      report/data/attachments/4537c734e7781448.txt
  80. 17 0
      report/data/attachments/472395d9c43bd002.txt
  81. 0 0
      report/data/attachments/4848b2401db83e04.txt
  82. 1 0
      report/data/attachments/49a30dcde391568c.txt
  83. 0 0
      report/data/attachments/4b6da9e272f03fd5.txt
  84. 1 0
      report/data/attachments/4b70c98a9a4b4f9c.txt
  85. 1 0
      report/data/attachments/4b7f05ce8f7ec32.txt
  86. 0 0
      report/data/attachments/4b8cc46e2bfb47ee.txt
  87. 1 0
      report/data/attachments/4bbac83cfc4d4b0e.txt
  88. 0 0
      report/data/attachments/4e6a7b020855254f.txt
  89. 1 0
      report/data/attachments/4f79da0f6ad387ba.txt
  90. 1 0
      report/data/attachments/5114806b1ea866cb.txt
  91. 0 0
      report/data/attachments/5188cc00a82cdb04.txt
  92. 1 0
      report/data/attachments/51faf2e140b18ace.txt
  93. 1 0
      report/data/attachments/52ea319d2cb272.txt
  94. 1 0
      report/data/attachments/54c414053a417e3.txt
  95. 1 0
      report/data/attachments/550ae26119825954.txt
  96. 1 0
      report/data/attachments/5518b833f128e07d.txt
  97. 1 0
      report/data/attachments/567868fe448126bc.txt
  98. 1 0
      report/data/attachments/5731433dabd8d434.txt
  99. 0 0
      report/data/attachments/5a85c9226a7d15cd.txt
  100. 1 0
      report/data/attachments/5ae2617900db091b.txt

+ 7 - 0
.idea/misc.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="JavaScriptSettings">
+    <option name="languageLevel" value="ES6" />
+  </component>
+  <component name="ProjectRootManager" version="2" project-jdk-name="Python 3.7 (pytest_venv)" project-jdk-type="Python SDK" />
+</project>

+ 8 - 0
.idea/modules.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ProjectModuleManager">
+    <modules>
+      <module fileurl="file://$PROJECT_DIR$/.idea/pytest_src.iml" filepath="$PROJECT_DIR$/.idea/pytest_src.iml" />
+    </modules>
+  </component>
+</project>

+ 12 - 0
.idea/pytest_src.iml

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module type="PYTHON_MODULE" version="4">
+  <component name="NewModuleRootManager">
+    <content url="file://$MODULE_DIR$" />
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+  </component>
+  <component name="TestRunnerService">
+    <option name="projectConfiguration" value="pytest" />
+    <option name="PROJECT_TEST_RUNNER" value="pytest" />
+  </component>
+</module>

+ 513 - 0
.idea/workspace.xml

@@ -0,0 +1,513 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ChangeListManager">
+    <list default="true" id="95170716-16e9-467a-973d-c2f0cc971440" name="Default Changelist" comment="" />
+    <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
+    <option name="SHOW_DIALOG" value="false" />
+    <option name="HIGHLIGHT_CONFLICTS" value="true" />
+    <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
+    <option name="LAST_RESOLUTION" value="IGNORE" />
+  </component>
+  <component name="FileEditorManager">
+    <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/all.py">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="114">
+              <caret line="9" column="64" selection-start-line="9" selection-start-column="64" selection-end-line="9" selection-end-column="64" />
+              <folding>
+                <element signature="e#0#9#0" expanded="true" />
+              </folding>
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/Base/__init__.py">
+          <provider selected="true" editor-type-id="text-editor" />
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/Base/CfgCheckBase.py">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="247">
+              <caret line="16" column="8" selection-start-line="16" selection-start-column="8" selection-end-line="16" selection-end-column="8" />
+              <folding>
+                <element signature="e#125#147#0" expanded="true" />
+              </folding>
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/Base/ModuleCfgCheck.py">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="400">
+              <caret line="60" column="58" selection-start-line="60" selection-start-column="32" selection-end-line="60" selection-end-column="58" />
+              <folding>
+                <element signature="e#127#141#0" expanded="true" />
+              </folding>
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$USER_HOME$/.PyCharm2019.1/system/python_stubs/-65985591/lxml/etree/__init__.py">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="11001">
+              <caret line="579" column="4" selection-start-line="579" selection-start-column="4" selection-end-line="579" selection-end-column="4" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/Base/Arxml.py">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="2052">
+              <caret line="109" column="8" selection-start-line="109" selection-start-column="8" selection-end-line="109" selection-end-column="8" />
+              <folding>
+                <element signature="e#0#22#0" expanded="true" />
+              </folding>
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="true">
+        <entry file="file://$PROJECT_DIR$/testcase/test_case.py">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="893">
+              <caret line="50" column="24" selection-start-line="50" selection-start-column="24" selection-end-line="50" selection-end-column="24" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/../pytest_venv/Lib/site-packages/openpyxl/worksheet/_reader.py">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="1521">
+              <caret line="311" selection-start-line="311" selection-end-line="311" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/Data/DataAccess.py">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="405">
+              <caret line="45" column="39" selection-start-line="45" selection-start-column="39" selection-end-line="45" selection-end-column="39" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/../pytest_venv/Lib/site-packages/openpyxl/reader/excel.py">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="5909">
+              <caret line="317" column="17" selection-start-line="317" selection-start-column="11" selection-end-line="317" selection-end-column="17" />
+            </state>
+          </provider>
+        </entry>
+      </file>
+    </leaf>
+  </component>
+  <component name="FileTemplateManagerImpl">
+    <option name="RECENT_TEMPLATES">
+      <list>
+        <option value="Python Script" />
+      </list>
+    </option>
+  </component>
+  <component name="FindInProjectRecents">
+    <findStrings>
+      <find>active</find>
+    </findStrings>
+  </component>
+  <component name="IdeDocumentHistory">
+    <option name="CHANGED_PATHS">
+      <list>
+        <option value="$PROJECT_DIR$/Base/Arxml.py" />
+        <option value="$PROJECT_DIR$/testcase/testcase_dcm.py" />
+        <option value="$PROJECT_DIR$/Base/CfgCheckBase.py" />
+        <option value="$APPLICATION_HOME_DIR$/helpers/third_party/thriftpy/_shaded_thriftpy/_compat.py" />
+        <option value="$PROJECT_DIR$/testcase/test_dcm.py" />
+        <option value="$PROJECT_DIR$/all.py" />
+        <option value="$PROJECT_DIR$/Base/ModuleCfgCheck.py" />
+        <option value="$PROJECT_DIR$/Data/DataAccess.py" />
+        <option value="$PROJECT_DIR$/testcase/test_case.py" />
+      </list>
+    </option>
+  </component>
+  <component name="ProjectFrameBounds" extendedState="6">
+    <option name="x" value="-30" />
+    <option name="y" value="355" />
+    <option name="width" value="1300" />
+    <option name="height" value="1610" />
+  </component>
+  <component name="ProjectView">
+    <navigator proportions="" version="1">
+      <foldersAlwaysOnTop value="true" />
+    </navigator>
+    <panes>
+      <pane id="Scope" />
+      <pane id="ProjectPane">
+        <subPane>
+          <expand>
+            <path>
+              <item name="pytest_src" type="b2602c69:ProjectViewProjectNode" />
+              <item name="pytest_src" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="pytest_src" type="b2602c69:ProjectViewProjectNode" />
+              <item name="pytest_src" type="462c0819:PsiDirectoryNode" />
+              <item name="Data" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="pytest_src" type="b2602c69:ProjectViewProjectNode" />
+              <item name="pytest_src" type="462c0819:PsiDirectoryNode" />
+              <item name="testcase" type="462c0819:PsiDirectoryNode" />
+            </path>
+          </expand>
+          <select />
+        </subPane>
+      </pane>
+    </panes>
+  </component>
+  <component name="PropertiesComponent">
+    <property name="WebServerToolWindowFactoryState" value="false" />
+    <property name="last_opened_file_path" value="$PROJECT_DIR$/Base" />
+    <property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
+    <property name="nodejs_npm_path_reset_for_default_project" value="true" />
+    <property name="settings.editor.selected.configurable" value="preferences.keymap" />
+  </component>
+  <component name="RecentsManager">
+    <key name="CopyFile.RECENT_KEYS">
+      <recent name="D:\01_Work\Python_Venv\pytest_src\Base" />
+    </key>
+  </component>
+  <component name="RunDashboard">
+    <option name="ruleStates">
+      <list>
+        <RuleState>
+          <option name="name" value="ConfigurationTypeDashboardGroupingRule" />
+        </RuleState>
+        <RuleState>
+          <option name="name" value="StatusDashboardGroupingRule" />
+        </RuleState>
+      </list>
+    </option>
+  </component>
+  <component name="RunManager" selected="Python.all">
+    <configuration name="DataAccess" type="PythonConfigurationType" factoryName="Python" temporary="true">
+      <module name="pytest_src" />
+      <option name="INTERPRETER_OPTIONS" value="" />
+      <option name="PARENT_ENVS" value="true" />
+      <envs>
+        <env name="PYTHONUNBUFFERED" value="1" />
+      </envs>
+      <option name="SDK_HOME" value="" />
+      <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/Data" />
+      <option name="IS_MODULE_SDK" value="true" />
+      <option name="ADD_CONTENT_ROOTS" value="true" />
+      <option name="ADD_SOURCE_ROOTS" value="true" />
+      <EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
+      <option name="SCRIPT_NAME" value="$PROJECT_DIR$/Data/DataAccess.py" />
+      <option name="PARAMETERS" value="" />
+      <option name="SHOW_COMMAND_LINE" value="false" />
+      <option name="EMULATE_TERMINAL" value="false" />
+      <option name="MODULE_MODE" value="false" />
+      <option name="REDIRECT_INPUT" value="false" />
+      <option name="INPUT_FILE" value="" />
+      <method v="2" />
+    </configuration>
+    <configuration name="ModuleCfgCheck" type="PythonConfigurationType" factoryName="Python" temporary="true">
+      <module name="pytest_src" />
+      <option name="INTERPRETER_OPTIONS" value="" />
+      <option name="PARENT_ENVS" value="true" />
+      <envs>
+        <env name="PYTHONUNBUFFERED" value="1" />
+      </envs>
+      <option name="SDK_HOME" value="" />
+      <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/Base" />
+      <option name="IS_MODULE_SDK" value="true" />
+      <option name="ADD_CONTENT_ROOTS" value="true" />
+      <option name="ADD_SOURCE_ROOTS" value="true" />
+      <EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
+      <option name="SCRIPT_NAME" value="$PROJECT_DIR$/Base/ModuleCfgCheck.py" />
+      <option name="PARAMETERS" value="" />
+      <option name="SHOW_COMMAND_LINE" value="false" />
+      <option name="EMULATE_TERMINAL" value="false" />
+      <option name="MODULE_MODE" value="false" />
+      <option name="REDIRECT_INPUT" value="false" />
+      <option name="INPUT_FILE" value="" />
+      <method v="2" />
+    </configuration>
+    <configuration name="all" type="PythonConfigurationType" factoryName="Python" temporary="true">
+      <module name="pytest_src" />
+      <option name="INTERPRETER_OPTIONS" value="" />
+      <option name="PARENT_ENVS" value="true" />
+      <envs>
+        <env name="PYTHONUNBUFFERED" value="1" />
+      </envs>
+      <option name="SDK_HOME" value="" />
+      <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
+      <option name="IS_MODULE_SDK" value="true" />
+      <option name="ADD_CONTENT_ROOTS" value="true" />
+      <option name="ADD_SOURCE_ROOTS" value="true" />
+      <EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
+      <option name="SCRIPT_NAME" value="$PROJECT_DIR$/all.py" />
+      <option name="PARAMETERS" value="" />
+      <option name="SHOW_COMMAND_LINE" value="false" />
+      <option name="EMULATE_TERMINAL" value="false" />
+      <option name="MODULE_MODE" value="false" />
+      <option name="REDIRECT_INPUT" value="false" />
+      <option name="INPUT_FILE" value="" />
+      <method v="2" />
+    </configuration>
+    <configuration name="pytest for testcase.test_case.test_01_case" type="tests" factoryName="py.test" temporary="true" nameIsGenerated="true">
+      <module name="pytest_src" />
+      <option name="INTERPRETER_OPTIONS" value="" />
+      <option name="PARENT_ENVS" value="true" />
+      <option name="SDK_HOME" value="" />
+      <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/testcase" />
+      <option name="IS_MODULE_SDK" value="true" />
+      <option name="ADD_CONTENT_ROOTS" value="true" />
+      <option name="ADD_SOURCE_ROOTS" value="true" />
+      <EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
+      <option name="_new_keywords" value="&quot;&quot;" />
+      <option name="_new_additionalArguments" value="&quot;&quot;" />
+      <option name="_new_target" value="&quot;testcase.test_case.test_01_case&quot;" />
+      <option name="_new_targetType" value="&quot;PYTHON&quot;" />
+      <method v="2" />
+    </configuration>
+    <configuration name="pytest for testcase.test_case.test_02_case" type="tests" factoryName="py.test" temporary="true" nameIsGenerated="true">
+      <module name="pytest_src" />
+      <option name="INTERPRETER_OPTIONS" value="" />
+      <option name="PARENT_ENVS" value="true" />
+      <option name="SDK_HOME" value="" />
+      <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/testcase" />
+      <option name="IS_MODULE_SDK" value="true" />
+      <option name="ADD_CONTENT_ROOTS" value="true" />
+      <option name="ADD_SOURCE_ROOTS" value="true" />
+      <EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
+      <option name="_new_keywords" value="&quot;&quot;" />
+      <option name="_new_additionalArguments" value="&quot;&quot;" />
+      <option name="_new_target" value="&quot;testcase.test_case.test_02_case&quot;" />
+      <option name="_new_targetType" value="&quot;PYTHON&quot;" />
+      <method v="2" />
+    </configuration>
+    <recent_temporary>
+      <list>
+        <item itemvalue="Python.all" />
+        <item itemvalue="Python.DataAccess" />
+        <item itemvalue="Python tests.pytest for testcase.test_case.test_02_case" />
+        <item itemvalue="Python tests.pytest for testcase.test_case.test_01_case" />
+        <item itemvalue="Python.ModuleCfgCheck" />
+      </list>
+    </recent_temporary>
+  </component>
+  <component name="SvnConfiguration">
+    <configuration />
+  </component>
+  <component name="TaskManager">
+    <task active="true" id="Default" summary="Default task">
+      <changelist id="95170716-16e9-467a-973d-c2f0cc971440" name="Default Changelist" comment="" />
+      <created>1663894039375</created>
+      <option name="number" value="Default" />
+      <option name="presentableId" value="Default" />
+      <updated>1663894039375</updated>
+      <workItem from="1663894040516" duration="19596000" />
+      <workItem from="1663922531213" duration="598000" />
+      <workItem from="1663935327036" duration="1383000" />
+      <workItem from="1663936978669" duration="1142000" />
+      <workItem from="1663989110262" duration="4124000" />
+      <workItem from="1664004231616" duration="174000" />
+      <workItem from="1664004417962" duration="284000" />
+      <workItem from="1664004715761" duration="124000" />
+      <workItem from="1664004851553" duration="11696000" />
+      <workItem from="1664025455103" duration="318000" />
+      <workItem from="1664026386897" duration="1460000" />
+    </task>
+    <servers />
+  </component>
+  <component name="TestHistory">
+    <history-entry file="pytest_for_test_dcm_test_01_case - 2022.09.23 at 13h 15m 32s.xml">
+      <configuration name="pytest for test_dcm.test_01_case" configurationId="tests" />
+    </history-entry>
+    <history-entry file="pytest_for_test_dcm_test_01_case - 2022.09.23 at 13h 17m 31s.xml">
+      <configuration name="pytest for test_dcm.test_01_case" configurationId="tests" />
+    </history-entry>
+    <history-entry file="pytest_for_test_dcm_test_01_case - 2022.09.23 at 14h 14m 33s.xml">
+      <configuration name="pytest for test_dcm.test_01_case" configurationId="tests" />
+    </history-entry>
+    <history-entry file="pytest_for_test_dcm_test_01_case - 2022.09.23 at 14h 14m 42s.xml">
+      <configuration name="pytest for test_dcm.test_01_case" configurationId="tests" />
+    </history-entry>
+    <history-entry file="pytest_for_test_dcm_test_01_case - 2022.09.23 at 14h 15m 22s.xml">
+      <configuration name="pytest for test_dcm.test_01_case" configurationId="tests" />
+    </history-entry>
+    <history-entry file="pytest_for_test_dcm_test_01_case - 2022.09.23 at 14h 16m 01s.xml">
+      <configuration name="pytest for test_dcm.test_01_case" configurationId="tests" />
+    </history-entry>
+    <history-entry file="pytest_for_test_dcm_test_01_case - 2022.09.23 at 14h 16m 12s.xml">
+      <configuration name="pytest for test_dcm.test_01_case" configurationId="tests" />
+    </history-entry>
+    <history-entry file="pytest_for_test_dcm_test_01_case - 2022.09.23 at 14h 18m 56s.xml">
+      <configuration name="pytest for test_dcm.test_01_case" configurationId="tests" />
+    </history-entry>
+    <history-entry file="pytest_for_test_dcm_test_02_case - 2022.09.23 at 14h 46m 45s.xml">
+      <configuration name="pytest for test_dcm.test_02_case" configurationId="tests" />
+    </history-entry>
+    <history-entry file="pytest_for_test_dcm_test_02_case - 2022.09.23 at 14h 49m 27s.xml">
+      <configuration name="pytest for test_dcm.test_02_case" configurationId="tests" />
+    </history-entry>
+  </component>
+  <component name="TimeTrackingManager">
+    <option name="totallyTimeSpent" value="40899000" />
+  </component>
+  <component name="ToolWindowManager">
+    <frame x="-7" y="-7" width="3086" height="1742" extended-state="6" />
+    <editor active="true" />
+    <layout>
+      <window_info id="Favorites" order="0" side_tool="true" />
+      <window_info content_ui="combo" id="Project" order="1" visible="true" weight="0.13879709" />
+      <window_info id="Structure" order="2" side_tool="true" weight="0.25" />
+      <window_info anchor="bottom" id="Database Changes" order="0" />
+      <window_info anchor="bottom" id="Terminal" order="1" weight="0.27482823" />
+      <window_info anchor="bottom" id="Event Log" order="2" side_tool="true" />
+      <window_info anchor="bottom" id="Version Control" order="3" />
+      <window_info anchor="bottom" id="Python Console" order="4" weight="0.3101305" />
+      <window_info anchor="bottom" id="Docker" order="5" show_stripe_button="false" />
+      <window_info anchor="bottom" id="Message" order="6" />
+      <window_info anchor="bottom" id="Find" order="7" weight="0.32939714" />
+      <window_info anchor="bottom" id="Run" order="8" weight="0.45742697" />
+      <window_info anchor="bottom" id="Debug" order="9" weight="0.3993784" />
+      <window_info anchor="bottom" id="Cvs" order="10" weight="0.25" />
+      <window_info anchor="bottom" id="Inspection" order="11" weight="0.4" />
+      <window_info anchor="bottom" id="TODO" order="12" />
+      <window_info anchor="right" id="Database" order="0" />
+      <window_info anchor="right" id="Commander" internal_type="SLIDING" order="1" type="SLIDING" weight="0.4" />
+      <window_info anchor="right" id="SciView" order="2" />
+      <window_info anchor="right" id="Ant Build" order="3" weight="0.25" />
+      <window_info anchor="right" content_ui="combo" id="Hierarchy" order="4" weight="0.25" />
+    </layout>
+  </component>
+  <component name="TypeScriptGeneratedFilesManager">
+    <option name="version" value="1" />
+  </component>
+  <component name="com.intellij.coverage.CoverageDataManagerImpl">
+    <SUITE FILE_PATH="coverage/pytest_src$pytest_for_test_dcm_test_02_case.coverage" NAME="pytest for test_dcm.test_02_case Coverage Results" MODIFIED="1663915766606" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/testcase" />
+    <SUITE FILE_PATH="coverage/pytest_src$DataAccess.coverage" NAME="DataAccess Coverage Results" MODIFIED="1664009099956" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/Data" />
+    <SUITE FILE_PATH="coverage/pytest_src$pytest_for_test_dcm_test_01_case.coverage" NAME="pytest for test_dcm.test_01_case Coverage Results" MODIFIED="1663913935826" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/testcase" />
+    <SUITE FILE_PATH="coverage/pytest_src$all.coverage" NAME="all Coverage Results" MODIFIED="1664027818698" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
+    <SUITE FILE_PATH="coverage/pytest_src$CfgCheckBase.coverage" NAME="CfgCheckBase Coverage Results" MODIFIED="1663898494426" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/Base" />
+    <SUITE FILE_PATH="coverage/pytest_src$ModuleCfgCheck.coverage" NAME="ModuleCfgCheck Coverage Results" MODIFIED="1663909713613" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/Base" />
+  </component>
+  <component name="editorHistoryManager">
+    <entry file="file://$USER_HOME$/AppData/Local/Programs/Python/Python39/Lib/codecs.py">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="223">
+          <caret line="309" selection-start-line="309" selection-end-line="309" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/openReport.bat">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="19">
+          <caret line="1" column="24" lean-forward="true" selection-start-line="1" selection-start-column="24" selection-end-line="1" selection-end-column="24" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$APPLICATION_HOME_DIR$/helpers/third_party/thriftpy/_shaded_thriftpy/_compat.py">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="1269">
+          <caret line="101" selection-start-line="101" selection-end-line="101" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/../pytest_venv/Lib/site-packages/openpyxl/workbook/workbook.py">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="360">
+          <caret line="150" column="14" selection-start-line="150" selection-start-column="8" selection-end-line="150" selection-end-column="14" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/all.py">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="114">
+          <caret line="9" column="64" selection-start-line="9" selection-start-column="64" selection-end-line="9" selection-end-column="64" />
+          <folding>
+            <element signature="e#0#9#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/Base/__init__.py">
+      <provider selected="true" editor-type-id="text-editor" />
+    </entry>
+    <entry file="file://$PROJECT_DIR$/Base/CfgCheckBase.py">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="247">
+          <caret line="16" column="8" selection-start-line="16" selection-start-column="8" selection-end-line="16" selection-end-column="8" />
+          <folding>
+            <element signature="e#125#147#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$USER_HOME$/.PyCharm2019.1/system/python_stubs/-65985591/lxml/etree/__init__.py">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="11001">
+          <caret line="579" column="4" selection-start-line="579" selection-start-column="4" selection-end-line="579" selection-end-column="4" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/Base/Arxml.py">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="2052">
+          <caret line="109" column="8" selection-start-line="109" selection-start-column="8" selection-end-line="109" selection-end-column="8" />
+          <folding>
+            <element signature="e#0#22#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/../pytest_venv/Lib/site-packages/openpyxl/reader/excel.py">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="5909">
+          <caret line="317" column="17" selection-start-line="317" selection-start-column="11" selection-end-line="317" selection-end-column="17" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/Base/ModuleCfgCheck.py">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="400">
+          <caret line="60" column="58" selection-start-line="60" selection-start-column="32" selection-end-line="60" selection-end-column="58" />
+          <folding>
+            <element signature="e#127#141#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/Data/DataAccess.py">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="405">
+          <caret line="45" column="39" selection-start-line="45" selection-start-column="39" selection-end-line="45" selection-end-column="39" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/../pytest_venv/Lib/site-packages/openpyxl/worksheet/_reader.py">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="1521">
+          <caret line="311" selection-start-line="311" selection-end-line="311" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/testcase/test_case.py">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="893">
+          <caret line="50" column="24" selection-start-line="50" selection-start-column="24" selection-end-line="50" selection-end-column="24" />
+        </state>
+      </provider>
+    </entry>
+  </component>
+</project>

+ 205 - 0
Base/Arxml.py

@@ -0,0 +1,205 @@
+from lxml import etree
+import logging
+
+DEFAULT_NAMESPACE_KEY = 'ns'
+DEFAULT_NAMESPACE = {DEFAULT_NAMESPACE_KEY:'http://autosar.org/schema/r4.0'}
+
+class Arxml:
+
+    def __init__(self, arxml_file_name: str) -> None:
+        self.__file_name: str = arxml_file_name
+        self.__root: etree.Element = self.get_arxml_root()
+
+
+    @property
+    def root(self) -> etree.Element:
+        return self.__root
+
+    def get_arxml_root(self):
+        parser = etree.XMLParser(remove_blank_text=True)
+        tree = etree.parse(self.__file_name, parser=parser)
+        root = tree.getroot()
+
+        return root
+
+    '''
+        XPath 通过前缀 ns:'xxxxx' 进行namespace解析
+        find findall方法则是通过 {xxxxx}TAG-NAME 进行解析
+        ETXpath 类似find findall方法的形式,通过{xxxx}TAG-NAME
+    '''
+    @staticmethod
+    def get_arxml_namespace(element: etree.Element):
+        ns = element.nsmap
+
+        # add default namespace
+        if None in ns:
+            ns[DEFAULT_NAMESPACE_KEY] = ns[None]
+            ns.pop(None)
+        elif len(ns) == 0:
+            ns = None
+
+        return ns
+
+    @staticmethod
+    def get_formated_xpath_with_namespace_key(xpath_str: str, namespace_key: str = DEFAULT_NAMESPACE_KEY):
+        '''
+
+        :param xpath_str: src xpath string
+        :param namespace_key: need to
+        :return:
+        '''
+        namespace_prefix = '{}:'.format(namespace_key) if '' != namespace_key else ''
+
+        result = xpath_str.replace('//', '**{}'.format(namespace_prefix))
+        result = result.replace('/', '/{}'.format(namespace_prefix))
+        result = result.replace('**', '//')
+
+        return result
+
+    @staticmethod
+    def get_format_xpath_pattern(xpath_str, xpath_text='', xpath_rule=None, namespace_key=DEFAULT_NAMESPACE_KEY):
+        '''
+
+        :param xpath_str:
+        :param xpath_text:
+        :param xpath_rule:
+            CONTAINS
+            TEXT_EQ
+            ATTR_EQ
+
+        :param namespace_key:
+        :return:
+        '''
+        xpath_with_ns = Arxml.get_formated_xpath_with_namespace_key(xpath_str, namespace_key)
+
+        if xpath_rule == 'CONTAINS':
+            xpath_suffix = '[contains(text(),"{}")]'.format(xpath_text)
+        elif xpath_rule == 'TEXT_EQ':
+            xpath_suffix = '[text()="{}"]'.format(xpath_text)
+        elif (xpath_rule == 'ATTR_EQ' and isinstance(xpath_text, dict)):
+            attr_name, attr_value = xpath_text.popitem()
+            xpath_suffix = '[@{}={}]'.format(attr_name, attr_value)
+        else:
+            xpath_suffix = ''
+            pass
+
+        return xpath_with_ns + xpath_suffix
+
+
+    @staticmethod
+    def get_xpath_result(element, xpath_str, xpath_text='', xpath_rule=None):
+
+        ns = Arxml.get_arxml_namespace(element)
+        if ns is None:
+            ns_key = ''
+        else:
+            ns_key = DEFAULT_NAMESPACE_KEY
+
+        format_xpath = Arxml.get_format_xpath_pattern(xpath_str, xpath_text, xpath_rule, ns_key)
+
+        # print(format_xpath)
+        result = element.xpath(format_xpath, namespaces=ns)
+
+        if len(result) == 0:
+            result = None
+
+        return result
+
+
+    @staticmethod
+    def get_all_match_element(root_element:etree.Element, xpath_str, xpath_text='', xpath_rule=None):
+
+        result = Arxml.get_xpath_result(root_element, xpath_str, xpath_text, xpath_rule)
+        return result
+
+    @staticmethod
+    def get_first_match_element(root_element:etree.Element, xpath_str, xpath_text='', xpath_rule=None):
+
+        result = Arxml.get_all_match_element(root_element, xpath_str, xpath_text, xpath_rule)
+
+        if result is not None:
+            result = result[0]
+
+        return result
+
+    @staticmethod
+    def get_brother_element(current_element:etree.Element, brother_tag, xpath_text='', xpath_rule=None):
+
+        parent = current_element.getparent()
+        if parent is not None:
+            brother = Arxml.get_first_match_element(parent, brother_tag, xpath_text, xpath_rule)
+        else:
+            brother = None
+
+        return brother
+
+    @staticmethod
+    def get_parent_element(current_element):
+
+        return current_element.getparent()
+
+    @staticmethod
+    def get_container_text(current_element):
+        if etree.iselement(current_element):
+            return current_element.text
+        else:
+            return ''
+
+    @staticmethod
+    def xml_write_to_file(element, output_fileName):
+        print(output_fileName)
+        tree = etree.ElementTree(element)
+        tree.write(output_fileName, pretty_print=True, xml_declaration=True, encoding='utf-8')
+        logging.debug('Generate arxml file {}'.format(output_fileName))
+
+    @staticmethod
+    def creat_child_new_element(element, element_tag, text_str='', attribute_dict={}):
+        new_element = etree.Element(element_tag, attribute_dict)
+        if text_str != '':
+            new_element.text = text_str
+        element.append(new_element)
+
+        return new_element
+
+    @staticmethod
+    def creat_brother_new_element(cur_element, element_tag, text_str='', attribute_dict={}):
+        par_element = cur_element.getparent()
+        if par_element is not None:
+            bro_element = Arxml.creat_child_new_element(par_element, element_tag, text_str, attribute_dict)
+        else:
+            bro_element = None
+
+        return bro_element
+
+    @staticmethod
+    def get_split_end_value(long_str_value):
+        return long_str_value.split('/')[-1]
+
+    @staticmethod
+    def get_element_tag(element):
+        tag_with_ns = element.tag
+        if tag_with_ns != '':
+            if '}' in tag_with_ns:
+                position = tag_with_ns.find('}')
+                tag = tag_with_ns[position+1:]
+            else:
+                tag = tag_with_ns
+
+        else:
+            tag = ''
+
+        return tag
+
+if __name__ == '__main__':
+    arxml = Arxml('EH32_GW04_IpduM_ecuc.arxml')
+
+    element = Arxml.get_first_match_element(arxml.root, './/DEFINITION-REF', 'IpduMRxDirectComInvocation', 'CONTAINS')
+    par_ele = Arxml.get_parent_element(element)
+
+    Arxml.creat_child_new_element(par_ele, 'aaaa', 'texttexttext', {'class':'1234'})
+    Arxml.creat_child_new_element(par_ele, 'bbbb', '', {'class': '1234'})
+    Arxml.creat_child_new_element(par_ele, 'bbbb1', 'dasfadfsad')
+    cccc = Arxml.creat_child_new_element(par_ele, 'cccc')
+    dddd = Arxml.creat_brother_new_element(cccc, 'dddd')
+    Arxml.xml_write_to_file(arxml.root, 'test.arxml')
+

+ 66 - 0
Base/CfgCheckBase.py

@@ -0,0 +1,66 @@
+# -*- coding: UTF-8 -*-
+"""
+@Project :pytest_src 
+@File    :CfgCheckBase.py
+@Author  :haojiang
+@Date    :2022/9/23 8:52 
+"""
+from lxml import etree
+
+from Base.Arxml import Arxml
+import logging
+
+class CfgCheckBase:
+    def __init__(self):
+        pass
+
+    def parameter_match(self, element: etree.Element,
+                        param_name: str,
+                        param_expect_value: str,
+                        is_multi_container:bool = False) -> bool:
+        '''
+
+        :param element: 待查询container
+        :param param_name: 配置项值
+        :param param_expect_value: 期望的配置值
+        :param is_multi_container: 是否匹配多个相同的配置项
+        :return: 是否与期望值匹配
+        '''
+
+        param_definition_ref_containers = Arxml.get_all_match_element(element,
+                                                                     './/DEFINITION-REF',
+                                                                     param_name,
+                                                                     xpath_rule='CONTAINS')
+        compare_result = True
+        if len(param_definition_ref_containers) != 0:
+            for def_elem in param_definition_ref_containers:
+                value_elem = Arxml.get_brother_element(def_elem, './VALUE')
+                if value_elem != None:
+                    value = Arxml.get_container_text(value_elem)
+                else:
+                    logging.error(f"Check Param {param_name} not find a valid element!")
+                    value = None
+
+                compare_result = param_expect_value == value
+
+                if not compare_result:
+                    compare_result = False
+                    logging.error(f"Check Param {param_name} not match! Expect Value {param_expect_value} != {value}")
+
+        return compare_result
+
+    def get_dismatch_value_element_name(self, value_element: etree.Element) -> str:
+        return ''
+
+def main():
+    project_path = r'D:\01_Work\02_WP\EP39_EREV\branch\src\Config\ECUC\EH32_GW04_Dem_ecuc.arxml'
+    # project_path = r'D:\01_Work\02_WP\EP39_EREV\branch\src\Config\ECUC\EH32_GW04_CanTp_ecuc.arxml'
+    arxml = Arxml(project_path)
+    root = arxml.root
+    cfg_check = CfgCheckBase()
+    # cfg_check.parameter_match(root, 'CanTpChannelMode', 'CANTP_MODE_FULL_DUPLEX', True)
+    # cfg_check.parameter_match(root, 'DemClearDTCBehavior', 'DEM_CLRRESP_VOLATILE', True)
+    cfg_check.parameter_match(root, 'DemMaxNumberEventEntryPrimary', '41')
+
+if __name__ == '__main__':
+    main()

+ 116 - 0
Base/ModuleCfgCheck.py

@@ -0,0 +1,116 @@
+# -*- coding: UTF-8 -*-
+"""
+@Project :pytest_src 
+@File    :ModuleCfgCheck.py
+@Author  :haojiang
+@Date    :2022/9/23 9:02 
+"""
+import logging
+
+from Base.Arxml import Arxml
+from Base.CfgCheckBase import CfgCheckBase
+from lxml import etree
+import os
+from typing import List
+
+class ModuleCfgCheck(CfgCheckBase):
+    def __init__(self, module_name: str, project_path: str):
+        super().__init__()
+        self.module_name = module_name
+        self.project_path = project_path
+        self.registered_check_items = dict()
+        self.load_arxml()
+
+
+    def load_arxml(self):
+        arxml_name = ''
+        configure_files = list()
+        for iter_dirPath, dirs, files in os.walk(self.project_path):
+            configure_files = files.copy()
+            break
+
+        for file in configure_files:
+            if f'{self.module_name}_ecuc' in file:
+                arxml_name = os.path.join(self.project_path, file)
+
+        if arxml_name != '':
+            self.arxml_root = Arxml(arxml_name).root
+
+    def register_param_check_item(self, check_ID: int, check_items: List):
+        '''
+
+        :param check_ID:
+        :param check_items: [(item_name1, value1), (item_name2, value2), ...]
+        :return:
+        '''
+
+        current_id_items = self.registered_check_items.get(check_ID, [])
+        current_id_items.extend(check_items) # extend 实现原地拓展,返回值为None,所以不能将返回值作为拓展后的结果
+        self.registered_check_items[check_ID] = current_id_items
+
+    def do_all_param_check(self):
+        for check_ID, check_items in self.registered_check_items.items():
+            logging.info(f'Checking Item ID {check_ID}:')
+            self.do_param_check(check_items)
+
+    def do_param_check(self, check_items: List, search_pattern=None, get_match_element_function=None) -> bool:
+        match_res = False
+        for param_name, param_expect_value in check_items:
+            cfg_check = CfgCheckBase()
+            if get_match_element_function != None:
+                match_element = get_match_element_function(check_items, **search_pattern)
+            else:
+                match_element = self.arxml_root
+            match_res = cfg_check.parameter_match(match_element, param_name, param_expect_value)
+
+        return match_res
+
+    def get_detail_element(self, check_items, xpath_str, xpath_text='', xpath_rule=None):
+        ret = None
+        param_name, expect_value = check_items[0]
+
+        match_element = Arxml.get_all_match_element(self.arxml_root, xpath_str, xpath_text, xpath_rule)
+        if match_element is None:
+            logging.error(f'By Pattern {xpath_str}-{xpath_text}-{xpath_rule}, not find valud element!')
+            ret = None
+        else:
+            for elem in match_element:
+
+                parent_elem = Arxml.get_parent_element(elem)
+                match_string = etree.tostring(parent_elem).decode()
+                if param_name in match_string:
+                    ret = parent_elem
+                    logging.info(f'Find Valid Element: {match_string}')
+                    break
+                else:
+                    logging.info(match_string)
+        return ret
+
+
+def check_module_param_check(project: str, module_name: str, check_item: tuple, search_pattern=None) -> bool:
+    mcc = ModuleCfgCheck(module_name, project)
+    if search_pattern != None:
+        costum_func = mcc.get_detail_element
+    else:
+        costum_func = None
+    cmp_result = mcc.do_param_check([check_item], search_pattern, costum_func)
+
+    return cmp_result
+
+
+if __name__ == '__main__':
+    logging.basicConfig(level=logging.INFO)
+    # mcc = ModuleCfgCheck('Dem', r'D:\01_Work\02_WP\EP39_EREV\branch\src\Config\ECUC')
+    # mcc.register_param_check_item(0, [('DemClearDTCBehavior', 'DEM_CLRRESP_V1OLATILE')])
+    # mcc.register_param_check_item(1, [('DemClearDTCBehavior', 'DEM_CLRRESP_V1OLATILE')])
+    # mcc.register_param_check_item(2, [('DemClearDTCBehavior', 'DEM_CLRRESP_V1OLATILE')])
+    # mcc.register_param_check_item(3, [('DemClearDTCBehavior', 'DEM_CLRRESP_V1OLATILE')])
+    # mcc.register_param_check_item(4, [('DemMaxNumberEventEntryPrimary', '40')])
+    # mcc.register_param_check_item(5, [('DemImmediateNvStorage', 'true')])
+
+    mcc = ModuleCfgCheck('CanTp', r'D:\01_Work\02_WP\EP39_EREV\branch\src\Config\ECUC')
+    mcc.register_param_check_item(0, [('CanTpChannelMode', 'CANTP_MODE_FULL_DUPLEX')])
+    mcc.register_param_check_item(0, [('CanTpMainFunctionPeriod', '0.006')])
+
+
+    mcc.do_all_param_check()

+ 0 - 0
Base/__init__.py


二进制
Base/__pycache__/Arxml.cpython-39.pyc


二进制
Base/__pycache__/CfgCheckBase.cpython-39.pyc


二进制
Base/__pycache__/ModuleCfgCheck.cpython-39.pyc


二进制
Base/__pycache__/__init__.cpython-39.pyc


二进制
Data/CheckList.xlsx


+ 83 - 0
Data/DataAccess.py

@@ -0,0 +1,83 @@
+# -*- coding: UTF-8 -*-
+"""
+@Project :pytest_src 
+@File    :DataAccess.py
+@Author  :haojiang
+@Date    :2022/9/24 15:43 
+"""
+from enum import Enum
+
+from openpyxl import load_workbook
+
+CHECK_LIST_FILE = r'./Data/CheckList.xlsx'
+
+class ColumHeader(Enum):
+    Module = 0
+    ConfigurationItem = 1
+    Type = 2
+    ExpectValue = 3
+    SearchPattern = 4
+    SearchText = 5
+    SearchRule = 6
+
+class ItemType(Enum):
+    FIXED_VALUE = 0
+    CUSTOM_PATTERN = 1
+    DEPENDENCY_PATTERN = 2
+
+ItemRule = {
+    ItemType.FIXED_VALUE: (
+        ColumHeader.Module.value,
+        ColumHeader.ConfigurationItem.value,
+        ColumHeader.ExpectValue.value),
+    ItemType.CUSTOM_PATTERN: (
+        ColumHeader.Module.value,
+        {
+            'xpath_str': ColumHeader.SearchPattern.value,
+            'xpath_text': ColumHeader.SearchText.value,
+            'xpath_rule': ColumHeader.SearchRule.value
+        },
+        ColumHeader.ConfigurationItem.value,
+        ColumHeader.ExpectValue.value),
+    ItemType.DEPENDENCY_PATTERN: (
+        ColumHeader.Module.value,
+        ColumHeader.ConfigurationItem.value,
+        ColumHeader.ExpectValue.value,
+        ColumHeader.SearchPattern.value
+    )
+
+}
+
+
+def get_item_by_item_type(item_type: ItemType, row_data):
+    ret_data = list()
+    for pattern in ItemRule[item_type]:
+        if isinstance(pattern, dict):
+            pattern_bk = dict()
+            for k, v in pattern.items():
+                pattern_bk[k] = row_data[v].value
+        else:
+            pattern_bk = row_data[pattern].value
+        ret_data.append(pattern_bk)
+
+    return tuple(ret_data)
+
+def get_xlsx_data_by_item_type(item_type: ItemType):
+
+    wb = load_workbook(CHECK_LIST_FILE)
+    sheet1 = wb.active
+
+    ret_data_table = list()
+
+    for row in sheet1.iter_rows():
+        if row[ColumHeader.Type.value].value == item_type.name:
+            ret_data_table.append(get_item_by_item_type(item_type, row))
+
+    return ret_data_table
+
+
+
+
+if __name__ == '__main__':
+    table = get_xlsx_data_by_item_type(ItemType.CUSTOM_PATTERN)
+    print(table)

二进制
Data/__pycache__/DataAccess.cpython-39.pyc


+ 10 - 0
all.py

@@ -0,0 +1,10 @@
+import os
+
+import pytest
+import logging
+
+if __name__ == '__main__':
+    logging.basicConfig(level=logging.INFO)
+    # pytest.main(['./testcase', '--html=reportname.html'])
+    pytest.main(['./testcase', '-v', '--html=reportname.html', '--alluredir', './result/'])
+    # os.system('allure generate ./result/ -o ./report --clean')

+ 186 - 0
assets/style.css

@@ -0,0 +1,186 @@
+body {
+  font-family: Helvetica, Arial, sans-serif;
+  font-size: 12px;
+  /* do not increase min-width as some may use split screens */
+  min-width: 800px;
+  color: #999;
+}
+
+h1 {
+  font-size: 24px;
+  color: black;
+}
+
+h2 {
+  font-size: 16px;
+  color: black;
+}
+
+p {
+  color: black;
+}
+
+a {
+  color: #999;
+}
+
+table {
+  border-collapse: collapse;
+}
+
+/******************************
+ * SUMMARY INFORMATION
+ ******************************/
+#environment td {
+  padding: 5px;
+  border: 1px solid #E6E6E6;
+}
+#environment tr:nth-child(odd) {
+  background-color: #f6f6f6;
+}
+
+/******************************
+ * TEST RESULT COLORS
+ ******************************/
+span.passed,
+.passed .col-result {
+  color: green;
+}
+
+span.skipped,
+span.xfailed,
+span.rerun,
+.skipped .col-result,
+.xfailed .col-result,
+.rerun .col-result {
+  color: orange;
+}
+
+span.error,
+span.failed,
+span.xpassed,
+.error .col-result,
+.failed .col-result,
+.xpassed .col-result {
+  color: red;
+}
+
+/******************************
+ * RESULTS TABLE
+ *
+ * 1. Table Layout
+ * 2. Extra
+ * 3. Sorting items
+ *
+ ******************************/
+/*------------------
+ * 1. Table Layout
+ *------------------*/
+#results-table {
+  border: 1px solid #e6e6e6;
+  color: #999;
+  font-size: 12px;
+  width: 100%;
+}
+#results-table th,
+#results-table td {
+  padding: 5px;
+  border: 1px solid #E6E6E6;
+  text-align: left;
+}
+#results-table th {
+  font-weight: bold;
+}
+
+/*------------------
+ * 2. Extra
+ *------------------*/
+.log {
+  background-color: #e6e6e6;
+  border: 1px solid #e6e6e6;
+  color: black;
+  display: block;
+  font-family: "Courier New", Courier, monospace;
+  height: 230px;
+  overflow-y: scroll;
+  padding: 5px;
+  white-space: pre-wrap;
+}
+.log:only-child {
+  height: inherit;
+}
+
+div.image {
+  border: 1px solid #e6e6e6;
+  float: right;
+  height: 240px;
+  margin-left: 5px;
+  overflow: hidden;
+  width: 320px;
+}
+div.image img {
+  width: 320px;
+}
+
+div.video {
+  border: 1px solid #e6e6e6;
+  float: right;
+  height: 240px;
+  margin-left: 5px;
+  overflow: hidden;
+  width: 320px;
+}
+div.video video {
+  overflow: hidden;
+  width: 320px;
+  height: 240px;
+}
+
+.collapsed {
+  display: none;
+}
+
+.expander::after {
+  content: " (show details)";
+  color: #BBB;
+  font-style: italic;
+  cursor: pointer;
+}
+
+.collapser::after {
+  content: " (hide details)";
+  color: #BBB;
+  font-style: italic;
+  cursor: pointer;
+}
+
+/*------------------
+ * 3. Sorting items
+ *------------------*/
+.sortable {
+  cursor: pointer;
+}
+
+.sort-icon {
+  font-size: 0px;
+  float: left;
+  margin-right: 5px;
+  margin-top: 5px;
+  /*triangle*/
+  width: 0;
+  height: 0;
+  border-left: 8px solid transparent;
+  border-right: 8px solid transparent;
+}
+.inactive .sort-icon {
+  /*finish triangle*/
+  border-top: 8px solid #E6E6E6;
+}
+.asc.active .sort-icon {
+  /*finish triangle*/
+  border-bottom: 8px solid #999;
+}
+.desc.active .sort-icon {
+  /*finish triangle*/
+  border-top: 8px solid #999;
+}

+ 2 - 0
openReport.bat

@@ -0,0 +1,2 @@
+call allure generate ./result/ -o ./report/ --clean
+call allure open report/

文件差异内容过多而无法显示
+ 0 - 0
report/app.js


+ 1 - 0
report/data/attachments/12b4c91e47bde05.txt

@@ -0,0 +1 @@
+INFO:root:Find Valid Element: <ECUC-CONTAINER-VALUE xmlns="http://autosar.org/schema/r4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" UUID="44f12655-187d-418a-8e5b-15023d132144"><SHORT-NAME>ETHTRCV_30_88Q1010_EXCLUSIVE_AREA_SEQUENCE</SHORT-NAME><DEFINITION-REF DEST="ECUC-PARAM-CONF-CONTAINER-DEF">/MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl</DEFINITION-REF><PARAMETER-VALUES><ECUC-TEXTUAL-PARAM-VALUE><DEFINITION-REF DEST="ECUC-ENUMERATION-PARAM-DEF">/MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteExclusiveAreaImplMechanism</DEFINITION-REF><VALUE>NONE</VALUE></ECUC-TEXTUAL-PARAM-VALUE></PARAMETER-VALUES><REFERENCE-VALUES><ECUC-REFERENCE-VALUE><DEFINITION-REF DEST="ECUC-FOREIGN-REFERENCE-DEF">/MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteBswExclusiveAreaRef</DEFINITION-REF><VALUE-REF DEST="EXCLUSIVE-AREA">/MICROSAR/EthTrcv_30_88Q1010_ib_bswmd/BswModuleDescriptions/EthTrcv/EthTrcv_30_88Q1010Behavior/ETHTRCV_30_88Q1010_EXCLUSIVE_AREA_SEQUENCE</VALUE-REF></ECUC-REFERENCE-VALUE></REFERENCE-VALUES></ECUC-CONTAINER-VALUE>

+ 1 - 0
report/data/attachments/1374becb0152bce.txt

@@ -0,0 +1 @@
+INFO:root:Find Valid Element: <ECUC-CONTAINER-VALUE xmlns="http://autosar.org/schema/r4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" UUID="44f12655-187d-418a-8e5b-15023d132144"><SHORT-NAME>ETHTRCV_30_88Q1010_EXCLUSIVE_AREA_SEQUENCE</SHORT-NAME><DEFINITION-REF DEST="ECUC-PARAM-CONF-CONTAINER-DEF">/MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl</DEFINITION-REF><PARAMETER-VALUES><ECUC-TEXTUAL-PARAM-VALUE><DEFINITION-REF DEST="ECUC-ENUMERATION-PARAM-DEF">/MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteExclusiveAreaImplMechanism</DEFINITION-REF><VALUE>NONE</VALUE></ECUC-TEXTUAL-PARAM-VALUE></PARAMETER-VALUES><REFERENCE-VALUES><ECUC-REFERENCE-VALUE><DEFINITION-REF DEST="ECUC-FOREIGN-REFERENCE-DEF">/MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteBswExclusiveAreaRef</DEFINITION-REF><VALUE-REF DEST="EXCLUSIVE-AREA">/MICROSAR/EthTrcv_30_88Q1010_ib_bswmd/BswModuleDescriptions/EthTrcv/EthTrcv_30_88Q1010Behavior/ETHTRCV_30_88Q1010_EXCLUSIVE_AREA_SEQUENCE</VALUE-REF></ECUC-REFERENCE-VALUE></REFERENCE-VALUES></ECUC-CONTAINER-VALUE>

文件差异内容过多而无法显示
+ 0 - 0
report/data/attachments/13e465a18653be1d.txt


文件差异内容过多而无法显示
+ 1 - 0
report/data/attachments/13e963c68dc94b4.txt


文件差异内容过多而无法显示
+ 1 - 0
report/data/attachments/15d0757e24439393.txt


文件差异内容过多而无法显示
+ 0 - 0
report/data/attachments/17168663bae0f1ad.txt


文件差异内容过多而无法显示
+ 1 - 0
report/data/attachments/17dddf2b751ddc47.txt


文件差异内容过多而无法显示
+ 0 - 0
report/data/attachments/181cbce1617a551d.txt


+ 17 - 0
report/data/attachments/18298117557b37ce.txt

@@ -0,0 +1,17 @@
+ERROR    root:CfgCheckBase.py:48 Check Param EaNumberOfWriteCycles not match! Expect Value 1000000 != 10000
+ERROR    root:CfgCheckBase.py:48 Check Param EaNumberOfWriteCycles not match! Expect Value 1000000 != 10000
+ERROR    root:CfgCheckBase.py:48 Check Param EaNumberOfWriteCycles not match! Expect Value 1000000 != 10000
+ERROR    root:CfgCheckBase.py:48 Check Param EaNumberOfWriteCycles not match! Expect Value 1000000 != 10000
+ERROR    root:CfgCheckBase.py:48 Check Param EaNumberOfWriteCycles not match! Expect Value 1000000 != 10000
+ERROR    root:CfgCheckBase.py:48 Check Param EaNumberOfWriteCycles not match! Expect Value 1000000 != 10000
+ERROR    root:CfgCheckBase.py:48 Check Param EaNumberOfWriteCycles not match! Expect Value 1000000 != 10000
+ERROR    root:CfgCheckBase.py:48 Check Param EaNumberOfWriteCycles not match! Expect Value 1000000 != 10000
+ERROR    root:CfgCheckBase.py:48 Check Param EaNumberOfWriteCycles not match! Expect Value 1000000 != 10000
+ERROR    root:CfgCheckBase.py:48 Check Param EaNumberOfWriteCycles not match! Expect Value 1000000 != 10000
+ERROR    root:CfgCheckBase.py:48 Check Param EaNumberOfWriteCycles not match! Expect Value 1000000 != 10000
+ERROR    root:CfgCheckBase.py:48 Check Param EaNumberOfWriteCycles not match! Expect Value 1000000 != 10000
+ERROR    root:CfgCheckBase.py:48 Check Param EaNumberOfWriteCycles not match! Expect Value 1000000 != 10000
+ERROR    root:CfgCheckBase.py:48 Check Param EaNumberOfWriteCycles not match! Expect Value 1000000 != 10000
+ERROR    root:CfgCheckBase.py:48 Check Param EaNumberOfWriteCycles not match! Expect Value 1000000 != 10000
+ERROR    root:CfgCheckBase.py:48 Check Param EaNumberOfWriteCycles not match! Expect Value 1000000 != 10000
+ERROR    root:CfgCheckBase.py:48 Check Param EaNumberOfWriteCycles not match! Expect Value 1000000 != 10000

文件差异内容过多而无法显示
+ 1 - 0
report/data/attachments/18b435ff00ca0005.txt


文件差异内容过多而无法显示
+ 1 - 0
report/data/attachments/196c8577035ac801.txt


文件差异内容过多而无法显示
+ 1 - 0
report/data/attachments/19b3abf5f3725737.txt


文件差异内容过多而无法显示
+ 1 - 0
report/data/attachments/19e266b821bfdd7f.txt


+ 1 - 0
report/data/attachments/1b4b3db2beeae76.txt

@@ -0,0 +1 @@
+ERROR:root:By Pattern .//SHORT-NAME-GWLin1-CONTAINS, not find valud element!

文件差异内容过多而无法显示
+ 1 - 0
report/data/attachments/1b819b2144d177fe.txt


文件差异内容过多而无法显示
+ 0 - 0
report/data/attachments/1c6b99fee2eda7b5.txt


文件差异内容过多而无法显示
+ 1 - 0
report/data/attachments/1ce0a2ccbdb38be6.txt


文件差异内容过多而无法显示
+ 1 - 0
report/data/attachments/1cf7119f95747d1a.txt


+ 1 - 0
report/data/attachments/1d9ddc14253983bf.txt

@@ -0,0 +1 @@
+INFO:root:Find Valid Element: <ECUC-CONTAINER-VALUE xmlns="http://autosar.org/schema/r4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" UUID="44f12655-187d-418a-8e5b-15023d132144"><SHORT-NAME>ETHTRCV_30_88Q1010_EXCLUSIVE_AREA_SEQUENCE</SHORT-NAME><DEFINITION-REF DEST="ECUC-PARAM-CONF-CONTAINER-DEF">/MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl</DEFINITION-REF><PARAMETER-VALUES><ECUC-TEXTUAL-PARAM-VALUE><DEFINITION-REF DEST="ECUC-ENUMERATION-PARAM-DEF">/MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteExclusiveAreaImplMechanism</DEFINITION-REF><VALUE>NONE</VALUE></ECUC-TEXTUAL-PARAM-VALUE></PARAMETER-VALUES><REFERENCE-VALUES><ECUC-REFERENCE-VALUE><DEFINITION-REF DEST="ECUC-FOREIGN-REFERENCE-DEF">/MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteBswExclusiveAreaRef</DEFINITION-REF><VALUE-REF DEST="EXCLUSIVE-AREA">/MICROSAR/EthTrcv_30_88Q1010_ib_bswmd/BswModuleDescriptions/EthTrcv/EthTrcv_30_88Q1010Behavior/ETHTRCV_30_88Q1010_EXCLUSIVE_AREA_SEQUENCE</VALUE-REF></ECUC-REFERENCE-VALUE></REFERENCE-VALUES></ECUC-CONTAINER-VALUE>

文件差异内容过多而无法显示
+ 1 - 0
report/data/attachments/1e65a4f9dc5c4249.txt


+ 1 - 0
report/data/attachments/1eb33fd7e524e80.txt

@@ -0,0 +1 @@
+ERROR    root:CfgCheckBase.py:48 Check Param ComMMainFunctionPeriod not match! Expect Value 0.01 != 0.02

文件差异内容过多而无法显示
+ 1 - 0
report/data/attachments/1efe7ef1e8ad2f77.txt


+ 1 - 0
report/data/attachments/1f461b55a87744a5.txt

@@ -0,0 +1 @@
+INFO     root:ModuleCfgCheck.py:83 Find Valid Element: <ECUC-CONTAINER-VALUE xmlns="http://autosar.org/schema/r4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" UUID="44f12655-187d-418a-8e5b-15023d132144"><SHORT-NAME>ETHTRCV_30_88Q1010_EXCLUSIVE_AREA_SEQUENCE</SHORT-NAME><DEFINITION-REF DEST="ECUC-PARAM-CONF-CONTAINER-DEF">/MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl</DEFINITION-REF><PARAMETER-VALUES><ECUC-TEXTUAL-PARAM-VALUE><DEFINITION-REF DEST="ECUC-ENUMERATION-PARAM-DEF">/MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteExclusiveAreaImplMechanism</DEFINITION-REF><VALUE>NONE</VALUE></ECUC-TEXTUAL-PARAM-VALUE></PARAMETER-VALUES><REFERENCE-VALUES><ECUC-REFERENCE-VALUE><DEFINITION-REF DEST="ECUC-FOREIGN-REFERENCE-DEF">/MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteBswExclusiveAreaRef</DEFINITION-REF><VALUE-REF DEST="EXCLUSIVE-AREA">/MICROSAR/EthTrcv_30_88Q1010_ib_bswmd/BswModuleDescriptions/EthTrcv/EthTrcv_30_88Q1010Behavior/ETHTRCV_30_88Q1010_EXCLUSIVE_AREA_SEQUENCE</VALUE-REF></ECUC-REFERENCE-VALUE></REFERENCE-VALUES></ECUC-CONTAINER-VALUE>

+ 1 - 0
report/data/attachments/2035c3a0f7ddad02.txt

@@ -0,0 +1 @@
+INFO     root:ModuleCfgCheck.py:83 Find Valid Element: <ECUC-CONTAINER-VALUE xmlns="http://autosar.org/schema/r4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" UUID="44f12655-187d-418a-8e5b-15023d132144"><SHORT-NAME>ETHTRCV_30_88Q1010_EXCLUSIVE_AREA_SEQUENCE</SHORT-NAME><DEFINITION-REF DEST="ECUC-PARAM-CONF-CONTAINER-DEF">/MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl</DEFINITION-REF><PARAMETER-VALUES><ECUC-TEXTUAL-PARAM-VALUE><DEFINITION-REF DEST="ECUC-ENUMERATION-PARAM-DEF">/MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteExclusiveAreaImplMechanism</DEFINITION-REF><VALUE>NONE</VALUE></ECUC-TEXTUAL-PARAM-VALUE></PARAMETER-VALUES><REFERENCE-VALUES><ECUC-REFERENCE-VALUE><DEFINITION-REF DEST="ECUC-FOREIGN-REFERENCE-DEF">/MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteBswExclusiveAreaRef</DEFINITION-REF><VALUE-REF DEST="EXCLUSIVE-AREA">/MICROSAR/EthTrcv_30_88Q1010_ib_bswmd/BswModuleDescriptions/EthTrcv/EthTrcv_30_88Q1010Behavior/ETHTRCV_30_88Q1010_EXCLUSIVE_AREA_SEQUENCE</VALUE-REF></ECUC-REFERENCE-VALUE></REFERENCE-VALUES></ECUC-CONTAINER-VALUE>

文件差异内容过多而无法显示
+ 1 - 0
report/data/attachments/209873ed7d484ff0.txt


+ 1 - 0
report/data/attachments/20d166950f9509e8.txt

@@ -0,0 +1 @@
+INFO     root:ModuleCfgCheck.py:83 Find Valid Element: <ECUC-CONTAINER-VALUE xmlns="http://autosar.org/schema/r4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" UUID="0c1feb1a-5711-48d9-9046-22d30d4891ab"><SHORT-NAME>EXCLUSIVE_AREA_SMI_MULTI_CHIP_ACCESS</SHORT-NAME><DEFINITION-REF DEST="ECUC-PARAM-CONF-CONTAINER-DEF">/MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl</DEFINITION-REF><PARAMETER-VALUES><ECUC-TEXTUAL-PARAM-VALUE><DEFINITION-REF DEST="ECUC-ENUMERATION-PARAM-DEF">/MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteExclusiveAreaImplMechanism</DEFINITION-REF><VALUE>NONE</VALUE></ECUC-TEXTUAL-PARAM-VALUE></PARAMETER-VALUES><REFERENCE-VALUES><ECUC-REFERENCE-VALUE><DEFINITION-REF DEST="ECUC-FOREIGN-REFERENCE-DEF">/MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteBswExclusiveAreaRef</DEFINITION-REF><VALUE-REF DEST="EXCLUSIVE-AREA">/MICROSAR/EthSwt_30_88Q5050_ib_bswmd/BswModuleDescriptions/EthSwt/EthSwt_30_88Q5050Behavior/EXCLUSIVE_AREA_SMI_MULTI_CHIP_ACCESS</VALUE-REF></ECUC-REFERENCE-VALUE></REFERENCE-VALUES></ECUC-CONTAINER-VALUE>

文件差异内容过多而无法显示
+ 0 - 0
report/data/attachments/20eee7ba02ea11b4.txt


文件差异内容过多而无法显示
+ 1 - 0
report/data/attachments/26b18183a2bd0b92.txt


+ 17 - 0
report/data/attachments/27cb3c389e504cad.txt

@@ -0,0 +1,17 @@
+ERROR:root:Check Param EaNumberOfWriteCycles not match! Expect Value 1000000 != 10000
+ERROR:root:Check Param EaNumberOfWriteCycles not match! Expect Value 1000000 != 10000
+ERROR:root:Check Param EaNumberOfWriteCycles not match! Expect Value 1000000 != 10000
+ERROR:root:Check Param EaNumberOfWriteCycles not match! Expect Value 1000000 != 10000
+ERROR:root:Check Param EaNumberOfWriteCycles not match! Expect Value 1000000 != 10000
+ERROR:root:Check Param EaNumberOfWriteCycles not match! Expect Value 1000000 != 10000
+ERROR:root:Check Param EaNumberOfWriteCycles not match! Expect Value 1000000 != 10000
+ERROR:root:Check Param EaNumberOfWriteCycles not match! Expect Value 1000000 != 10000
+ERROR:root:Check Param EaNumberOfWriteCycles not match! Expect Value 1000000 != 10000
+ERROR:root:Check Param EaNumberOfWriteCycles not match! Expect Value 1000000 != 10000
+ERROR:root:Check Param EaNumberOfWriteCycles not match! Expect Value 1000000 != 10000
+ERROR:root:Check Param EaNumberOfWriteCycles not match! Expect Value 1000000 != 10000
+ERROR:root:Check Param EaNumberOfWriteCycles not match! Expect Value 1000000 != 10000
+ERROR:root:Check Param EaNumberOfWriteCycles not match! Expect Value 1000000 != 10000
+ERROR:root:Check Param EaNumberOfWriteCycles not match! Expect Value 1000000 != 10000
+ERROR:root:Check Param EaNumberOfWriteCycles not match! Expect Value 1000000 != 10000
+ERROR:root:Check Param EaNumberOfWriteCycles not match! Expect Value 1000000 != 10000

文件差异内容过多而无法显示
+ 1 - 0
report/data/attachments/28d1b03f15a5c977.txt


+ 1 - 0
report/data/attachments/28d4028ccee0107.txt

@@ -0,0 +1 @@
+INFO     root:ModuleCfgCheck.py:83 Find Valid Element: <ECUC-CONTAINER-VALUE xmlns="http://autosar.org/schema/r4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" UUID="0c1feb1a-5711-48d9-9046-22d30d4891ab"><SHORT-NAME>EXCLUSIVE_AREA_SMI_MULTI_CHIP_ACCESS</SHORT-NAME><DEFINITION-REF DEST="ECUC-PARAM-CONF-CONTAINER-DEF">/MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl</DEFINITION-REF><PARAMETER-VALUES><ECUC-TEXTUAL-PARAM-VALUE><DEFINITION-REF DEST="ECUC-ENUMERATION-PARAM-DEF">/MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteExclusiveAreaImplMechanism</DEFINITION-REF><VALUE>NONE</VALUE></ECUC-TEXTUAL-PARAM-VALUE></PARAMETER-VALUES><REFERENCE-VALUES><ECUC-REFERENCE-VALUE><DEFINITION-REF DEST="ECUC-FOREIGN-REFERENCE-DEF">/MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteBswExclusiveAreaRef</DEFINITION-REF><VALUE-REF DEST="EXCLUSIVE-AREA">/MICROSAR/EthSwt_30_88Q5050_ib_bswmd/BswModuleDescriptions/EthSwt/EthSwt_30_88Q5050Behavior/EXCLUSIVE_AREA_SMI_MULTI_CHIP_ACCESS</VALUE-REF></ECUC-REFERENCE-VALUE></REFERENCE-VALUES></ECUC-CONTAINER-VALUE>

+ 1 - 0
report/data/attachments/28f70bbcf0a9cb9a.txt

@@ -0,0 +1 @@
+INFO:root:Find Valid Element: <ECUC-CONTAINER-VALUE xmlns="http://autosar.org/schema/r4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" UUID="44f12655-187d-418a-8e5b-15023d132144"><SHORT-NAME>ETHTRCV_30_88Q1010_EXCLUSIVE_AREA_SEQUENCE</SHORT-NAME><DEFINITION-REF DEST="ECUC-PARAM-CONF-CONTAINER-DEF">/MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl</DEFINITION-REF><PARAMETER-VALUES><ECUC-TEXTUAL-PARAM-VALUE><DEFINITION-REF DEST="ECUC-ENUMERATION-PARAM-DEF">/MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteExclusiveAreaImplMechanism</DEFINITION-REF><VALUE>NONE</VALUE></ECUC-TEXTUAL-PARAM-VALUE></PARAMETER-VALUES><REFERENCE-VALUES><ECUC-REFERENCE-VALUE><DEFINITION-REF DEST="ECUC-FOREIGN-REFERENCE-DEF">/MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteBswExclusiveAreaRef</DEFINITION-REF><VALUE-REF DEST="EXCLUSIVE-AREA">/MICROSAR/EthTrcv_30_88Q1010_ib_bswmd/BswModuleDescriptions/EthTrcv/EthTrcv_30_88Q1010Behavior/ETHTRCV_30_88Q1010_EXCLUSIVE_AREA_SEQUENCE</VALUE-REF></ECUC-REFERENCE-VALUE></REFERENCE-VALUES></ECUC-CONTAINER-VALUE>

文件差异内容过多而无法显示
+ 1 - 0
report/data/attachments/2aeb525861e7e612.txt


+ 1 - 0
report/data/attachments/2b4306dcdc0b55d0.txt

@@ -0,0 +1 @@
+INFO     root:ModuleCfgCheck.py:83 Find Valid Element: <ECUC-CONTAINER-VALUE xmlns="http://autosar.org/schema/r4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" UUID="44f12655-187d-418a-8e5b-15023d132144"><SHORT-NAME>ETHTRCV_30_88Q1010_EXCLUSIVE_AREA_SEQUENCE</SHORT-NAME><DEFINITION-REF DEST="ECUC-PARAM-CONF-CONTAINER-DEF">/MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl</DEFINITION-REF><PARAMETER-VALUES><ECUC-TEXTUAL-PARAM-VALUE><DEFINITION-REF DEST="ECUC-ENUMERATION-PARAM-DEF">/MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteExclusiveAreaImplMechanism</DEFINITION-REF><VALUE>NONE</VALUE></ECUC-TEXTUAL-PARAM-VALUE></PARAMETER-VALUES><REFERENCE-VALUES><ECUC-REFERENCE-VALUE><DEFINITION-REF DEST="ECUC-FOREIGN-REFERENCE-DEF">/MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteBswExclusiveAreaRef</DEFINITION-REF><VALUE-REF DEST="EXCLUSIVE-AREA">/MICROSAR/EthTrcv_30_88Q1010_ib_bswmd/BswModuleDescriptions/EthTrcv/EthTrcv_30_88Q1010Behavior/ETHTRCV_30_88Q1010_EXCLUSIVE_AREA_SEQUENCE</VALUE-REF></ECUC-REFERENCE-VALUE></REFERENCE-VALUES></ECUC-CONTAINER-VALUE>

文件差异内容过多而无法显示
+ 1 - 0
report/data/attachments/2b65747296777fe1.txt


文件差异内容过多而无法显示
+ 1 - 0
report/data/attachments/2b8de7996eee0869.txt


文件差异内容过多而无法显示
+ 0 - 0
report/data/attachments/2c54b0326e6512ce.txt


文件差异内容过多而无法显示
+ 1 - 0
report/data/attachments/2c5d348fd380861d.txt


+ 1 - 0
report/data/attachments/2db532110ff3d682.txt

@@ -0,0 +1 @@
+INFO:root:Find Valid Element: <ECUC-CONTAINER-VALUE xmlns="http://autosar.org/schema/r4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" UUID="44f12655-187d-418a-8e5b-15023d132144"><SHORT-NAME>ETHTRCV_30_88Q1010_EXCLUSIVE_AREA_SEQUENCE</SHORT-NAME><DEFINITION-REF DEST="ECUC-PARAM-CONF-CONTAINER-DEF">/MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl</DEFINITION-REF><PARAMETER-VALUES><ECUC-TEXTUAL-PARAM-VALUE><DEFINITION-REF DEST="ECUC-ENUMERATION-PARAM-DEF">/MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteExclusiveAreaImplMechanism</DEFINITION-REF><VALUE>NONE</VALUE></ECUC-TEXTUAL-PARAM-VALUE></PARAMETER-VALUES><REFERENCE-VALUES><ECUC-REFERENCE-VALUE><DEFINITION-REF DEST="ECUC-FOREIGN-REFERENCE-DEF">/MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteBswExclusiveAreaRef</DEFINITION-REF><VALUE-REF DEST="EXCLUSIVE-AREA">/MICROSAR/EthTrcv_30_88Q1010_ib_bswmd/BswModuleDescriptions/EthTrcv/EthTrcv_30_88Q1010Behavior/ETHTRCV_30_88Q1010_EXCLUSIVE_AREA_SEQUENCE</VALUE-REF></ECUC-REFERENCE-VALUE></REFERENCE-VALUES></ECUC-CONTAINER-VALUE>

文件差异内容过多而无法显示
+ 0 - 0
report/data/attachments/2f06209b67b94997.txt


文件差异内容过多而无法显示
+ 1 - 0
report/data/attachments/31918e58640a6585.txt


文件差异内容过多而无法显示
+ 1 - 0
report/data/attachments/32ca8334393b8b28.txt


文件差异内容过多而无法显示
+ 1 - 0
report/data/attachments/33d37ae1ae9b52a1.txt


文件差异内容过多而无法显示
+ 1 - 0
report/data/attachments/33fff4bc8e286c96.txt


+ 1 - 0
report/data/attachments/34537ade26ff5543.txt

@@ -0,0 +1 @@
+ERROR    root:ModuleCfgCheck.py:74 By Pattern .//SHORT-NAME-GWLin2-CONTAINS, not find valud element!

文件差异内容过多而无法显示
+ 1 - 0
report/data/attachments/3466570422e783e9.txt


文件差异内容过多而无法显示
+ 1 - 0
report/data/attachments/36609fadb7e84134.txt


文件差异内容过多而无法显示
+ 0 - 0
report/data/attachments/36c72a2cf9be7bcf.txt


文件差异内容过多而无法显示
+ 1 - 0
report/data/attachments/373c46a5bd980aa6.txt


文件差异内容过多而无法显示
+ 0 - 0
report/data/attachments/37706cb362deb44.txt


文件差异内容过多而无法显示
+ 1 - 0
report/data/attachments/38c402ba929bbc7a.txt


文件差异内容过多而无法显示
+ 1 - 0
report/data/attachments/39143eb005f41072.txt


+ 1 - 0
report/data/attachments/39a259cf73e428ad.txt

@@ -0,0 +1 @@
+ERROR    root:CfgCheckBase.py:48 Check Param ComMMainFunctionPeriod not match! Expect Value 0.01 != 0.02

文件差异内容过多而无法显示
+ 1 - 0
report/data/attachments/3a499a37de3e61a1.txt


文件差异内容过多而无法显示
+ 0 - 0
report/data/attachments/3a66066c4fbfc44e.txt


文件差异内容过多而无法显示
+ 1 - 0
report/data/attachments/3d9abe09f8e350a4.txt


文件差异内容过多而无法显示
+ 1 - 0
report/data/attachments/3dc82958a23c8b7f.txt


文件差异内容过多而无法显示
+ 0 - 0
report/data/attachments/42ea2d67cdb8fd78.txt


文件差异内容过多而无法显示
+ 1 - 0
report/data/attachments/43a8da078bf29a24.txt


文件差异内容过多而无法显示
+ 1 - 0
report/data/attachments/4537c734e7781448.txt


+ 17 - 0
report/data/attachments/472395d9c43bd002.txt

@@ -0,0 +1,17 @@
+ERROR:root:Check Param EaNumberOfWriteCycles not match! Expect Value 1000000 != 10000
+ERROR:root:Check Param EaNumberOfWriteCycles not match! Expect Value 1000000 != 10000
+ERROR:root:Check Param EaNumberOfWriteCycles not match! Expect Value 1000000 != 10000
+ERROR:root:Check Param EaNumberOfWriteCycles not match! Expect Value 1000000 != 10000
+ERROR:root:Check Param EaNumberOfWriteCycles not match! Expect Value 1000000 != 10000
+ERROR:root:Check Param EaNumberOfWriteCycles not match! Expect Value 1000000 != 10000
+ERROR:root:Check Param EaNumberOfWriteCycles not match! Expect Value 1000000 != 10000
+ERROR:root:Check Param EaNumberOfWriteCycles not match! Expect Value 1000000 != 10000
+ERROR:root:Check Param EaNumberOfWriteCycles not match! Expect Value 1000000 != 10000
+ERROR:root:Check Param EaNumberOfWriteCycles not match! Expect Value 1000000 != 10000
+ERROR:root:Check Param EaNumberOfWriteCycles not match! Expect Value 1000000 != 10000
+ERROR:root:Check Param EaNumberOfWriteCycles not match! Expect Value 1000000 != 10000
+ERROR:root:Check Param EaNumberOfWriteCycles not match! Expect Value 1000000 != 10000
+ERROR:root:Check Param EaNumberOfWriteCycles not match! Expect Value 1000000 != 10000
+ERROR:root:Check Param EaNumberOfWriteCycles not match! Expect Value 1000000 != 10000
+ERROR:root:Check Param EaNumberOfWriteCycles not match! Expect Value 1000000 != 10000
+ERROR:root:Check Param EaNumberOfWriteCycles not match! Expect Value 1000000 != 10000

文件差异内容过多而无法显示
+ 0 - 0
report/data/attachments/4848b2401db83e04.txt


文件差异内容过多而无法显示
+ 1 - 0
report/data/attachments/49a30dcde391568c.txt


文件差异内容过多而无法显示
+ 0 - 0
report/data/attachments/4b6da9e272f03fd5.txt


文件差异内容过多而无法显示
+ 1 - 0
report/data/attachments/4b70c98a9a4b4f9c.txt


+ 1 - 0
report/data/attachments/4b7f05ce8f7ec32.txt

@@ -0,0 +1 @@
+INFO     root:ModuleCfgCheck.py:83 Find Valid Element: <ECUC-CONTAINER-VALUE xmlns="http://autosar.org/schema/r4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" UUID="0c1feb1a-5711-48d9-9046-22d30d4891ab"><SHORT-NAME>EXCLUSIVE_AREA_SMI_MULTI_CHIP_ACCESS</SHORT-NAME><DEFINITION-REF DEST="ECUC-PARAM-CONF-CONTAINER-DEF">/MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl</DEFINITION-REF><PARAMETER-VALUES><ECUC-TEXTUAL-PARAM-VALUE><DEFINITION-REF DEST="ECUC-ENUMERATION-PARAM-DEF">/MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteExclusiveAreaImplMechanism</DEFINITION-REF><VALUE>NONE</VALUE></ECUC-TEXTUAL-PARAM-VALUE></PARAMETER-VALUES><REFERENCE-VALUES><ECUC-REFERENCE-VALUE><DEFINITION-REF DEST="ECUC-FOREIGN-REFERENCE-DEF">/MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteBswExclusiveAreaRef</DEFINITION-REF><VALUE-REF DEST="EXCLUSIVE-AREA">/MICROSAR/EthSwt_30_88Q5050_ib_bswmd/BswModuleDescriptions/EthSwt/EthSwt_30_88Q5050Behavior/EXCLUSIVE_AREA_SMI_MULTI_CHIP_ACCESS</VALUE-REF></ECUC-REFERENCE-VALUE></REFERENCE-VALUES></ECUC-CONTAINER-VALUE>

文件差异内容过多而无法显示
+ 0 - 0
report/data/attachments/4b8cc46e2bfb47ee.txt


文件差异内容过多而无法显示
+ 1 - 0
report/data/attachments/4bbac83cfc4d4b0e.txt


文件差异内容过多而无法显示
+ 0 - 0
report/data/attachments/4e6a7b020855254f.txt


文件差异内容过多而无法显示
+ 1 - 0
report/data/attachments/4f79da0f6ad387ba.txt


+ 1 - 0
report/data/attachments/5114806b1ea866cb.txt

@@ -0,0 +1 @@
+INFO     root:ModuleCfgCheck.py:83 Find Valid Element: <ECUC-CONTAINER-VALUE xmlns="http://autosar.org/schema/r4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" UUID="44f12655-187d-418a-8e5b-15023d132144"><SHORT-NAME>ETHTRCV_30_88Q1010_EXCLUSIVE_AREA_SEQUENCE</SHORT-NAME><DEFINITION-REF DEST="ECUC-PARAM-CONF-CONTAINER-DEF">/MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl</DEFINITION-REF><PARAMETER-VALUES><ECUC-TEXTUAL-PARAM-VALUE><DEFINITION-REF DEST="ECUC-ENUMERATION-PARAM-DEF">/MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteExclusiveAreaImplMechanism</DEFINITION-REF><VALUE>NONE</VALUE></ECUC-TEXTUAL-PARAM-VALUE></PARAMETER-VALUES><REFERENCE-VALUES><ECUC-REFERENCE-VALUE><DEFINITION-REF DEST="ECUC-FOREIGN-REFERENCE-DEF">/MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteBswExclusiveAreaRef</DEFINITION-REF><VALUE-REF DEST="EXCLUSIVE-AREA">/MICROSAR/EthTrcv_30_88Q1010_ib_bswmd/BswModuleDescriptions/EthTrcv/EthTrcv_30_88Q1010Behavior/ETHTRCV_30_88Q1010_EXCLUSIVE_AREA_SEQUENCE</VALUE-REF></ECUC-REFERENCE-VALUE></REFERENCE-VALUES></ECUC-CONTAINER-VALUE>

文件差异内容过多而无法显示
+ 0 - 0
report/data/attachments/5188cc00a82cdb04.txt


+ 1 - 0
report/data/attachments/51faf2e140b18ace.txt

@@ -0,0 +1 @@
+ERROR    root:ModuleCfgCheck.py:74 By Pattern .//SHORT-NAME-GWLin2MasterCnt-CONTAINS, not find valud element!

文件差异内容过多而无法显示
+ 1 - 0
report/data/attachments/52ea319d2cb272.txt


文件差异内容过多而无法显示
+ 1 - 0
report/data/attachments/54c414053a417e3.txt


文件差异内容过多而无法显示
+ 1 - 0
report/data/attachments/550ae26119825954.txt


+ 1 - 0
report/data/attachments/5518b833f128e07d.txt

@@ -0,0 +1 @@
+INFO     root:ModuleCfgCheck.py:83 Find Valid Element: <ECUC-CONTAINER-VALUE xmlns="http://autosar.org/schema/r4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" UUID="44f12655-187d-418a-8e5b-15023d132144"><SHORT-NAME>ETHTRCV_30_88Q1010_EXCLUSIVE_AREA_SEQUENCE</SHORT-NAME><DEFINITION-REF DEST="ECUC-PARAM-CONF-CONTAINER-DEF">/MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl</DEFINITION-REF><PARAMETER-VALUES><ECUC-TEXTUAL-PARAM-VALUE><DEFINITION-REF DEST="ECUC-ENUMERATION-PARAM-DEF">/MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteExclusiveAreaImplMechanism</DEFINITION-REF><VALUE>NONE</VALUE></ECUC-TEXTUAL-PARAM-VALUE></PARAMETER-VALUES><REFERENCE-VALUES><ECUC-REFERENCE-VALUE><DEFINITION-REF DEST="ECUC-FOREIGN-REFERENCE-DEF">/MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteBswExclusiveAreaRef</DEFINITION-REF><VALUE-REF DEST="EXCLUSIVE-AREA">/MICROSAR/EthTrcv_30_88Q1010_ib_bswmd/BswModuleDescriptions/EthTrcv/EthTrcv_30_88Q1010Behavior/ETHTRCV_30_88Q1010_EXCLUSIVE_AREA_SEQUENCE</VALUE-REF></ECUC-REFERENCE-VALUE></REFERENCE-VALUES></ECUC-CONTAINER-VALUE>

文件差异内容过多而无法显示
+ 1 - 0
report/data/attachments/567868fe448126bc.txt


+ 1 - 0
report/data/attachments/5731433dabd8d434.txt

@@ -0,0 +1 @@
+INFO:root:Find Valid Element: <ECUC-CONTAINER-VALUE xmlns="http://autosar.org/schema/r4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" UUID="44f12655-187d-418a-8e5b-15023d132144"><SHORT-NAME>ETHTRCV_30_88Q1010_EXCLUSIVE_AREA_SEQUENCE</SHORT-NAME><DEFINITION-REF DEST="ECUC-PARAM-CONF-CONTAINER-DEF">/MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl</DEFINITION-REF><PARAMETER-VALUES><ECUC-TEXTUAL-PARAM-VALUE><DEFINITION-REF DEST="ECUC-ENUMERATION-PARAM-DEF">/MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteExclusiveAreaImplMechanism</DEFINITION-REF><VALUE>NONE</VALUE></ECUC-TEXTUAL-PARAM-VALUE></PARAMETER-VALUES><REFERENCE-VALUES><ECUC-REFERENCE-VALUE><DEFINITION-REF DEST="ECUC-FOREIGN-REFERENCE-DEF">/MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteBswExclusiveAreaRef</DEFINITION-REF><VALUE-REF DEST="EXCLUSIVE-AREA">/MICROSAR/EthTrcv_30_88Q1010_ib_bswmd/BswModuleDescriptions/EthTrcv/EthTrcv_30_88Q1010Behavior/ETHTRCV_30_88Q1010_EXCLUSIVE_AREA_SEQUENCE</VALUE-REF></ECUC-REFERENCE-VALUE></REFERENCE-VALUES></ECUC-CONTAINER-VALUE>

文件差异内容过多而无法显示
+ 0 - 0
report/data/attachments/5a85c9226a7d15cd.txt


文件差异内容过多而无法显示
+ 1 - 0
report/data/attachments/5ae2617900db091b.txt


部分文件因为文件数量过多而无法显示