{"id":47584682,"url":"https://github.com/tomekw/testy","last_synced_at":"2026-04-02T16:01:08.919Z","repository":{"id":342038538,"uuid":"1171024036","full_name":"tomekw/testy","owner":"tomekw","description":"A test framework in Ada","archived":false,"fork":false,"pushed_at":"2026-03-12T10:23:59.000Z","size":19,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-12T17:10:04.230Z","etag":null,"topics":["ada","tada","testing-framework","unit-testing"],"latest_commit_sha":null,"homepage":"","language":"Ada","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"eupl-1.2","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tomekw.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-02T19:42:20.000Z","updated_at":"2026-03-12T10:24:03.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/tomekw/testy","commit_stats":null,"previous_names":["tomekw/testy"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/tomekw/testy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomekw%2Ftesty","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomekw%2Ftesty/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomekw%2Ftesty/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomekw%2Ftesty/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tomekw","download_url":"https://codeload.github.com/tomekw/testy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomekw%2Ftesty/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31309578,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-02T12:59:32.332Z","status":"ssl_error","status_checked_at":"2026-04-02T12:54:48.875Z","response_time":89,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["ada","tada","testing-framework","unit-testing"],"created_at":"2026-04-01T06:00:25.233Z","updated_at":"2026-04-02T16:01:08.912Z","avatar_url":"https://github.com/tomekw.png","language":"Ada","funding_links":[],"categories":["Frameworks"],"sub_categories":["Unit Test, Testing"],"readme":"# Testy [![Tests](https://github.com/tomekw/testy/actions/workflows/test.yml/badge.svg?branch=main)](https://github.com/tomekw/testy/actions/workflows/test.yml)\n\nA testing library in Ada. Part of [Tada](https://github.com/tomekw/tada).\n\n## Status\n\nThis is alpha software. I'm actively working it. YMMV.\n\nTested on Linux x86_64, MacOS ARM and Windows x86_64.\n\n## Usage\n\n``` ada\n--  tests/foo_tests.ads\nwith Testy.Tests;\n\npackage Foo_Tests is\n   use Testy.Tests;\n\n   procedure Foo_Starts_With_F (T : in out Test_Context);\n\n   procedure Foo_Raises (T : in out Test_Context);\nend Foo_Tests;\n```\n\n``` ada\n--  tests/foo_tests.adb\npackage body Foo_Tests is\n   function First_Letter (Foo : String) return Character is\n   begin\n      return Foo (Foo'First);\n   end First_Letter;\n\n   procedure Foo_Starts_With_F (T : in out Test_Context) is\n      Result : constant Character := First_Letter (\"Foo\");\n   begin\n      T.Expect (Result = 'F', \"expected 'F', got '\" \u0026 Result \u0026 \"'\");\n   end Foo_Starts_With_F;\n\n   procedure Foo is\n   begin\n      raise Constraint_Error with \"Foo raised\";\n   end Foo;\n\n   procedure Foo_Raises (T : in out Test_Context) is\n   begin\n      T.Expect_Raises (Foo'Access);\n      T.Expect_Raises (Foo'Access, Constraint_Error'Identity);\n      T.Expect_Raises (Foo'Access, Constraint_Error'Identity, \"Foo raised\");\n   end Foo_Raises;\nend Foo_Tests;\n```\n\n``` ada\n--  tests/tests_main.adb\nwith Testy.Runners;\nwith Testy.Reporters.Text;\n\nwith Foo_Tests;\n\nprocedure Tests_Main is\n   use Testy;\n\n   Test_Runner : Runners.Runner := Runners.Create;\n   Test_Reporter : Reporters.Text.Text_Reporter;\nbegin\n   Test_Runner.Add (\"Foo starts with F\", Foo_Tests.Foo_Starts_With_F'Access);\n   Test_Runner.Add (\"Foo raises\", Foo_Tests.Foo_Raises'Access);\n\n   Test_Runner.Run (Test_Reporter);\nend Tests_Main;\n```\n\n``` shell\n$ tada test\n\nRunning 2 tests...\n\n[PASS]: Foo starts with F\n[PASS]: Foo raises\n\nResults: 2 passed, 0 failed, 0 errors, 2 total.\n```\n\n## Disclaimer\n\nThis codebase is written by hand. Claude Code is used for Socratic design exploration and code review.\n\n## License\n\n[EUPL](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftomekw%2Ftesty","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftomekw%2Ftesty","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftomekw%2Ftesty/lists"}