{"id":32998212,"url":"https://notroj.github.io/litmus/","last_synced_at":"2025-11-18T07:01:24.795Z","repository":{"id":92630227,"uuid":"275757464","full_name":"notroj/litmus","owner":"notroj","description":"WebDAV test suite.","archived":false,"fork":false,"pushed_at":"2025-06-30T12:57:09.000Z","size":661,"stargazers_count":19,"open_issues_count":4,"forks_count":4,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-06-30T13:37:18.627Z","etag":null,"topics":["rfc-2518","rfc-4918","webdav","webdav-protocol"],"latest_commit_sha":null,"homepage":"https://notroj.github.io/litmus/","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/notroj.png","metadata":{"files":{"readme":"README.md","changelog":"NEWS","contributing":null,"funding":null,"license":"COPYING","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":"2020-06-29T07:08:56.000Z","updated_at":"2025-06-19T01:52:42.000Z","dependencies_parsed_at":"2023-11-12T14:22:11.484Z","dependency_job_id":"51505107-4443-4579-972b-209272a68d22","html_url":"https://github.com/notroj/litmus","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/notroj/litmus","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/notroj%2Flitmus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/notroj%2Flitmus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/notroj%2Flitmus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/notroj%2Flitmus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/notroj","download_url":"https://codeload.github.com/notroj/litmus/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/notroj%2Flitmus/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":285020583,"owners_count":27101228,"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-11-18T02:00:05.759Z","response_time":61,"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":["rfc-2518","rfc-4918","webdav","webdav-protocol"],"created_at":"2025-11-13T13:00:23.110Z","updated_at":"2025-11-18T07:01:24.790Z","avatar_url":"https://github.com/notroj.png","language":"C","funding_links":[],"categories":["Command line tools"],"sub_categories":["Docker images"],"readme":"\n[![Build and test](https://github.com/notroj/litmus/actions/workflows/ci.yml/badge.svg)](https://github.com/notroj/litmus/actions/workflows/ci.yml)\n\n# litmus\n\n_litmus_ is a WebDAV server protocol compliance test suite.\n\nGitHub: https://github.com/notroj/litmus | Web: https://notroj.github.io/litmus/\n\nTests include:\n\n* OPTIONS for DAV: header\n* PUT, GET with byte comparison\n* MKCOL\n* DELETE (collections, non-collections)\n*   COPY, MOVE using combinations of:\n    *   overwrite t/f\n    *   destination exists/doesn't exist\n    *   collection/non-collection\n*   Property manipulation and querying:\n    *   set, delete, replace properties\n    *   persist dead props across COPY\n    *   namespace handling\n*   Locking\n    *   attempts to modify locked resource (as lock owner, not owner)\n    *   shared/exclusive locks\n    *   lock discovery\n    *   collection locking\n    *   lock refresh\n\nBugs, feature requests and patches can be sent in via the GitHub\nrepository: https://github.com/notroj/litmus\n\n## Usage\n\n_litmus_ comprises of a set of test suites as separate executables: each\nprogram takes a URL on the command-line, optionally followed by\nusername and password.  To run all the suites from a built _litmus_\ntree, use\n\n~~~\n $ make URL=http://dav.example.com/path/ check\n~~~\n\nWhere http://dav.example.com/path/ is a DAV-enabled collection.  _litmus_\nmust be able to create a new collection called `litmus` at that\nlocation.  The Makefile variable 'CREDS' can also be defined to be a\nusername/password separated by strings.  e.g. if you have a user 'jim'\ndefined with password '2518', use:\n\n~~~\n $ make URL=http://dav.example.com/path/ CREDS=\"jim 2518\" check\n~~~\n\nTo aid debugging, _litmus_ adds a header `X-Litmus` to every request\nmade, which includes metadata about the test being run. Some tests\nrequire a second session, for which requests will have a header named\n`X-Litmus-Second` instead.\n\nAfter running a test suite, the file `debug.log` includes a full neon\ndebugging trace (unless neon or _litmus_ was configured without\ndebugging enabled).\n\nTo use after installation is complete (`make install`), run the\n`litmus` script, passing in a URL, optionally followed by the\nusername/password.  For instance:\n\n~~~\n $ litmus http://dav.example.com/path/\n~~~\n\nor\n\n~~~\n $ litmus http://dav.example.com/path/ jim 2518\n~~~\n\n## Test options\n\nTo use a more compact output format, use the `--quiet` option. By\ndefault, _litmus_ uses colour in the output if the terminal is a\nTTY. To override the default, use either the `--colour` or\n`--no-colour` options to forcible enable or disable use of colour,\nrespectively.\n\nTo use an HTTP proxy server, pass the --proxy argument using an HTTP\nURI for the proxy server, for example:\n\n~~~\n $ litmus --proxy=http://proxy.example.com:3128 http://dav.example.com/path/ jim 2518\n~~~\n\nAlternatively, if `neon` is built to use the `libproxy` library\n(https://github.com/libproxy/libproxy), then the system-defined proxy\nenvironment can be used:\n\n~~~\n $ litmus --system-proxy http://dav.example.com/path/ jim 2518\n~~~\n\n## SSL/TLS\n\nSince version 0.17 _litmus_ trusts the default TLS CA certificates\nconfigured in the SSL library. If you want to run against a server\nwith a self-signed or otherwise untrusted server certificate, use the\n--insecure option, e.g.\n\n~~~\n $ litmus --insecure https://dav.example.com/path/\n~~~\n\n`litmus` can use a TLS client certificate, which must be provided in\nPKCS#12 format. e.g.:\n\n~~~\n $ litmus --client-cert=client.p12 https://dav.example.com/path/\n~~~\n\n## Copyright and licensing\n\nlitmus is licensed under the GNU GPL; see COPYING for full details.\n\n~~~\nlitmus is Copyright (C) 1999-2025 Joe Orton\n~~~\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/notroj.github.io%2Flitmus%2F","html_url":"https://awesome.ecosyste.ms/projects/notroj.github.io%2Flitmus%2F","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/notroj.github.io%2Flitmus%2F/lists"}