Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

135 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CCorrect

A python module to write, grade and provide feedback for exercices in C using gdb.

Documentation

Documentation for this project is currently only available by reading the docstrings in the source code.

A guide to porting an INGInious task using CTester to CCorrect is available here.

Features

  • Programmable function failures (don't execute function: immediately return)
    • change return value
    • change return args (pointer args)
    • set errno
  • Ban usage of some functions
  • Segfault crash report
    • Show backtrace with stack variables at the moment of the crash
    • Heap visualization at the moment of the crash?
  • Support execution timeout
  • Make an API that makes gdb's API easier and an API for writing tests
    • gdb.Value builder from python objects
      • build scalars, structs, arrays, enums, unions
      • build stucts with flexible array
    • call functions
      • variadic functions
    • Detect if tested code checks the return value of functions.
    • tests API
  • Threads support
    • keep track of number of threads
    • use libtsan's output
  • Memleak detection (libasan)
  • Inginious integration
  • CI
    • unit tests value builder
    • unit tests timeout
    • unit tests function call, watch and fail
    • unit tests for funccall parser
    • unit tests catch errors (SIGSEGV, SIGFPE, double free)
    • unit tests on different exercises (test on an expected results.yml)

About

A python module to write, grade and provide feedback for exercices in C using gdb.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Used by

Contributors

Languages