shimpz-cli 0.4.2

Fast local tooling for Shimpz Assistants
{
  "version": 1,
  "cases": [
    {
      "name": "minimum",
      "valid": true,
      "entries": [
        {"path": "icon.png", "type": "regular_file", "base64": "iVBORw0KGgoAAAANSUhEUgAABAAAAAQAAQAAAABXZhYuAAAAlklEQVR42u3BAQEAAACCIP+vbkhAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADvBgQeAAEN3jhkAAAAAElFTkSuQmCC"},
        {"path": "shimpz.toml", "type": "regular_file", "text": "spec = 1\n"},
        {"path": "pyproject.toml", "type": "regular_file", "text": "[project]\nname = \"hello\"\n"},
        {"path": "actions/hello.py", "type": "regular_file", "text": "async def run():\n    return \"hello\"\n"}
      ],
      "sha256": "c07c74a30c42fd30f25bf956cab21860631a2b6693931887510e182129afbfde"
    },
    {
      "name": "portable_ascii",
      "valid": true,
      "entries": [
        {"path": "icon.png", "type": "regular_file", "base64": "iVBORw0KGgoAAAANSUhEUgAABAAAAAQAAQAAAABXZhYuAAAAlklEQVR42u3BAQEAAACCIP+vbkhAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADvBgQeAAEN3jhkAAAAAElFTkSuQmCC"},
        {"path": "shimpz.toml", "type": "regular_file", "text": ""},
        {"path": "pyproject.toml", "type": "regular_file", "text": ""},
        {"path": "actions/Hello_world-1.py", "type": "regular_file", "text": ""},
        {"path": "lib/pkg.name/__init__.py", "type": "regular_file", "text": ""},
        {"path": "tests/test-hello_world.py", "type": "regular_file", "text": ""}
      ],
      "sha256": "504dd48ad8219067a6decb7dad53b085e3e5f80455833df9aee377ace6edb0b5"
    },
    {
      "name": "maximum_depth",
      "valid": true,
      "entries": [
        {"path": "icon.png", "type": "regular_file", "base64": "iVBORw0KGgoAAAANSUhEUgAABAAAAAQAAQAAAABXZhYuAAAAlklEQVR42u3BAQEAAACCIP+vbkhAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADvBgQeAAEN3jhkAAAAAElFTkSuQmCC"},
        {"path": "shimpz.toml", "type": "regular_file", "text": ""},
        {"path": "pyproject.toml", "type": "regular_file", "text": ""},
        {"path": "actions/hello.py", "type": "regular_file", "text": ""},
        {"path": "lib/a/b/c/d/e/f/g/h/i/j/k/l/m/n/deep.py", "type": "regular_file", "text": "deep = True\n"}
      ],
      "sha256": "09e0332034c3a94430daa750fbbc7fb541307fb5c88b772962ced3f19642b96f"
    },
    {
      "name": "split_path_256_bytes",
      "valid": true,
      "entries": [
        {"path": "icon.png", "type": "regular_file", "base64": "iVBORw0KGgoAAAANSUhEUgAABAAAAAQAAQAAAABXZhYuAAAAlklEQVR42u3BAQEAAACCIP+vbkhAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADvBgQeAAEN3jhkAAAAAElFTkSuQmCC"},
        {"path": "shimpz.toml", "type": "regular_file", "text": ""},
        {"path": "pyproject.toml", "type": "regular_file", "text": ""},
        {"path": "actions/hello.py", "type": "regular_file", "text": ""},
        {
          "path": "lib/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc.py",
          "type": "regular_file",
          "text": ""
        }
      ],
      "expected_ustar": {
        "path": "lib/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc.py",
        "prefix": "lib/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
        "name": "ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc.py"
      },
      "sha256": "41c47aefbfec8e7af1f60cd5949a937de0fc9e548be76630e8567dc7174b7dff"
    },
    {
      "name": "non_ascii",
      "valid": false,
      "error": "non_ascii_path",
      "entries": [
        {"path": "shimpz.toml", "type": "regular_file", "text": ""},
        {"path": "pyproject.toml", "type": "regular_file", "text": ""},
        {"path": "actions/hello.py", "type": "regular_file", "text": ""},
        {"path": "lib/café.py", "type": "regular_file", "text": ""}
      ]
    },
    {
      "name": "case_collision",
      "valid": false,
      "error": "case_collision",
      "entries": [
        {"path": "shimpz.toml", "type": "regular_file", "text": ""},
        {"path": "pyproject.toml", "type": "regular_file", "text": ""},
        {"path": "actions/hello.py", "type": "regular_file", "text": ""},
        {"path": "lib/Hello.py", "type": "regular_file", "text": ""},
        {"path": "lib/hello.py", "type": "regular_file", "text": ""}
      ]
    },
    {
      "name": "basename_101_bytes",
      "valid": false,
      "error": "ustar_name_too_long",
      "entries": [
        {"path": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "type": "regular_file", "text": ""}
      ]
    },
    {
      "name": "unencodable_ustar_path",
      "valid": false,
      "error": "ustar_prefix_too_long",
      "entries": [
        {"path": "lib/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/b.py", "type": "regular_file", "text": ""}
      ]
    },
    {
      "name": "nested_action",
      "valid": false,
      "error": "nested_action",
      "entries": [
        {"path": "shimpz.toml", "type": "regular_file", "text": ""},
        {"path": "pyproject.toml", "type": "regular_file", "text": ""},
        {"path": "actions/nested/hello.py", "type": "regular_file", "text": ""}
      ]
    },
    {
      "name": "symlink",
      "valid": false,
      "error": "special_file",
      "entries": [
        {"path": "lib/link.py", "type": "symlink", "target": "../outside.py"}
      ]
    },
    {
      "name": "hardlink",
      "valid": false,
      "error": "special_file",
      "entries": [
        {"path": "lib/link.py", "type": "hardlink", "target": "lib/real.py"}
      ]
    },
    {
      "name": "absolute_path",
      "valid": false,
      "error": "absolute_path",
      "entries": [
        {"path": "/etc/passwd", "type": "regular_file", "text": ""}
      ]
    },
    {
      "name": "traversal",
      "valid": false,
      "error": "traversal",
      "entries": [
        {"path": "lib/../escape.py", "type": "regular_file", "text": ""}
      ]
    },
    {
      "name": "fifo",
      "valid": false,
      "error": "special_file",
      "entries": [
        {"path": "lib/pipe", "type": "fifo"}
      ]
    },
    {
      "name": "character_device",
      "valid": false,
      "error": "special_file",
      "entries": [
        {"path": "lib/tty", "type": "character_device"}
      ]
    },
    {
      "name": "block_device",
      "valid": false,
      "error": "special_file",
      "entries": [
        {"path": "lib/disk", "type": "block_device"}
      ]
    },
    {
      "name": "socket",
      "valid": false,
      "error": "special_file",
      "entries": [
        {"path": "lib/service.sock", "type": "socket"}
      ]
    },
    {
      "name": "single_file_oversize",
      "valid": false,
      "error": "single_file_too_large",
      "entries": [
        {"path": "icon.png", "type": "regular_file", "base64": "iVBORw0KGgoAAAANSUhEUgAABAAAAAQAAQAAAABXZhYuAAAAlklEQVR42u3BAQEAAACCIP+vbkhAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADvBgQeAAEN3jhkAAAAAElFTkSuQmCC"},
        {"path": "shimpz.toml", "type": "regular_file", "text": ""},
        {"path": "pyproject.toml", "type": "regular_file", "text": ""},
        {"path": "actions/hello.py", "type": "regular_file", "repeat": {"byte": "x", "count": 8388609}}
      ]
    },
    {
      "name": "package_oversize",
      "valid": false,
      "error": "package_too_large",
      "entries": [
        {"path": "icon.png", "type": "regular_file", "base64": "iVBORw0KGgoAAAANSUhEUgAABAAAAAQAAQAAAABXZhYuAAAAlklEQVR42u3BAQEAAACCIP+vbkhAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADvBgQeAAEN3jhkAAAAAElFTkSuQmCC"},
        {"path": "shimpz.toml", "type": "regular_file", "repeat": {"byte": "a", "count": 8388608}},
        {"path": "pyproject.toml", "type": "regular_file", "repeat": {"byte": "b", "count": 8388608}},
        {"path": "actions/hello.py", "type": "regular_file", "repeat": {"byte": "c", "count": 8388608}},
        {"path": "lib/data.bin", "type": "regular_file", "repeat": {"byte": "d", "count": 8388608}}
      ]
    },
    {
      "name": "file_count_oversize",
      "valid": false,
      "error": "file_count_exceeded",
      "entries": [
        {"path": "icon.png", "type": "regular_file", "base64": "iVBORw0KGgoAAAANSUhEUgAABAAAAAQAAQAAAABXZhYuAAAAlklEQVR42u3BAQEAAACCIP+vbkhAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADvBgQeAAEN3jhkAAAAAElFTkSuQmCC"},
        {"path": "shimpz.toml", "type": "regular_file", "text": ""},
        {"path": "pyproject.toml", "type": "regular_file", "text": ""},
        {"path": "actions/hello.py", "type": "regular_file", "text": ""}
      ],
      "generate": [
        {"root": "tests", "prefix": "case-", "suffix": ".py", "start": 0, "count": 9997, "width": 5, "text": ""}
      ]
    },
    {
      "name": "depth_oversize",
      "valid": false,
      "error": "path_too_deep",
      "entries": [
        {"path": "lib/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/deep.py", "type": "regular_file", "text": ""}
      ]
    },
    {
      "name": "path_oversize",
      "valid": false,
      "error": "path_too_long",
      "entries": [
        {"path": "lib/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccc.py", "type": "regular_file", "text": ""}
      ]
    },
    {
      "name": "extra_root",
      "valid": false,
      "error": "unknown_root",
      "entries": [
        {"path": "shimpz.toml", "type": "regular_file", "text": ""},
        {"path": "pyproject.toml", "type": "regular_file", "text": ""},
        {"path": "actions/hello.py", "type": "regular_file", "text": ""},
        {"path": "README.md", "type": "regular_file", "text": ""}
      ]
    },
    {
      "name": "missing_icon",
      "valid": false,
      "error": "missing_required_file",
      "entries": [
        {"path": "shimpz.toml", "type": "regular_file", "text": ""},
        {"path": "pyproject.toml", "type": "regular_file", "text": ""},
        {"path": "actions/hello.py", "type": "regular_file", "text": ""}
      ]
    },
    {
      "name": "icon_oversize",
      "valid": false,
      "error": "icon_too_large",
      "entries": [
        {"path": "icon.png", "type": "regular_file", "repeat": {"byte": "x", "count": 1048577}},
        {"path": "shimpz.toml", "type": "regular_file", "text": ""},
        {"path": "pyproject.toml", "type": "regular_file", "text": ""},
        {"path": "actions/hello.py", "type": "regular_file", "text": ""}
      ]
    },
    {
      "name": "icon_wrong_dimensions",
      "valid": false,
      "error": "invalid_icon",
      "entries": [
        {"path": "icon.png", "type": "regular_file", "base64": "iVBORw0KGgoAAAANSUhEUgAAAgAAAAIAAQAAAADcA+lXAAAANklEQVR42u3BAQEAAACCIP+vbkhAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8G4IAAAFjdVCkAAAAAElFTkSuQmCC"},
        {"path": "shimpz.toml", "type": "regular_file", "text": ""},
        {"path": "pyproject.toml", "type": "regular_file", "text": ""},
        {"path": "actions/hello.py", "type": "regular_file", "text": ""}
      ]
    },
    {
      "name": "icon_missing_ihdr",
      "valid": false,
      "error": "invalid_icon",
      "entries": [
        {"path": "icon.png", "type": "regular_file", "base64": "iVBORw0KGgoAAAAASURBVDWvBh4AAAAASUVORK5CYII="},
        {"path": "shimpz.toml", "type": "regular_file", "text": ""},
        {"path": "pyproject.toml", "type": "regular_file", "text": ""},
        {"path": "actions/hello.py", "type": "regular_file", "text": ""}
      ]
    },
    {
      "name": "animated_icon",
      "valid": false,
      "error": "animated_icon",
      "entries": [
        {"path": "icon.png", "type": "regular_file", "base64": "iVBORw0KGgoAAAANSUhEUgAABAAAAAQAAQAAAABXZhYuAAAACGFjVEwAAAABAAAAALQt6aAAAACWSURBVHja7cEBAQAAAIIg/69uSEABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO8GBB4AAQ3eOGQAAAAASUVORK5CYII="},
        {"path": "shimpz.toml", "type": "regular_file", "text": ""},
        {"path": "pyproject.toml", "type": "regular_file", "text": ""},
        {"path": "actions/hello.py", "type": "regular_file", "text": ""}
      ]
    },
    {
      "name": "icon_bad_crc",
      "valid": false,
      "error": "invalid_icon",
      "entries": [
        {"path": "icon.png", "type": "regular_file", "base64": "iVBORw0KGgoAAAANSUhEUgAABAAAAAQAAQAAAABXZhYuAAAAlklEQVR42u3BAQEAAACCIP+vbkhAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADvBgQeAAEN3jhkAAAAAElFTkWuQmCC"},
        {"path": "shimpz.toml", "type": "regular_file", "text": ""},
        {"path": "pyproject.toml", "type": "regular_file", "text": ""},
        {"path": "actions/hello.py", "type": "regular_file", "text": ""}
      ]
    },
    {
      "name": "missing_manifest",
      "valid": false,
      "error": "missing_required_file",
      "entries": [
        {"path": "icon.png", "type": "regular_file", "base64": "iVBORw0KGgoAAAANSUhEUgAABAAAAAQAAQAAAABXZhYuAAAAlklEQVR42u3BAQEAAACCIP+vbkhAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADvBgQeAAEN3jhkAAAAAElFTkSuQmCC"},
        {"path": "pyproject.toml", "type": "regular_file", "text": ""},
        {"path": "actions/hello.py", "type": "regular_file", "text": ""}
      ]
    },
    {
      "name": "missing_pyproject",
      "valid": false,
      "error": "missing_required_file",
      "entries": [
        {"path": "icon.png", "type": "regular_file", "base64": "iVBORw0KGgoAAAANSUhEUgAABAAAAAQAAQAAAABXZhYuAAAAlklEQVR42u3BAQEAAACCIP+vbkhAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADvBgQeAAEN3jhkAAAAAElFTkSuQmCC"},
        {"path": "shimpz.toml", "type": "regular_file", "text": ""},
        {"path": "actions/hello.py", "type": "regular_file", "text": ""}
      ]
    },
    {
      "name": "missing_action",
      "valid": false,
      "error": "missing_action",
      "entries": [
        {"path": "icon.png", "type": "regular_file", "base64": "iVBORw0KGgoAAAANSUhEUgAABAAAAAQAAQAAAABXZhYuAAAAlklEQVR42u3BAQEAAACCIP+vbkhAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADvBgQeAAEN3jhkAAAAAElFTkSuQmCC"},
        {"path": "shimpz.toml", "type": "regular_file", "text": ""},
        {"path": "pyproject.toml", "type": "regular_file", "text": ""}
      ]
    }
  ]
}