{"id":21906127,"url":"https://github.com/evermake/stella-testing","last_synced_at":"2025-04-15T23:52:04.113Z","repository":{"id":221315686,"uuid":"752258090","full_name":"evermake/stella-testing","owner":"evermake","description":null,"archived":false,"fork":false,"pushed_at":"2024-04-06T09:28:50.000Z","size":4292,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-29T02:51:34.386Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://evermake.github.io/stella-testing/","language":"JavaScript","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/evermake.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":"2024-02-03T14:01:27.000Z","updated_at":"2025-03-26T18:33:04.000Z","dependencies_parsed_at":"2024-02-16T15:51:21.158Z","dependency_job_id":"436edf4a-c8e1-47de-9dda-b49baedd6f68","html_url":"https://github.com/evermake/stella-testing","commit_stats":null,"previous_names":["evermake/stella-testing"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evermake%2Fstella-testing","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evermake%2Fstella-testing/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evermake%2Fstella-testing/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evermake%2Fstella-testing/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/evermake","download_url":"https://codeload.github.com/evermake/stella-testing/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249173061,"owners_count":21224481,"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":[],"created_at":"2024-11-28T16:41:26.330Z","updated_at":"2025-04-15T23:52:04.096Z","avatar_url":"https://github.com/evermake.png","language":"JavaScript","readme":"# Stella testing utilities\n\n![Report Viewer Screenshot](./report-viewer/screenshot.png)\n\n## About\n\nScripts for testing Stella implementation for the \"Advanced Compilers Construction and Program Analysis\" course.\n\n## Usage\n\nTo test your implementation you need:\n\n1. **Prepare test files**: (already generated and located at `./tests` directory for you) `.stella` and `.stella.out` files containing output from the correct Stella implementation\n2. [**Generate report**: run your implementation across these test files and generate report in `.json` format](#generating-report)\n3. [**Explore report**: see the results](#exploring-report)\n\n### Generating report\n\nWhen you have your typechecker you can test it across test files and generate the report file.\n\nTo run typechecker you need to specify which command to run and path to the directory with tests.\n\nUsage:\n\n```\nUsage: node test-typechecker.js [options] \u003ctests-path\u003e\n\nTest your Stella typechecker implementation against a set of .stella files and save the results to a JSON file.\n\nArguments:\n  tests-path             path to directory with files to typecheck and .out files generated by correct Stella implementation\n\nOptions:\n  --cmd \u003ccommand\u003e\n  --args [arguments...]\n  -o, --out \u003cpath\u003e       path where to save typechecker results (default: \"./typechecker-report.json\")\n  -h, --help             display help for command\n```\n\nSome examples, how you can test your implementation and generate report:\n\n```sh\n# Run JavaScript typechecker with NodeJS\nnode ./build/test-typechecker.js --cmd node --args /path/to/stella/typechecker.js -o report.json ./tests\n\n# Run binary typechecker using NodeJS\nnode ./build/test-typechecker.js --cmd /path/to/typechecker -o report.json ./tests\n\n# Run binary typechecker with arguments using Bun\nbun run ./build/test-typechecker.js --cmd /path/to/typechecker --args some args -o report.json ./tests\n```\n\n### Exploring report\n\nRunning script above should produce a `report.json`. To see results, you have two options:\n\nOption 1. Go to [evermake.github.io/stella-testing/](https://evermake.github.io/stella-testing/), upload the generated `report.json` file, explore!\n\nOption 2. Or you can use terminal to print the summary:\n\n```sh\n# Using NodeJS\nnode ./build/print-report.js report.json\n\n# Using Bun\nbun run ./build/print-report.js report.json\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevermake%2Fstella-testing","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fevermake%2Fstella-testing","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevermake%2Fstella-testing/lists"}