Giter Club home page Giter Club logo

lassert's People

Contributors

klevh avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

lassert's Issues

Adding malloc / free count

Adding a way to count each allocated pointer (which could be associated with a string) and show, at the end of the program which pointer was not freed

windows, auto main, multiple files, sections might generate error "already defined"

On windows, using mode auto main, if the nth section of a file is on the same line as the nth section of another one, it will generate an error as both functions will have the same name. On unix, the problem do not occure as methods are statics.
Putting them static on windows make it fails as they are loaded as "before main behavior" using a pragma / declspec trick

Add other console outputs

Enable the output to be customized:

  • reduced output (percentage of test cases passed in each test section)
  • minimal output (percentage of test sections succeeded)
  • JUnit like xml for jenkins support

UPDATE DOC

update doc with all those features (when they are finished):

  • windows compatibility
  • parameters to exe generated with auto main
  • multi type output

Makes EPSILON configurable

Do so EPSILON used for floating point comparison is configurable

  • by macro
  • by command parameter
    And update documentation (README + help shown by command) accordingly

Random seed configuration

Be able to configure a random seed with a macro (compile time), using a parameter and in the code at runtime (re running random initialization)

Add CHECK macro

CHECK macro do the same thing as REQUIRE but does not break the test flow (the following tests will still be executed, even on failure)

Add info macros

Add an INFO macro with the following behavior :

  • prints with color (INFO, WARNING, ERROR, ...) only when the containing test case or test section fails
  • same but only if the FOLLOWING assertion fails

Add return code

Make so that RUN_SECTION and the auto main returns a non null value on failure and a null value on success

Add event functions

Add functions that are automatically called on certain events:

  • on section begin / end
  • on test case begin / end
  • on assertion failure

Add performance test tools

Adding performance test tools to either compare algorithms or check that their is no regression in duration

Adding parameters to executable

Add parameters when using automatic main to activate / deactivate some functionalities using arguments instead of macros (while leaving the macro behavior)
Some functionalities to set:

  • color / no color
  • timer
  • ...

Add CI

Add CI for multiple compilers:

  • On Unix:
    • gcc
    • clang
    • g++
    • clang++
    • cc
  • On Windows:
    • msvc
    • msvc++
    • cygwin

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.