Seperated Create_Workspace as a seperate XML task

Create_Workspace is used used in XML files instead of directly being
executed in DeployObject(). This can be problematic if we deploy
multiple services on the same host, since a previous workspace will be
deleted. Also, it removes futile git clones.

There are other XML steps (CppCheckAnalysis, LicenceAndFormattingCheck,
BuildImage, BuildProxy, BuildClusterImage) that implicitly called
Create_Workspace. Those calls have been removed and care has been taken
to insert the corresponding Create_Workspace steps in the XML.
This commit is contained in:
Bipin Adhikari
2024-09-04 15:43:46 +02:00
committed by Raphael Defosseux
parent 150a00bd23
commit 44d0c88863
36 changed files with 300 additions and 54 deletions
+8 -2
View File
@@ -24,9 +24,15 @@
<htmlTabRef>build-tab</htmlTabRef>
<htmlTabName>Build Images on Cluster</htmlTabName>
<htmlTabIcon>wrench</htmlTabIcon>
<TestCaseRequestedList>000001</TestCaseRequestedList>
<TestCaseRequestedList>
000002
000001
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase id="000002">
<class>Create_Workspace</class>
<desc>Creating new Workspace</desc>
</testCase>
<testCase id="000001">
<class>Build_Cluster_Image</class>
<desc>Build Images on OpenShift Cluster</desc>
@@ -26,10 +26,16 @@
<htmlTabIcon>wrench</htmlTabIcon>
<repeatCount>1</repeatCount>
<TestCaseRequestedList>
100001
000001
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase id="100001">
<class>Create_Workspace</class>
<desc>Creating new Workspace</desc>
<eNB_instance>1</eNB_instance>
<eNB_serverId>1</eNB_serverId>
</testCase>
<testCase id="000001">
<class>Build_Proxy</class>
<desc>Build L2sim Proxy Image</desc>
@@ -25,11 +25,18 @@
<htmlTabName>Build Container Images</htmlTabName>
<htmlTabIcon>wrench</htmlTabIcon>
<TestCaseRequestedList>
800813
000001
000010
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase id="800813">
<class>Create_Workspace</class>
<desc>Creating new Workspace for server 0</desc>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase>
<testCase id="000001">
<class>Build_Image</class>
<desc>Build all Images</desc>
@@ -25,10 +25,16 @@
<htmlTabName>Build Container Images</htmlTabName>
<htmlTabIcon>wrench</htmlTabIcon>
<TestCaseRequestedList>
100001
000001
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase id="100001">
<class>Create_Workspace</class>
<desc>Creating new Workspace</desc>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase>
<testCase id="000001">
<class>Build_Image</class>
<desc>Cross-Compile for ARM64</desc>
@@ -26,10 +26,17 @@
<htmlTabIcon>wrench</htmlTabIcon>
<repeatCount>1</repeatCount>
<TestCaseRequestedList>
100001
000001
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase id="100001">
<class>Create_Workspace</class>
<desc>Creating new Workspace</desc>
<eNB_instance>1</eNB_instance>
<eNB_serverId>1</eNB_serverId>
</testCase>
<testCase id="000001">
<class>Build_Proxy</class>
<desc>Build L2sim Proxy Image</desc>
@@ -31,6 +31,7 @@ Replaces xml_files/enb_usrp210_band7_test_05mhz_tm1.xml
111110
300000
040101
800813
030101
040301 040501 040603 040604 040605 040606 040607 040641 040642 040643 040644 040401 040201
030201
@@ -63,7 +64,12 @@ Replaces xml_files/enb_usrp210_band7_test_05mhz_tm1.xml
<node>hutch</node>
<command>sudo -S b2xx_fx3_utils --reset-device</command>
</testCase>
<testCase id="800813">
<class>Create_Workspace</class>
<desc>Creating new Workspace for server 0</desc>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase>
<testCase id="030101">
<class>Deploy_Object</class>
<desc>Deploy eNB (FDD/Band7/5MHz/B200) in a container</desc>
@@ -29,7 +29,10 @@
111110
300000
040101
030131 030132
800813
030131
800814
030132
040301 040531 040633 040634 040636 040671 040672 040673 040401 040201
030231
200000
@@ -61,7 +64,12 @@
<node>hutch</node>
<command>sudo -S b2xx_fx3_utils --reset-device</command>
</testCase>
<testCase id="800813">
<class>Create_Workspace</class>
<desc>Creating new Workspace for server 0</desc>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase>
<testCase id="030131">
<class>Deploy_Object</class>
<desc>Deploy RRU (FDD/Band7/5MHz/B200) in a container</desc>
@@ -70,7 +78,12 @@
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase>
<testCase id="800814">
<class>Create_Workspace</class>
<desc>Creating new Workspace for server 0</desc>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase>
<testCase id="030132">
<class>Deploy_Object</class>
<desc>Deploy RCC (FDD/Band7/5MHz) in a container</desc>
@@ -30,6 +30,7 @@ Replaces xml_files/enb_usrp210_band7_test_05mhz_tm1_rrc_inactivity_no_flexran.xm
100000
111110
040101
800813
030102
000010 040301 040502 000011 040302 000001 000012 040303 000002 000013 040503 040401 040201
030202
@@ -55,7 +56,12 @@ Replaces xml_files/enb_usrp210_band7_test_05mhz_tm1_rrc_inactivity_no_flexran.xm
<node>hutch</node>
<command>sudo cpupower idle-set -E</command>
</testCase>
<testCase id="800813">
<class>Create_Workspace</class>
<desc>Creating new Workspace for server 0</desc>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase>
<testCase id="030102">
<class>Deploy_Object</class>
<desc>Deploy eNB (FDD/Band7/5MHz/B200) in a container</desc>
@@ -31,6 +31,7 @@ Replaces xml_files/enb_usrp210_band7_test_10mhz_tm1.xml
100000
111110
040101
800813
030111
000001
040301 040511 040613 040614 040615 040651 040652 040653 040654 040401 040201
@@ -57,7 +58,12 @@ Replaces xml_files/enb_usrp210_band7_test_10mhz_tm1.xml
<node>hutch</node>
<command>sudo cpupower idle-set -E</command>
</testCase>
<testCase id="800813">
<class>Create_Workspace</class>
<desc>Creating new Workspace for server 0</desc>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase>
<testCase id="030111">
<class>Deploy_Object</class>
<desc>Deploy eNB (FDD/Band7/10MHz/B200) in a container</desc>
@@ -30,6 +30,7 @@ Replaces xml_files/enb_usrp210_band7_test_10mhz_tm1.xml
100000
111110
040101
800813
030112
040301 040302 040512 040612 040650 040401
040201
@@ -56,7 +57,12 @@ Replaces xml_files/enb_usrp210_band7_test_10mhz_tm1.xml
<node>hutch</node>
<command>sudo cpupower idle-set -E</command>
</testCase>
<testCase id="800813">
<class>Create_Workspace</class>
<desc>Creating new Workspace for server 0</desc>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase>
<testCase id="030112">
<class>Deploy_Object</class>
<desc>Deploy eNB (FDD/Band7/10MHz/B200) in a container</desc>
@@ -29,8 +29,10 @@
100001
111110
111111
800813
030111
000001
800814
030311
000002
040511 040613 040616 040651
@@ -78,7 +80,12 @@
<node>carabe</node>
<command>sudo cpupower idle-set -E</command>
</testCase>
<testCase id="800813">
<class>Create_Workspace</class>
<desc>Creating new Workspace for server 0</desc>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase>
<testCase id="030111">
<class>Deploy_Object</class>
<desc>Deploy eNB (FDD/Band7/10MHz/B200) in a container</desc>
@@ -86,7 +93,12 @@
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase>
<testCase id="800814">
<class>Create_Workspace</class>
<desc>Creating new Workspace for server 1</desc>
<eNB_instance>1</eNB_instance>
<eNB_serverId>1</eNB_serverId>
</testCase>
<testCase id="030311">
<class>Deploy_Object</class>
<desc>Deploy LTE-UE (FDD/Band7/10MHz/B200) in a container</desc>
@@ -30,6 +30,7 @@ Replaces xml_files/enb_usrp210_band7_test_10mhz_tm1.xml
100000
111110
040101
800813
030121
000001
040301 040521 040623 040624 040625 040662 040401 040201
@@ -56,7 +57,12 @@ Replaces xml_files/enb_usrp210_band7_test_10mhz_tm1.xml
<node>hutch</node>
<command>sudo cpupower idle-set -E</command>
</testCase>
<testCase id="800813">
<class>Create_Workspace</class>
<desc>Creating new Workspace for server 0</desc>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase>
<testCase id="030121">
<class>Deploy_Object</class>
<desc>Deploy eNB (FDD/Band7/20MHz/B200) in a container</desc>
@@ -31,6 +31,7 @@ Replaces xml_files/enb_usrp210_band40_test_05mhz_tm1.xml
100000
111110
040101
800813
030104
040301 040501 040602 040601 040603 040604 040605 040642 040641 040643 040644 040645 040401 040201
030204
@@ -64,7 +65,12 @@ Replaces xml_files/enb_usrp210_band40_test_05mhz_tm1.xml
<node>starsky</node>
<command>sudo -S b2xx_fx3_utils --reset-device</command>
</testCase>
<testCase id="800813">
<class>Create_Workspace</class>
<desc>Creating new Workspace for server 0</desc>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase>
<testCase id="030104">
<class>Deploy_Object</class>
<desc>Deploy eNB (TDD/Band40/5MHz/B200) in a container</desc>
@@ -28,7 +28,10 @@
300000
100000
111110
030134 030135
800813
030134
800814
030135
040301 040532 040631 040632 040634 040635 040681 040682 040684 040685 040401 040201
030231
040101
@@ -62,7 +65,12 @@
<node>starsky</node>
<command>sudo -S b2xx_fx3_utils --reset-device</command>
</testCase>
<testCase id="800813">
<class>Create_Workspace</class>
<desc>Creating new Workspace for server 0</desc>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase>
<testCase id="030134">
<class>Deploy_Object</class>
<desc>Deploy RRU (TDD/Band40/5MHz/B200) in a container</desc>
@@ -71,7 +79,12 @@
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase>
<testCase id="800814">
<class>Create_Workspace</class>
<desc>Creating new Workspace for server 0</desc>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase>
<testCase id="030135">
<class>Deploy_Object</class>
<desc>Deploy RCC (TDD/Band40/5MHz) in a container</desc>
@@ -30,6 +30,7 @@ Replaces xml_files/enb_usrp210_band40_test_05mhz_tm2.xml
100000
111110
040101
800813
030105
040301 040502 040606 040608 040646 040648 040401 040201
030205
@@ -55,6 +56,12 @@ Replaces xml_files/enb_usrp210_band40_test_05mhz_tm2.xml
<node>starsky</node>
<command>sudo cpupower idle-set -E</command>
</testCase>
<testCase id="800813">
<class>Create_Workspace</class>
<desc>Creating new Workspace for server 0</desc>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase>
<testCase id="030105">
<class>Deploy_Object</class>
<desc>Deploy eNB (TDD/Band40/5MHz/B200) in a container</desc>
@@ -30,6 +30,7 @@ Replaces xml_files/enb_usrp210_band40_test_10mhz_tm1.xml
100000
111110
040101
800813
030114
040301 040511 040612 040611 040613 040614 040615 040652 040651 040653 040654 040655 040401 040201
030214
@@ -55,6 +56,12 @@ Replaces xml_files/enb_usrp210_band40_test_10mhz_tm1.xml
<node>starsky</node>
<command>sudo cpupower idle-set -E</command>
</testCase>
<testCase id="800813">
<class>Create_Workspace</class>
<desc>Creating new Workspace for server 0</desc>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase>
<testCase id="030114">
<class>Deploy_Object</class>
<desc>Deploy eNB (TDD/Band40/10MHz/B200) in a container</desc>
@@ -30,6 +30,7 @@ Replaces xml_files/enb_usrp210_band40_test_20mhz_tm1.xml
100000
111110
040101
800813
030124
040301 040521 040622 040621 040623 040662 040401 040201
030224
@@ -55,6 +56,12 @@ Replaces xml_files/enb_usrp210_band40_test_20mhz_tm1.xml
<node>starsky</node>
<command>sudo cpupower idle-set -E</command>
</testCase>
<testCase id="800813">
<class>Create_Workspace</class>
<desc>Creating new Workspace for server 0</desc>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase>
<testCase id="030124">
<class>Deploy_Object</class>
<desc>Deploy eNB (TDD/Band40/20MHz/B200) in a container</desc>
@@ -30,6 +30,7 @@ Replaces xml_files/enb_usrp210_band40_test_20mhz_tm1_default_scheduler.xml
100000
111110
040101
800813
030125
040301 040522 040627 040626 040628 040629 040630 040667 040666 040668 040669 040670 040401 040201
030225
@@ -56,7 +57,12 @@ Replaces xml_files/enb_usrp210_band40_test_20mhz_tm1_default_scheduler.xml
<node>starsky</node>
<command>sudo cpupower idle-set -E</command>
</testCase>
<testCase id="800813">
<class>Create_Workspace</class>
<desc>Creating new Workspace for server 0</desc>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase>
<testCase id="030125">
<class>Deploy_Object</class>
<desc>Deploy eNB (TDD/Band40/20MHz/B200) in a container</desc>
@@ -31,6 +31,7 @@
111111
100000
010010
800833
030101
010001
000001
@@ -64,7 +65,12 @@
<node>obelix</node>
<command>sudo cpupower idle-set -E</command>
</testCase>
<testCase id="800833">
<class>Create_Workspace</class>
<desc>Creating new Workspace</desc>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase>
<testCase id="030101">
<class>Deploy_Object</class>
<desc>Deploy eNB (TDD/Band38/2.6Ghz/N3XX) in a container</desc>
@@ -31,6 +31,7 @@
111111
100000
010010
800833
031101
010001
000001
@@ -64,7 +65,12 @@
<node>obelix</node>
<command>sudo cpupower idle-set -E</command>
</testCase>
<testCase id="800833">
<class>Create_Workspace</class>
<desc>Creating new Workspace</desc>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase>
<testCase id="031101">
<class>Deploy_Object</class>
<desc>Deploy eNB (TDD/Band38/2.6Ghz/N3XX) in a container</desc>
@@ -32,7 +32,9 @@
111110
111111
010000
800833
030101
800834
030102
010001
050000
@@ -117,7 +119,12 @@
<desc>Detach UE</desc>
<id>idefix</id>
</testCase>
<testCase id="800833">
<class>Create_Workspace</class>
<desc>Creating new Workspace</desc>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase>
<testCase id="030101">
<class>Deploy_Object</class>
<desc>Deploy eNB (FDD/Band7/5MHz/B200) in a container</desc>
@@ -125,7 +132,12 @@
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase>
<testCase id="800834">
<class>Create_Workspace</class>
<desc>Creating new Workspace</desc>
<eNB_instance>1</eNB_instance>
<eNB_serverId>1</eNB_serverId>
</testCase>
<testCase id="030102">
<class>Deploy_Object</class>
<desc>Deploy gNB (TDD/Band78/40MHz/B200) in a container</desc>
@@ -29,7 +29,9 @@
111111
000222
001111
800813
002222
800814
002223
000111
100000
@@ -54,7 +56,12 @@
<desc>Initialize Quectel</desc>
<id>sphex_quectel</id>
</testCase>
<testCase id="800813">
<class>Create_Workspace</class>
<desc>Creating new Workspace for server 0</desc>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase>
<testCase id="002222">
<class>Deploy_Object</class>
<desc>Deploy PNF/Nvidia CUBB in a container</desc>
@@ -63,7 +70,12 @@
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase>
<testCase id="800814">
<class>Create_Workspace</class>
<desc>Creating new Workspace for server 0</desc>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase>
<testCase id="002223">
<class>Deploy_Object</class>
<desc>Deploy VNF in a container</desc>
@@ -28,6 +28,7 @@
<TestCaseRequestedList>
010000
001000
800813
020000
002000
002001
@@ -65,7 +66,12 @@
<oc_project>oaicicd-ran</oc_project>
<images_to_pull>oai-gnb-aw2s</images_to_pull>
</testCase>
<testCase id="800813">
<class>Create_Workspace</class>
<desc>Creating new Workspace</desc>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase>
<testCase id="020000">
<class>Deploy_Object</class>
<desc>Deploy gNB (TDD/Band78/20MHz/aw2s) in a container</desc>
@@ -29,6 +29,7 @@
100000
111111
010000
800813
030101
010001
050000
@@ -95,7 +96,12 @@
<desc>Detach UE</desc>
<id>idefix</id>
</testCase>
<testCase id="800813">
<class>Create_Workspace</class>
<desc>Creating new Workspace for server 0</desc>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase>
<testCase id="030101">
<class>Deploy_Object</class>
<desc>Deploy gNB (TDD/Band78/40MHz/B200) in a container</desc>
@@ -29,6 +29,7 @@
333333
300000
310000
800813
330101
330102
330103
@@ -77,7 +78,12 @@
<desc>Detach Quectel</desc>
<id>idefix</id>
</testCase>
<testCase id="800813">
<class>Create_Workspace</class>
<desc>Creating new Workspace</desc>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase>
<testCase id="330101">
<class>Deploy_Object</class>
<desc>Deploy gNB-CU-CP in a container</desc>
@@ -28,6 +28,7 @@
<TestCaseRequestedList>
100000
110002
800813
130101
130102
100001
@@ -79,7 +80,12 @@
<desc>Detach Quectel</desc>
<id>idefix</id>
</testCase>
<testCase id="800813">
<class>Create_Workspace</class>
<desc>Creating new Workspace</desc>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase>
<testCase id="130101">
<class>Deploy_Object</class>
<desc>Deploy gNB-CU in a container</desc>
@@ -88,7 +94,6 @@
<eNB_serverId>0</eNB_serverId>
<services>gnb_cu</services>
</testCase>
<testCase id="130102">
<class>Deploy_Object</class>
<desc>Deploy gNB-DU (FDD/Band1/10MHz/B200) in a container</desc>
@@ -29,6 +29,7 @@
100000
111111
010010
800813
040101
010001
051001
@@ -74,7 +75,12 @@
<desc>Detach UE</desc>
<id>up2</id>
</testCase>
<testCase id="800813">
<class>Create_Workspace</class>
<desc>Creating new Workspace</desc>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase>
<testCase id="040101">
<class>Deploy_Object</class>
<desc>Deploy gNB (TDD/Band77/100MHz/N310) in a container</desc>
@@ -29,6 +29,7 @@
100000
111111
010010
800813
030101
010001
050001
@@ -74,7 +75,12 @@
<desc>Detach UE</desc>
<id>up2</id>
</testCase>
<testCase id="800813">
<class>Create_Workspace</class>
<desc>Creating new Workspace</desc>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase>
<testCase id="030101">
<class>Deploy_Object</class>
<desc>Deploy gNB (TDD/Band77/60MHz/N310) in a container</desc>
@@ -27,7 +27,10 @@
<repeatCount>1</repeatCount>
<TestCaseRequestedList>
010000 010001
020000 020001
800813
020000
800814
020001
000001
001000
002000
@@ -64,7 +67,12 @@
<node>caracal</node>
<command>ssh root@192.168.20.2 reboot ; sleep 45</command>
</testCase>
<testCase id="800813">
<class>Create_Workspace</class>
<desc>Creating new Workspace</desc>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase>
<testCase id="020000">
<class>Deploy_Object</class>
<desc>Deploy gNB (TDD/Band78/40MHz/N310) in a container</desc>
@@ -72,7 +80,12 @@
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase>
<testCase id="800814">
<class>Create_Workspace</class>
<desc>Creating new Workspace</desc>
<eNB_instance>1</eNB_instance>
<eNB_serverId>1</eNB_serverId>
</testCase>
<testCase id="020001">
<class>Deploy_Object</class>
<desc>Deploy nrUE (TDD/Band78/40MHz/N310) in a container</desc>
@@ -29,6 +29,7 @@
300000
311111
210000
800813
230101
210001
250000
@@ -89,7 +90,12 @@
<desc>Detach UE</desc>
<id>idefix</id>
</testCase>
<testCase id="800813">
<class>Create_Workspace</class>
<desc>Creating new Workspace</desc>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase>
<testCase id="230101">
<class>Deploy_Object</class>
<desc>Deploy gNB (TDD/Band78/40MHz/B200) with SC-FDMA in a container</desc>
+5 -1
View File
@@ -25,10 +25,14 @@
<htmlTabName>CPPCHECK Analysis</htmlTabName>
<htmlTabIcon>wrench</htmlTabIcon>
<TestCaseRequestedList>
000002
000001
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase id="000002">
<class>Create_Workspace</class>
<desc>Creating new Workspace</desc>
</testCase>
<testCase id="000001">
<class>Cppcheck_Analysis</class>
<desc>Static Code Analysis with cppcheck</desc>