Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

C++ Jenkins QA Stack / Tools

We are currently in the process of building a QA stack for you C++ development.

We already have multiple Jenkins instances running and made very good experiences with the CI server in combination with other languages like java and php.

What I'm asking for are pointers to tool chains that can be used for C++ Development with Jenkins.

More specific (java / php examples in braces):

  • A unit testing framework that test and produces coverage reports (jUnit / phpUnit)
  • A coding guidelines checker (checkstyle / phpCodeSniffer)
  • Something PMD that spots potential problems in a code base (pmd / phpmd)
  • More if applicable / needed, but those 3 would be the basics i guess?

Bounty edit:

While i got an acceptable answer to my question I was asked to provide more tools / options / reasons to use Jenkins for this project.

In the past I've made suboptimal experiences with commercial tools in this regard. (What? You want to SAVE! those reports? Then you need to buy the extra 10k Bucks/Year plugin that can generate fancy GRAPHS! for you.) I might be wrong here so please tell me if I am.

But mainly I'm looking for a full stack of tools to use with Jenkins for C++ development and QA

like image 338
edorian Avatar asked Sep 01 '11 14:09

edorian


People also ask

What is Jenkins in QA?

Jenkins is a popular CI orchestration tool. It provides numerous plugins for integration with multiple test automation tools and frameworks into the test pipeline. When it comes to Test Automation, Jenkins provides plugins that help run test suites, gather dashboard results, and provide details on failures.

What is Jenkins stack?

Jenkins is a self-contained, open source automation server built in Java. It sets up a continuous integration/continuous delivery (CI/CD) environment for software projects using pipelines and automates routine development tasks like building, testing, and deploying software.

What are Jenkins tools?

Jenkins is an open source continuous integration/continuous delivery and deployment (CI/CD) automation software DevOps tool written in the Java programming language. It is used to implement CI/CD workflows, called pipelines.

Which CI tools are used in Jenkins?

Jenkins is an open source automation server written in Java. It is used to continuously build and test software projects, enabling developers to set up a CI/CD environment. It also supports version control tools like Subversion, Git, Mercurial, and Maven.


1 Answers

We use Jenkins with C & C++. These are tools that we have used, and I think you may find useful. All of them are usable with Jenkins:

  • Unit Testing Framework - cppunit : outputs xml which can be fed directly into Jenkins using the cppunit plugin
  • Coverage : gcov + gcovr produces good coverage reports
  • Coding guidelines checker : you can use pclint & the warnings plugin for this.
  • Mess Detector : Not sure what you mean by mess here, but we are using PMD/CPD for code duplication checking and NSIQ for complexity and LOC

We also use cppcheck for static analysis.

Hope that helps!

like image 106
Sagar Avatar answered Sep 24 '22 18:09

Sagar