Commits (2)
......@@ -56,7 +56,7 @@ class XzContainer(Archive):
class XzFile(File):
DESCRIPTION = "XZ compressed files"
CONTAINER_CLASSES = [XzContainer]
FILE_TYPE_RE = re.compile(r"^XZ compressed data$")
FILE_TYPE_RE = re.compile(r"^XZ compressed data\b")
# Work around file(1) Debian bug #876316
FALLBACK_FILE_EXTENSION_SUFFIX = {".xz"}
......
......@@ -24,6 +24,7 @@ import itertools
from ..utils.data import load_fixture, get_data
from ..utils.tools import (
skip_unless_tools_exist,
file_version_is_ge,
skip_unless_file_version_is_at_least,
)
......@@ -50,9 +51,18 @@ def set2(gzip2, bzip2, xz2):
def expected_magic_diff(ext1, ext2):
meta1 = get_data("containers/magic_%s" % ext1)
meta2 = get_data("containers/magic_%s" % ext2)
return "@@ -1 +1 @@\n" + "-" + meta1 + "+" + meta2
magic = {
"bzip2": "bzip2 compressed data, block size = 900k\n",
"gzip": "gzip compressed data, last modified: Sun Sep 10 22:19:44 2017, from Unix\n",
"xz": "XZ compressed data",
}
if "xz" in (ext1, ext2):
if file_version_is_ge("5.40"):
magic["xz"] += ", checksum CRC64\n"
else:
magic["xz"] += "\n"
return "@@ -1 +1 @@\n" + "-" + magic[ext1] + "+" + magic[ext2]
def expected_type_diff(ext1, ext2):
......
bzip2 compressed data, block size = 900k
gzip compressed data, last modified: Sun Sep 10 22:19:44 2017, from Unix