{"id":19530376,"url":"https://github.com/ir33k/walter","last_synced_at":"2025-04-17T14:14:04.136Z","repository":{"id":158808529,"uuid":"503119444","full_name":"ir33k/walter","owner":"ir33k","description":"Write unit tests in C with no boilerplate","archived":false,"fork":false,"pushed_at":"2025-01-27T19:11:51.000Z","size":125,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-29T06:11:23.238Z","etag":null,"topics":["c","library","testing"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ir33k.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2022-06-13T21:24:37.000Z","updated_at":"2025-01-27T19:11:55.000Z","dependencies_parsed_at":null,"dependency_job_id":"c6bb210a-343a-4c89-b307-3e020308ee56","html_url":"https://github.com/ir33k/walter","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ir33k%2Fwalter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ir33k%2Fwalter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ir33k%2Fwalter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ir33k%2Fwalter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ir33k","download_url":"https://codeload.github.com/ir33k/walter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249347325,"owners_count":21255148,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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","library","testing"],"created_at":"2024-11-11T01:31:27.761Z","updated_at":"2025-04-17T14:14:04.130Z","avatar_url":"https://github.com/ir33k.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"Walter\n======\n\nSingle header library for writing unit tests in C with fewer\ncomplications by avoiding boilerplate.\n\n\twalter.h        Library with full documentation and licence\n\tdemo/           Working demonstration test programs AKA examples\n\ttests.c         Unit tests for this library\n\tsnap/           Snapshots for tests.c library tests\n\tbuild           Script to build and run tests\n\nExpected to work on POSIX systems and NOT on Windows.\n\n\nExample\n-------\n\n```c\n// File: example.t.c\n#include \u003cstring.h\u003e             // Include your code\n#include \"walter.h\"             // Include Walter\n\nTEST(\"Test description\")        // Define test with assertions\n{\n\tOK(strlen(\"abc\") == 3); // Fail when not true\n\tSAME(\"abb\", \"abc\", 3);  // Fail when buffers of size 3 are different\n}\n\n// No main() function as it is already defined in walter.h\n```\n\nCompile and run:\n\n```sh\n$ cc -o example.t example.t.c\n$ ./example.t\n\tFirst incorrect byte at index: 2\n\t\"abb\"\n\t\"abc\"\nexample.t.c:8:\tSAME(\"abb\", \"abc\", 3)\nexample.t.c:5:\tTEST Test description\nexample.t.c\t1 fail\n```\n\nThis is example of default program output when second assertion failed\nat third character (index 2).  First you get the details about what\nwent wrong, then path to failed assertion, then path to failed test\nwith that assertion.  Lastly there is a summery of how many tests\nfailed in total.  By default when all tests pass there is no output.\nProgram exit code is a number of failed tests.\n\nFull documentation with longer example is in `walter.h`.  More working\nexamples can be found in `demo` directory.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fir33k%2Fwalter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fir33k%2Fwalter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fir33k%2Fwalter/lists"}