{"id":28227296,"url":"https://github.com/maloleroy/confer","last_synced_at":"2026-05-01T19:31:55.548Z","repository":{"id":229363916,"uuid":"521454455","full_name":"maloleroy/confer","owner":"maloleroy","description":"🧪 A C/C++ unit testing library written in C, with no heap memory allocation! 🌳","archived":false,"fork":false,"pushed_at":"2025-06-17T20:59:14.000Z","size":1654,"stargazers_count":1,"open_issues_count":6,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-17T21:40:03.110Z","etag":null,"topics":["c","cpp","testing","unit-testing"],"latest_commit_sha":null,"homepage":"https://maloleroy.github.io/confer/","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/maloleroy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-08-05T00:29:46.000Z","updated_at":"2025-06-17T20:47:36.000Z","dependencies_parsed_at":"2025-02-17T19:34:39.378Z","dependency_job_id":"83538769-01d9-4729-8d3f-ca2c39595ea5","html_url":"https://github.com/maloleroy/confer","commit_stats":null,"previous_names":["firefnix/confer","maloleroy/confer"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/maloleroy/confer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maloleroy%2Fconfer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maloleroy%2Fconfer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maloleroy%2Fconfer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maloleroy%2Fconfer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maloleroy","download_url":"https://codeload.github.com/maloleroy/confer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maloleroy%2Fconfer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32510610,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"online","status_checked_at":"2026-05-01T02:00:05.856Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","cpp","testing","unit-testing"],"created_at":"2025-05-18T12:10:38.465Z","updated_at":"2026-05-01T19:31:55.541Z","avatar_url":"https://github.com/maloleroy.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"Confer\n======\n\nConfer is a C and C++ unit testing library written in C.\n\n## Features\n\nConfer comes with a number of tools and feaures out of the box.\n  -  20+ built-in assertions for most common types\n  -  Custom assertions\n  -  Fast build (...)\n  -  Extra-light library written in C, no dynamic memory allocation (hence no memory leaks)\n  -  A handy tool to manage projects and run tests (not compulsory)\n\n## Installation\n\nThe easiest way to install confer is with the install script:\n```bash\nbash \u003c(curl -sL https://url.viarezo.fr/cf)\n```\n\n## Preview\n\nCreate a project with `cf create my_project`. Now let's look at the example code:\n\n`src/my_project.c` contains a simple code using a function `add` declared in `include/add.h`\n```c\n#include \u003cstdio.h\u003e\n#include \u003cadd.h\u003e\n\nint main(void) {\n    printf(\"Hello world!\\n1 + 2 = %d\\n\", add(1, 2));\n    return 0;\n}\n```\n\nTo build the executable and run it, run `cf run`\n```\n$ cf run\n🔨 src/add.c -\u003e obj/add.o\n⚙ src/my_project.c obj/add.o -\u003e bin/my_project\nHello world!\n1 + 2 = 3\n```\n\n\u003e Here is the declaration of `add` in `include/add.h`:\n\u003e ```c\n\u003e int add(int a, int b);\n\u003e ```\n\nThis function is defined in `src/add.c`\n```c\n#include \u003cadd.h\u003e\n\nint add(int a, int b) {\n    return a + b;\n}\n```\n\nNow, we're getting to the interesting part: **the tests!** The `add` function is tested in `test/test.c`\n```c\n#include \u003cconfer.h\u003e\n#include \u003cadd.h\u003e\n\nvoid test_add(CFTEST) {\n    assert_int_equal(add(1, 2), 3);\n}\n\nint main(void) {\n    cf_init();\n\n    cf_test(test_add);\n\n    cf_print_call_tree();\n    return cf_return_code();\n}\n```\n\nHere, after calling the initialization function `cfInit`, the main function calls the subtest `test_add`, which has one assertion on the `add` function. The code ends by displaying the results, and returns an error exit code if some tests failed.\n\nTo run the tests, run `cf test`\n```\n🔨 src/add.c -\u003e obj/add.o\n✓ main\n└── ✓ test_add (1 ✓)\n```\n\nYou can nest subtests indefinitely, they will be displayed in a tree-like structure at the end of execution.\n\n## What next?\n\nTo know more about the library, we also recommend you visiting [Confer's official documentation on GitHub](https://maloleroy.github.io/confer/)!\n\n## Where can I get help?\n\nFeel free to open issues on the [Github Repo](https://github.com/maloleroy/confer), especially if\nyou did not find an answer to a question in our documentation.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaloleroy%2Fconfer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaloleroy%2Fconfer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaloleroy%2Fconfer/lists"}