Skip to main content

eTDD framework

Project description

eTDD

Framework for Test-driven development (TDD) to support to isolate the unit code in C/C++.

Installing

Windows

Before to execute the test, you need to execute the option "Install CppUTest on ./tmp" in the tdd.menu(). It will download and compile the cpputest code.

You need to install also:

Linux

sudo apt install cmake libcpputest-dev cppcheck
sudo apt install doxygen graphviz

Example 1 - simplest example

from etdd import TDD

tdd = TDD()
tdd.download_from_git("https://github.com/neubertm/TDD_framework.git")

test = tdd.test("TDD_framework/TESTs/BitInverter_Tpkg/src/test.cpp", "BitInverter")
test.sut = ["TDD_framework/project/BitInverter/BitInverter.c", "TDD_framework/project/BitInverter/BitInverter.h"]
test.compile = ["BitInverter.c"]

tdd.menu()

Example 2 - with environment file

You can create the file tdd.py and execute it with the follow code:

from etdd import TDD, full_main

tdd = TDD(main=full_main, envpath="envpath.ini")
tdd.download_from_git("https://github.com/neubertm/TDD_framework.git")

tdd.cmake["CMAKE_C_FLAGS"] = "-g -O0 -coverage -lgcov "
tdd.cmake["CMAKE_CXX_FLAGS"] = "-g -O0 -coverage -lgcov "

# Test 1 - BitInverter
test = tdd.test("TDD_framework/TESTs/BitInverter_Tpkg/src/test.cpp", "BitInverter")
test.sut = ["TDD_framework/project/BitInverter/BitInverter.c", "TDD_framework/project/BitInverter/BitInverter.h"]
test.files = ["TDD_framework/TESTs/BitInverter_Tpkg/src/MemLeakDetection*.h"]
test.compile = ["BitInverter.c"]

# Open the menu in the console
tdd.menu()

envpath.ini

[CMAKE]
check=true
ENV_CONFIG_SCRIPT = /usr/bin/

[MINGW]
check=False
ENV_CONFIG_SCRIPT = /usr/bin/

[MSVC]
check=False
ENV_CONFIG_SCRIPT = /usr/bin/

[CLANG]
check=False
ENV_CONFIG_SCRIPT = /usr/bin/

[CPPCHECK]
check=False
ENV_CONFIG_SCRIPT = /usr/bin/

[CPPUMOCKGEN]
ENV_CONFIG_SCRIPT = /usr/bin/

Example 3 - Test Code

tdd.py

from etdd import TDD

tdd = TDD()
tdd.download_from_git("https://github.com/neubertm/TDD_framework.git")

# CHuaMaker Test
test = tdd.test("./test.cpp", "cHuamaker")
test.sut = ["TDD_framework/project/example_4/CHuamaker.cpp", "TDD_framework/project/example_4/CHuamaker.h"]
test.files = ["TDD_framework/project/example_4/CPrinter.h"]
test.compile = ["CHuamaker.cpp"]

tdd.menu()

./test.cpp

#include "CHuamaker.h"
#include "CPrinter.h"

/** @code CPrinter.cpp

#include "CPrinter.h"

void CPrinter::out(const char *cs_pText) {

}

*/

//CppUTest includes should be after your and system includes
#include "CppUTest/TestHarness.h"
#include "CppUTestExt/MockSupport.h"
#include "CppUTest/MemoryLeakDetectorNewMacros.h"

TEST_GROUP(CHuamaker)
{
  CHuamaker *cHuamaker;
  CPrinter *Printer;

  void setup()
  {
    cHuamaker = new CHuamaker();
	  Printer =  new CPrinter();
	
  }
  void teardown()
  {
    delete cHuamaker;
	  delete Printer;
	  mock().clear();
  }
};

/*
TEST(CHuamaker, Create)
{
  FAIL("Nemohu testovat hodnotu je private.");
}
*/
TEST(CHuamaker, PrinterNotSet)
{
  cHuamaker->makeHua(4);
  Printer->out("opa");
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

etdd-0.0.11.tar.gz (8.8 kB view details)

Uploaded Source

File details

Details for the file etdd-0.0.11.tar.gz.

File metadata

  • Download URL: etdd-0.0.11.tar.gz
  • Upload date:
  • Size: 8.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.6

File hashes

Hashes for etdd-0.0.11.tar.gz
Algorithm Hash digest
SHA256 f18db483ea40e979305f33b718d58c769ec5cb917287dc1d943b313aa3990314
MD5 723470cee285bd6fd5e9ae9440a58db1
BLAKE2b-256 fa1dab37840be63c37c3ced4fbf2910d7ca5e06d341676f3488a555d9c0395d3

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page