wiki:Projects/GSoC/TestingReview

Version 14 (modified by Xiaochen Pan, on Jul 8, 2012 at 7:24:31 AM) (diff)

/* Selection Criteria */

TestingReview

Unit Testing Framework Reviews

CMock

CMock is a highly automated testing framework based on Unity, a unit testing framework.

{| class="wikitable"

! xUnit ! Mock ! Test Generator ! RTEMS tests ! XML output

| Yes | Yes | Yes | Support | No

|}

  • Lisense: MIT License
  • Programming Language: C
  • Projects:
  • Maintainership:
    • 3 Core Developers: Mike Karlesky, Mark VanderVoord?, Greg Williams
    • Community(according to their website): 5 Contributors, 16 Bug Finders, 4 Mentors, 2 Porters, no estimation of users provided.

Cmockery

Cmockery is a lightweight and highly portable unit testing framework with minimum conflicts with standard C library headers.

{| class="wikitable"

! xUnit ! Mock ! Test Generator ! RTEMS tests ! XML output

| No | Yes | No | Support | No

|}

  • License: Apache License 2.0
  • Programming Language: C
  • Projects:
    • Latest download count: 4618
  • Maintainership:
    • 4 Core Developers
    • Last release time: Sep 2008
    • Expected update: Cmockery 0.1.3
    • Community(Estimated): 93 users

Test-dept

TestDept? is unit testing framework providing stubing capabilities.

{| class="wikitable"

! xUnit ! Mock ! Test Generator ! RTEMS tests ! XML output

| Yes | Stub | Yes | Support | No

|}

  • License: GNU GPL v3
  • Programming Language: C, Assembly
  • Projects:
    • Latest Download count: 231
  • Maintainership:
    • 2 Core Developer
    • Last Update Date: Nov 2010
    • Update Frequency before Nov 2010: every four month
    • Community(Estimated): 14 users

AceUnit

AceUnit? is a simple unit testing framework based on CUnit and EmbUnit?.

{| class="wikitable"

! xUnit ! Mock ! Test Generator ! RTEMS tests ! XML output

| Yes | No | Yes | Support | No

|}

  • License: BSD
  • Programming Language: C
  • Projects:
    • Download count: 13 downloads last week
  • Maintainership:
    • 2 Core Developers
    • Last update date: 2009-9-30

Google Test and Google Mock

Google Tests is unit testing framework conforming to xUnit architecture. Google Mock is a library that can be used to provide mocking functionality to other C++ testing frameworks as well. They can be used in combination for host based testing with powerful functionalities they provide.

{| class="wikitable"

! xUnit ! Mock ! Test Generator ! RTEMS tests ! XML output

| Yes | Yes | No | Not support | Yes

|}

  • License: New BSD license
  • Programming Language: C++
  • Projects:
    • Download count: 86347 for Google Test, 30548 for Google Mock.
  • Maintainership:
    • Core Developers: 11 for Google Test, 9 for Google Mock
    • Community: 1655 users for Google Test, 673 for Google Mock.
    • Latest update date: Apr 2011

Check

Check is simple unit testing framework for test-driven development. {| class="wikitable"

! xUnit ! Mock ! Test Generator ! RTEMS tests ! XML output

| Yes | No | No | Not Support | Yes

|}

CU

CU is a lightweight and simple unit testing framework suited for host-based testing with enriched set of assertions. {| class="wikitable"

! xUnit ! Mock ! Test Generator ! RTEMS tests ! XML output

| Yes | No | No | Not Support | Yes

|}

  • License: GNU Lesser General Public License v3
  • Programming Language: C
  • Projects:
  • Maintainership:
    • 1 Core Developer: Daniel Fiser
    • Last update date: 2010-9-14

CxxTest

CxxTest? is a unit testing framework in C++ with xUnit architecture. {| class="wikitable"

! xUnit ! Mock ! Test Generator ! RTEMS tests ! XML output

| Yes | Yes | Yes | Not Support | Yes

|}

  • License: LGPL v2
  • Programming Language: C++
  • Projects:
    • Download count: 114 downloads last week
  • Maintainership:
    • Current Version: CxxTest? 4.0
    • 4 Core Developers
    • Last update date: 2012-1-7

CuTest

CuTest? is very simple unit testing framework. {| class="wikitable"

! xUnit ! Mock ! Test Generator ! RTEMS tests ! XML output

| Yes | No | No | Not Support | No

|}

  • License: GPL v2
  • Programming Language: C
  • Projects:
    • Download count: 56 downloads last week
  • Maintainership:
    • 1 Core Developer
    • Last update date: 2010-7-22

EmbUnit

EmbUnit? is unit testing framework for embedded software. {| class="wikitable"

! xUnit ! Mock ! Test Generator ! RTEMS tests ! XML output

| Yes | No | No | Support | Yes

|}

  • License: MIT
  • Programming language C
  • Projects:
    • Download count: 25 last week.
  • Maintainership:
    • Core Developers: 2
    • Last updated date: 2004-2-10
    • A bad review on sourceforge saying that a bug has not been fixed for a long time.

Comparison Note

The RTEMS based tests are carried out with BSP=sis and CPU=sparc. For other CPUs and BSPs, further RTEMS based testing of converted current test suites would be simulated in future with the selected framework.