{"id":31578339,"url":"https://github.com/jayadamsmorgan/ltf","last_synced_at":"2026-04-18T17:37:33.500Z","repository":{"id":293165924,"uuid":"982495241","full_name":"jayadamsmorgan/LTF","owner":"jayadamsmorgan","description":"Testing \u0026 Automation Framework in Lua","archived":false,"fork":false,"pushed_at":"2025-09-29T16:40:19.000Z","size":2460,"stargazers_count":5,"open_issues_count":4,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-09-29T18:36:23.633Z","etag":null,"topics":["automation-framework","automation-test","harness","harness-framework","lua","robotframework","testing","testing-automation","testing-automation-framework","testing-framework","testing-library","testing-tools"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jayadamsmorgan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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":"2025-05-13T01:21:24.000Z","updated_at":"2025-09-23T16:21:36.000Z","dependencies_parsed_at":"2025-06-25T18:19:23.890Z","dependency_job_id":"728597ed-112b-42ce-8a7d-4f88a0f1577b","html_url":"https://github.com/jayadamsmorgan/LTF","commit_stats":null,"previous_names":["jayadamsmorgan/herness","jayadamsmorgan/taf","jayadamsmorgan/ltf"],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/jayadamsmorgan/LTF","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jayadamsmorgan%2FLTF","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jayadamsmorgan%2FLTF/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jayadamsmorgan%2FLTF/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jayadamsmorgan%2FLTF/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jayadamsmorgan","download_url":"https://codeload.github.com/jayadamsmorgan/LTF/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jayadamsmorgan%2FLTF/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278510917,"owners_count":25998997,"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","status":"online","status_checked_at":"2025-10-05T02:00:06.059Z","response_time":54,"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":["automation-framework","automation-test","harness","harness-framework","lua","robotframework","testing","testing-automation","testing-automation-framework","testing-framework","testing-library","testing-tools"],"created_at":"2025-10-05T19:56:56.143Z","updated_at":"2026-04-18T17:37:33.486Z","avatar_url":"https://github.com/jayadamsmorgan.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# LTF\n**A Modern Testing \u0026 Automation Framework in Lua**\n\n\u003c/div\u003e\n\nLTF is a framework for writing functional tests and automations (AT, ATDD, RPA, etc.) using the simple and powerful Lua programming language. It is designed for both developer and QA workflows, providing the tools needed for robust testing of APIs, web frontends, and external hardware.\n\nLeveraging the simplicity of Lua for test scripting and the raw performance of a C-based core engine, **LTF is a reliable, modern, and _blazingly fast_ testing framework.**\n\n## Key Features\n\n* **💻 Interactive Terminal UI:** Real-time, organized view of test execution, including progress, timings, and live log output.\n* **✍️ Simple \u0026 Expressive Syntax:** Define tests with a clear and minimal API (`ltf.test(...)`) that gets out of your way.\n* **📚 Batteries-Included Libraries:** Built-in modules for common automation tasks:\n  * **WebDriver:** Browser automation for end-to-end testing (`ltf.webdriver`).\n  * **HTTP Client:** Low-level HTTP client for API testing (`ltf.http`).\n  * **Process Management:** Run and interact with external command-line tools (`ltf.proc`).\n  * **Serial Communication:** Test embedded devices and hardware (`ltf.serial`).\n  * **SSH + SFTP:** Remote command execution and file transfer (`ltf.ssh`).\n  * **JSON Utilities:** Fast serialize/deserialize helpers (`ltf.json`).\n* **🏷️ Flexible Tagging System:** Categorize tests with tags and selectively run suites from the command line.\n* **🧹 Guaranteed Teardown:** Use `ltf.defer` to reliably clean up resources whether a test passes or fails.\n* **🗂️ Detailed Logging:** Human-readable output logs and machine-readable raw JSON logs for every run (ideal for CI, reporting, and tooling).\n\n\u003e [!IMPORTANT]\n\u003e\n\u003e **Please note that this is `alpha` release**.\n\u003e\n\u003e Most features are still in **experimental** state, though API and documented behavior will not change.\n\n## Overview\n\n![](overview.gif)\n\n## Quickstart\n\n### 1) Initialize a project\n\n```bash\nltf init my_project\ncd my_project\n````\n\n### 2) Write your first test\n\nCreate `tests/hello_world_test.lua`:\n\n```lua\nlocal ltf = require(\"ltf\")\n\nltf.test({\n  name = \"Hello World\",\n  tags = { \"smoke\" },\n  body = function()\n    ltf.log_info(\"Hello from LTF!\")\n  end,\n})\n```\n\n### 3) Run tests\n\n```bash\nltf test\n```\n\nRun only tagged tests:\n\n```bash\nltf test --tags smoke\n```\n\n\u003e Multi-target projects are supported via `ltf init --multitarget` and `ltf test \u003ctarget_name\u003e`.\n\n## Documentation\n\nAll documentation lives [here](https://jayadamsmorgan.github.io/LTF/).\n\n### Quick Links\n\n* **Getting Started:** [Project Setup \u0026 Your First Test](https://jayadamsmorgan.github.io/LTF/PROJECT_SETUP/)\n* **CLI Reference:** [Command-Line Usage](https://jayadamsmorgan.github.io/LTF/CLI/)\n* **Core Libraries:** [API Reference](https://jayadamsmorgan.github.io/LTF/LTF_LIBS/)\n\n### Key Concepts\n\n* [Logging System](https://jayadamsmorgan.github.io/LTF/TESTS/LOGGING/)\n* [Raw Log JSON Schema](https://jayadamsmorgan.github.io/LTF/raw_log_json_schema.json)\n* [The Tag System](https://jayadamsmorgan.github.io/LTF/TESTS/TAG_SYSTEM/)\n* [Test Variables](https://jayadamsmorgan.github.io/LTF/TESTS/TEST_VARIABLES/)\n* [Test Scenarios](https://jayadamsmorgan.github.io/LTF/TESTS/TEST_SCENARIOS/)\n* [Test Secrets](https://jayadamsmorgan.github.io/LTF/TESTS/TEST_SECRETS/)\n* [Hooks](https://jayadamsmorgan.github.io/LTF/HOOKS/HOOKS/)\n* [Test Teardown with `defer`](https://jayadamsmorgan.github.io/LTF/TESTS/TEST_TEARDOWN/)\n* [Test Overriding Behavior](https://jayadamsmorgan.github.io/LTF/TESTS/TEST_OVERRIDING/)\n* [Test Description](https://jayadamsmorgan.github.io/LTF/TESTS/TEST_DESCRIPTION/)\n\n## Installation\n\n### Build from source\n\nSee **[Build Instructions](./BUILD.md)**.\n\n## Contributing\n\nContributions are welcome — bug reports, feature requests, docs improvements, and PRs.\n\nIf you’re not sure where to start, open an issue with:\n\n* what you’re trying to do\n* your OS + LTF version (`ltf --version`)\n* a minimal repro (if it’s a bug)\n\nWe’d love to hear from you.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjayadamsmorgan%2Fltf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjayadamsmorgan%2Fltf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjayadamsmorgan%2Fltf/lists"}