[Debian-med-packaging] Bug#1136272: trixie-pu: package pydicom/2.4.3-2+deb13u1

Karsten Schöke karsten.schoeke at geobasis-bb.de
Mon May 11 11:43:11 BST 2026


Package: release.debian.org
Severity: normal
Tags: trixie
X-Debbugs-Cc: pydicom at packages.debian.org
Control: affects -1 + src:pydicom
User: release.debian.org at packages.debian.org
Usertags: pu

Fix CVE-2026-32711 for trixie.
A crafted DICOMDIR could create a path traversal by setting
ReferencedFileID to a path outside the File-set root.


[ Checklist ]
  [*] *all* changes are documented in the d/changelog
  [*] I reviewed all changes and I approve them
  [*] attach debdiff against the package in (old)stable
  [*] the issue is verified as fixed in unstable

[ Changes ]
I backported the upstream patch from the 2.4.5 release.
Additionally, the test dependency `python3-pyfakefs`
had to be added to the control file.
-------------- next part --------------
diff --git a/debian/changelog b/debian/changelog
index c47a75b..63dd258 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,12 +1,10 @@
-pydicom (2.4.3-2) unstable; urgency=medium
+pydicom (2.4.3-1+deb13u1) trixie; urgency=high
 
   * Team upload.
-  * skip-i386-incapable-tests.patch: new patch.
-    This works around test failures on 32-bit platforms. (Closes: #1103137)
-  * d/patches/*: normalize Last-Update timestamps.
-  * d/control: declare compliance to standards version 4.7.2.
+  * Fix CVE-2026-32711
+    FileSet/DICOMDIR path traversal vulnerability
 
- -- ?tienne Mollier <emollier at debian.org>  Mon, 14 Apr 2025 23:30:28 +0200
+ -- Karsten Sch?ke <karsten.schoeke at geobasis-bb.de>  Mon, 11 May 2026 09:40:34 +0200
 
 pydicom (2.4.3-1) unstable; urgency=medium
 
diff --git a/debian/control b/debian/control
index 675f184..991c132 100644
--- a/debian/control
+++ b/debian/control
@@ -14,6 +14,7 @@ Build-Depends: debhelper-compat (= 13),
                python3-numpy,
                python3-docutils,
                python3-pil,
+               python3-pyfakefs,
                python3-sphinx,
                python3-sphinx-gallery (>= 0.10.1-4~),
                python3-sphinx-rtd-theme,
diff --git a/debian/patches/deb_no_unicode b/debian/patches/deb_no_unicode
index ff86d70..a568ab7 100644
--- a/debian/patches/deb_no_unicode
+++ b/debian/patches/deb_no_unicode
@@ -1,12 +1,32 @@
 From: Yaroslav Halchenko <debian at onerussian.com>
-Subject: Disable Unicode filenames handling 
- Unicode+Python in a minimal debian env without locales
- configured and code insisting on non-ascii encodable filenames
- is the task for masocists.. thus  cheated for today
+Date: Mon, 11 May 2026 10:53:29 +0200
+Subject: Disable Unicode filenames handling Unicode+Python in a minimal
+ debian env without locales configured and code insisting on non-ascii
+ encodable filenames is the task for masocists.. thus  cheated for today
+
 Bug-Debian: http://bugs.debian.org/
 Bug-Ubuntu: https://launchpad.net/bugs/
 Last-Update: 2018-06-25
+---
+ pydicom/tests/test_filereader.py      | 2 +-
+ pydicom/tests/test_gdcm_pixel_data.py | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
 
+diff --git a/pydicom/tests/test_filereader.py b/pydicom/tests/test_filereader.py
+index 5461959..001a507 100644
+--- a/pydicom/tests/test_filereader.py
++++ b/pydicom/tests/test_filereader.py
+@@ -112,7 +112,7 @@ class TestReader:
+         assert empty_number_tags_ds.VectorGridData is None
+ 
+     def test_UTF8_filename(self):
+-        utf8_filename = os.path.join(tempfile.gettempdir(), "?????.dcm")
++        utf8_filename = os.path.join(tempfile.gettempdir(), "DICOM.dcm")
+         shutil.copyfile(rtdose_name, utf8_filename)
+         ds = dcmread(utf8_filename)
+         os.remove(utf8_filename)
+diff --git a/pydicom/tests/test_gdcm_pixel_data.py b/pydicom/tests/test_gdcm_pixel_data.py
+index bc8dd2a..2426753 100644
 --- a/pydicom/tests/test_gdcm_pixel_data.py
 +++ b/pydicom/tests/test_gdcm_pixel_data.py
 @@ -99,7 +99,7 @@ save_dir = os.getcwd()
@@ -27,14 +47,3 @@ Last-Update: 2018-06-25
          shutil.copyfile(jpeg_ls_lossless_name, unicode_filename)
          yield unicode_filename
          os.remove(unicode_filename)
---- a/pydicom/tests/test_filereader.py
-+++ b/pydicom/tests/test_filereader.py
-@@ -112,7 +112,7 @@ class TestReader:
-         assert empty_number_tags_ds.VectorGridData is None
- 
-     def test_UTF8_filename(self):
--        utf8_filename = os.path.join(tempfile.gettempdir(), "?????.dcm")
-+        utf8_filename = os.path.join(tempfile.gettempdir(), "DICOM.dcm")
-         shutil.copyfile(rtdose_name, utf8_filename)
-         ds = dcmread(utf8_filename)
-         os.remove(utf8_filename)
diff --git a/debian/patches/fix-for-FileSet-DICOMDIR-path-traversal-vulnerabilit.patch b/debian/patches/fix-for-FileSet-DICOMDIR-path-traversal-vulnerabilit.patch
new file mode 100644
index 0000000..ed59c22
--- /dev/null
+++ b/debian/patches/fix-for-FileSet-DICOMDIR-path-traversal-vulnerabilit.patch
@@ -0,0 +1,573 @@
+From: =?utf-8?q?Karsten_Sch=C3=B6ke?= <karsten.schoeke at geobasis-bb.de>
+Date: Mon, 11 May 2026 10:55:32 +0200
+Subject: Fix for FileSet/DICOMDIR path traversal vulnerability
+ (CVE-2026-32711)
+
+Forwarded: not-needed
+---
+ pydicom/fileset.py            | 152 ++++++++++++++++++++++++++++++------------
+ pydicom/tests/conftest.py     |   8 +++
+ pydicom/tests/test_fileset.py | 130 +++++++++++++++++++++++++++++++-----
+ 3 files changed, 232 insertions(+), 58 deletions(-)
+
+diff --git a/pydicom/fileset.py b/pydicom/fileset.py
+index 5549d6d..f4412a4 100644
+--- a/pydicom/fileset.py
++++ b/pydicom/fileset.py
+@@ -344,24 +344,47 @@ class RecordNode(Iterable["RecordNode"]):
+ 
+         return len(fp.getvalue())
+ 
+-    @property
+-    def _file_id(self) -> Optional[Path]:
++    def file_id_path(self, root_path: Path) -> Path | None:
+         """Return the *Referenced File ID* as a :class:`~pathlib.Path`.
+ 
++        Params
++        ------
++        root_path : Path
++            The root path of the parent file set.
++
+         Returns
+         -------
+         pathlib.Path or None
+             The *Referenced File ID* from the directory record as a
+             :class:`pathlib.Path` or ``None`` if the element value is null.
++
++        Raises
++        ------
++        PermissionError
++            If the file ID points to a path outside the fileset root path.
++
++        AttributeError
++            If the Referenced File ID is missing in the directory record.
++
++        :meta private:
+         """
+         if "ReferencedFileID" in self._record:
+             elem = self._record["ReferencedFileID"]
++            if elem.VM < 1:
++                return None
+             if elem.VM == 1:
+-                return Path(cast(str, self._record.ReferencedFileID))
+-            if elem.VM > 1:
+-                return Path(*cast(List[str], self._record.ReferencedFileID))
+-
+-            return None
++                path = Path(cast(str, self._record.ReferencedFileID))
++            else:
++                path = Path(*cast(list[str], self._record.ReferencedFileID))
++
++            if path is not None:
++                if path.anchor or not (
++                    (root_path / path).resolve().is_relative_to(root_path)
++                ):
++                    raise PermissionError(
++                        f"ReferencedFileID ('{path}') must be inside the DICOMDIR root path"
++                    )
++            return path
+ 
+         raise AttributeError("No 'Referenced File ID' in the directory record")
+ 
+@@ -371,7 +394,7 @@ class RecordNode(Iterable["RecordNode"]):
+         return self.root.file_set
+ 
+     def __getitem__(self, key: Union[str, "RecordNode"]) -> "RecordNode":
+-        """Return the current node's child using it's
++        """Return the current node's child using its
+         :attr:`~pydicom.fileset.RecordNode.key`
+         """
+         if isinstance(key, RecordNode):
+@@ -524,8 +547,8 @@ class RecordNode(Iterable["RecordNode"]):
+         for node in self:
+             indent = indent_char * node.depth
+             if node.children:
+-                s.append(f"{indent}{str(node)}")
+-                # Summarise any leaves at the next level
++                s.append(f"{indent}{node}")
++                # Summarize any leaves at the next level
+                 for child in node.children:
+                     if child.has_instance:
+                         s.extend(leaf_summary(child, indent_char))
+@@ -931,9 +954,8 @@ class FileInstance:
+             return os.fspath(cast(Path, self._stage_path))
+ 
+         # If not staged for addition then File Set must exist on file system
+-        return os.fspath(
+-            cast(Path, self.file_set.path) / cast(Path, self.node._file_id)
+-        )
++        root_path = self.file_set.root_path
++        return os.fspath(root_path / cast(Path, self.node.file_id_path(root_path)))
+ 
+     @property
+     def SOPClassUID(self) -> UID:
+@@ -966,7 +988,7 @@ class FileSet:
+             to the DICOMDIR file.
+         """
+         # The nominal path to the root of the File-set
+-        self._path: Optional[Path] = None
++        self._root_path: Path | None = None
+         # The root node of the record tree used to fill out the DICOMDIR's
+         #   *Directory Record Sequence*.
+         # The tree for instances currently in the File-set
+@@ -1212,7 +1234,7 @@ class FileSet:
+         """Clear the File-set."""
+         self._tree.children = []
+         self._instances = []
+-        self._path = None
++        self._root_path = None
+         self._ds = Dataset()
+         self._id = None
+         self._uid = generate_uid()
+@@ -1661,7 +1683,7 @@ class FileSet:
+             )
+ 
+         try:
+-            path = Path(cast(str, ds.filename)).resolve(strict=True)
++            path = Path(ds.filename).resolve(strict=True)
+         except FileNotFoundError:
+             raise FileNotFoundError(
+                 "Unable to load the File-set as the 'filename' attribute "
+@@ -1692,7 +1714,7 @@ class FileSet:
+             Optional[str],
+             ds.get("SpecificCharacterSetOfFileSetDescriptorFile", None)
+         )
+-        self._path = path.parent
++        self._root_path = path.parent
+         self._ds = ds
+ 
+         # Create the record tree
+@@ -1701,20 +1723,17 @@ class FileSet:
+         bad_instances = []
+         for instance in self:
+             # Check that the referenced file exists
+-            file_id = instance.node._file_id
+-            if file_id is None:
+-                bad_instances.append(instance)
+-                continue
+-
++            file_id = self._file_id_path(instance.node)
++            assert file_id is not None
+             try:
+                 # self.path is already set at this point
+-                (cast(Path, self.path) / file_id).resolve(strict=True)
++                (self.root_path / file_id).resolve(strict=True)
+             except FileNotFoundError:
+                 bad_instances.append(instance)
+                 warnings.warn(
+                     "The referenced SOP Instance for the directory record at "
+                     f"offset {instance.node._offset} does not exist: "
+-                    f"{cast(Path, self.path) / file_id}"
++                    f"{self.root_path / file_id}"
+                 )
+                 continue
+ 
+@@ -1726,6 +1745,31 @@ class FileSet:
+         for instance in bad_instances:
+             self._instances.remove(instance)
+ 
++    def _file_id_path(self, node: RecordNode) -> Path | None:
++        """Return the *Referenced File ID* from the given node
++        as a :class:`~pathlib.Path`.
++
++        Parameters
++        ----------
++        node: RecordNode
++            The node where the *Referenced File ID* resides.
++
++        Returns
++        -------
++        pathlib.Path or None
++            The *Referenced File ID* from the directory record as a
++            :class:`pathlib.Path` or ``None`` if the element value is null.
++
++        Raises
++        ------
++        PermissionError
++            If the file ID points to a path outside the fileset root path.
++
++        AttributeError
++            If the Referenced File ID is missing in the directory record.
++        """
++        return node.file_id_path(self.root_path)
++
+     def _parse_records(
+         self,
+         ds: Dataset,
+@@ -1782,7 +1826,10 @@ class FileSet:
+                 del node.parent[node]
+ 
+             # The leaf node references the FileInstance
+-            if "ReferencedFileID" in node._record:
++            if (
++                "ReferencedFileID" in node._record
++                and self._file_id_path(node) is not None
++            ):
+                 node.instance = FileInstance(node)
+                 self._instances.append(node.instance)
+ 
+@@ -1817,12 +1864,11 @@ class FileSet:
+         for node in missing:
+             # Get the path to the orphaned instance
+             original_value = node._record.ReferencedFileID
+-            file_id = node._file_id
+-            if file_id is None:
++            if (file_id := self._file_id_path(node)) is None:
+                 continue
+ 
+             # self.path is set for an existing File Set
+-            path = cast(Path, self.path) / file_id
++            path = self.root_path / file_id
+             if node.record_type == "PRIVATE":
+                 instance = self.add_custom(path, node)
+             else:
+@@ -1832,14 +1878,29 @@ class FileSet:
+             instance.node._record.ReferencedFileID = original_value
+ 
+     @property
+-    def path(self) -> Optional[str]:
++    def root_path(self) -> Path:
++        """Return the absolute path to the File-set root directory as
++        :class:`pathlib.Path`.
++
++        Raises
++        ------
++        AttributeError
++            If the root path is not set.
++        """
++        if self._root_path is None:
++            raise AttributeError("No root path set in the File-set")
++
++        return self._root_path
++
++    @property
++    def path(self) -> str | None:
+         """Return the absolute path to the File-set root directory as
+         :class:`str` (if set) or ``None`` otherwise.
+         """
+-        if self._path is not None:
+-            return os.fspath(self._path)
++        if self._root_path is not None:
++            return os.fspath(self._root_path)
+ 
+-        return self._path
++        return None
+ 
+     def _recordify(self, ds: Dataset) -> Iterator[Dataset]:
+         """Yield directory records for a SOP Instance.
+@@ -2105,16 +2166,17 @@ class FileSet:
+             )
+ 
+         if path:
+-            self._path = Path(path)
++            self._root_path = Path(path)
+ 
+         # Don't write unless changed or new
+         if not self.is_staged:
+             return
+ 
+         # Path to the DICOMDIR file
+-        p = cast(Path, self._path) / 'DICOMDIR'
++        root = self.root_path
++        p = root / "DICOMDIR"
+ 
+-        # Re-use the existing directory structure if only moves or removals
++        # Reuse the existing directory structure if only moves or removals
+         #   are required and `use_existing` is True
+         major_change = bool(self._stage['+'])
+         if use_existing and major_change:
+@@ -2159,26 +2221,30 @@ class FileSet:
+         #   and copy any to the stage
+         fout = {Path(ii.FileID) for ii in self}
+         fin = {
+-            ii.node._file_id for ii in self
+-            if ii.SOPInstanceUID not in self._stage['+']
++            self._file_id_path(ii.node)
++            for ii in self
++            if ii.SOPInstanceUID not in self._stage["+"]
+         }
+         collisions = fout & fin
+-        for instance in [ii for ii in self if ii.node._file_id in collisions]:
+-            self._stage['+'][instance.SOPInstanceUID] = instance
+-            instance._apply_stage('+')
++        for instance in [
++            ii for ii in self if self._file_id_path(ii.node) in collisions
++        ]:
++            self._stage["+"][instance.SOPInstanceUID] = instance
++            instance._apply_stage("+")
+             shutil.copyfile(
+-                self._path / instance.node._file_id, instance.path
++                root / cast(Path, self._file_id_path(instance.node)),
++                instance.path,
+             )
+ 
+         for instance in self:
+-            dst = self._path / instance.FileID
++            dst = root / instance.FileID
+             dst.parent.mkdir(parents=True, exist_ok=True)
+             fn: Callable
+             if instance.SOPInstanceUID in self._stage['+']:
+                 src = instance.path
+                 fn = shutil.copyfile
+             else:
+-                src = self._path / instance.node._file_id
++                src = root / cast(Path, self._file_id_path(instance.node))
+                 fn = shutil.move
+ 
+             fn(os.fspath(src), os.fspath(dst))
+diff --git a/pydicom/tests/conftest.py b/pydicom/tests/conftest.py
+index 10d1dc3..301fd00 100644
+--- a/pydicom/tests/conftest.py
++++ b/pydicom/tests/conftest.py
+@@ -22,6 +22,14 @@ def allow_reading_invalid_values():
+     config.settings.reading_validation_mode = value
+ 
+ 
++ at pytest.fixture
++def ignore_reading_invalid_values():
++    value = config.settings.reading_validation_mode
++    config.settings.reading_validation_mode = config.IGNORE
++    yield
++    config.settings.reading_validation_mode = value
++
++
+ @pytest.fixture
+ def enforce_writing_invalid_values():
+     value = config.settings.writing_validation_mode
+diff --git a/pydicom/tests/test_fileset.py b/pydicom/tests/test_fileset.py
+index cff26da..8ded886 100644
+--- a/pydicom/tests/test_fileset.py
++++ b/pydicom/tests/test_fileset.py
+@@ -1,5 +1,6 @@
+ 
+ import os
++import platform
+ import sys
+ from pathlib import Path
+ import shutil
+@@ -10,7 +11,7 @@ import pytest
+ from pydicom import config, dcmread
+ from pydicom.data import get_testdata_file
+ from pydicom.dataset import Dataset, FileMetaDataset
+-from pydicom.filebase import DicomBytesIO
++from pydicom.filebase import DicomBytesIO, DicomFileLike
+ from pydicom.fileset import (
+     FileSet, FileInstance, RecordNode, is_conformant_file_id,
+     generate_filename, _define_patient, _define_study, _define_series,
+@@ -81,6 +82,56 @@ def tdir():
+     return TemporaryDirectory()
+ 
+ 
++FILESET_ROOT = "/path/to/fileset/"
++ABS_FILE_PATH = "/secret.txt"
++SYMLINK_TO_ABS_FILE = "Pat1/St1/Im2"
++SYMLINK_TO_ABS_DIR = "Pat1/St2"
++DOT_DOT_FILE = "../goback.txt"
++ABS_FILE_CONTENTS = "Top Secret file contents"
++COPY_PATH = "/path/to/copied/"
++
++
++ at pytest.fixture(
++    params=[
++        ABS_FILE_PATH,
++        DOT_DOT_FILE,
++        SYMLINK_TO_ABS_FILE,
++        SYMLINK_TO_ABS_DIR + ABS_FILE_PATH,
++    ]
++)
++def fileset_fs(request, fs, ignore_reading_invalid_values):
++    """Create an in-memory file system with pyfakefs and test DICOMDIRs"""
++    # Simplified version of submitted report from JeongAhn Jang, in pyfakefs
++    orig_dicomdir_root = Path(TEST_FILE).parent
++    dicomdir_root = Path(FILESET_ROOT)
++    fs.add_real_file(
++        orig_dicomdir_root / "77654033/CR1/6154",
++        target_path=dicomdir_root / "Pat1/St1/Im1",
++    )
++    fs.create_file(ABS_FILE_PATH, contents=ABS_FILE_CONTENTS)
++    fs.create_dir(COPY_PATH)
++    fs.create_symlink(dicomdir_root / SYMLINK_TO_ABS_FILE, ABS_FILE_PATH)
++    fs.create_symlink(dicomdir_root / SYMLINK_TO_ABS_DIR, "/")
++    # MAKE DICOMDIR for this simplified file-set
++    fset = FileSet()
++    fset.add(dicomdir_root / "Pat1/St1/Im1")
++    fset.write(dicomdir_root)
++
++    # Create bad DICOMDIR2 file from the simplified one
++    # Modify first referenced file
++    fset = FileSet(dicomdir_root / "DICOMDIR")
++    record = next(
++        rec for rec in fset._ds.DirectoryRecordSequence if "ReferencedFileID" in rec
++    )
++    record.ReferencedFileID = request.param
++
++    # Write modified DICOMDIR file
++    with open(dicomdir_root / "DICOMDIR2", "wb") as fp:
++        fset._write_dicomdir(DicomFileLike(fp))
++
++    yield fs
++
++
+ @pytest.fixture
+ def custom_leaf():
+     """Return the leaf node from a custom 4-level record hierarchy"""
+@@ -116,7 +167,7 @@ def custom_leaf():
+ 
+ 
+ @pytest.fixture
+-def private(dicomdir):
++def private(dicomdir, request, ignore_reading_invalid_values):
+     """Return a DICOMDIR dataset with PRIVATE records."""
+     def write_record(ds):
+         """Return `ds` as explicit little encoded bytes."""
+@@ -143,9 +194,17 @@ def private(dicomdir):
+     middle = private_record()
+     bottom = private_record()
+     bottom.ReferencedSOPClassUIDInFile = "1.2.3.4"
+-    bottom.ReferencedFileID = [
+-        "TINY_ALPHA", "PT000000", "ST000000", "SE000000", "IM000000"
+-    ]
++    if hasattr(request, "param"):
++        file_ids = request.param
++    else:
++        file_ids = [
++            "TINY_ALPHA",
++            "PT000000",
++            "ST000000",
++            "SE000000",
++            "IM000000",
++        ]
++    bottom.ReferencedFileID = file_ids
+     bottom.ReferencedSOPInstanceUIDInFile = (
+         "1.2.276.0.7230010.3.1.4.0.31906.1359940846.78187"
+     )
+@@ -647,6 +706,15 @@ class TestRecordNode:
+         with pytest.raises(AttributeError, match=msg):
+             instance.node.key
+ 
++    @pytest.mark.parametrize("private", [["/", "etc", "passwd"]], indirect=True)
++    def test_id_outside_root(self, private):
++        """File ID points to a path outside the root directory."""
++        with pytest.raises(
++            PermissionError,
++            match=r"ReferencedFileID .* must be inside the DICOMDIR root path",
++        ):
++            FileSet(private)
++
+     def test_bad_record(self, private):
+         """Test a bad directory record raises an exception when loading."""
+         del private.DirectoryRecordSequence[0].PatientID
+@@ -709,7 +777,33 @@ class TestRecordNode:
+         item.ReferencedFileID = "01"
+         ds.save_as(p / "DICOMDIR")
+         fs = FileSet(ds)
+-        assert fs._instances[0].node._file_id == Path("01")
++        assert fs._instances[0].node.file_id_path(fs.root_path) == Path("01")
++
++    def test_absolute_file_id(self, ct, tdir, ignore_reading_invalid_values):
++        """Test a singleton File ID."""
++        fs = FileSet()
++        p = Path(tdir.name)
++        ct.save_as(p / "01")
++        fs.add(p / "01")
++        fs.write(p)
++        ds = dcmread(p / "DICOMDIR")
++        item = ds.DirectoryRecordSequence[-1]
++        item.ReferencedFileID = "/01"
++        ds.save_as(p / "DICOMDIR")
++        with pytest.raises(
++            PermissionError,
++            match=r"ReferencedFileID .* must be inside the DICOMDIR root path",
++        ):
++            FileSet(ds)
++
++    def test_root_path_missing(self, ct):
++        """Test RecordNode._file_id if no Referenced File ID."""
++        fs = FileSet()
++        instance = fs.add(ct)
++        # del instance.node._record.ReferencedFileID
++        msg = r"No root path set in the File-set"
++        with pytest.raises(AttributeError, match=msg):
++            fs.root_path
+ 
+     def test_file_id_missing(self, ct):
+         """Test RecordNode._file_id if no Referenced File ID."""
+@@ -718,7 +812,7 @@ class TestRecordNode:
+         del instance.node._record.ReferencedFileID
+         msg = r"No 'Referenced File ID' in the directory record"
+         with pytest.raises(AttributeError, match=msg):
+-            instance.node._file_id
++            instance.node.file_id_path(Path("/dicom_data"))
+ 
+ 
+ @pytest.mark.filterwarnings("ignore:The 'DicomDir'")
+@@ -1651,7 +1745,7 @@ class TestFileSet:
+         assert "ISO 1" == fs.descriptor_character_set
+         assert [] != fs._instances
+         assert fs._id is not None
+-        assert fs._path is not None
++        assert fs.root_path is not None
+         uid = fs._uid
+         assert fs._uid is not None
+         assert fs._ds is not None
+@@ -1662,7 +1756,7 @@ class TestFileSet:
+         fs.clear()
+         assert [] == fs._instances
+         assert fs._id is None
+-        assert fs._path is None
++        assert fs._root_path is None
+         assert uid != fs._uid
+         assert fs._uid.is_valid
+         assert fs._ds == Dataset()
+@@ -2246,8 +2340,6 @@ class TestFileSet_Modify:
+ 
+         FileSet.__len__ = my_len
+         fs = FileSet(ds)
+-        if sys.maxsize <= 2 ** 32 + 1:
+-            return
+         assert 36**6 + 1 == len(fs)
+         msg = (
+             r"pydicom doesn't support writing File-sets with more than "
+@@ -2323,14 +2415,14 @@ class TestFileSet_Modify:
+         tdir, ds = dicomdir_copy
+         assert 52 == len(ds.DirectoryRecordSequence)
+         fs = FileSet(ds)
+-        orig_paths = [p for p in fs._path.glob('**/*') if p.is_file()]
++        orig_paths = [p for p in fs.root_path.glob("**/*") if p.is_file()]
+         instance = fs._instances[0]
+         assert Path(instance.path) in orig_paths
+         fs.remove(instance)
+         orig_file_ids = [ii.ReferencedFileID for ii in fs]
+         fs.write(use_existing=True)
+         assert 50 == len(fs._ds.DirectoryRecordSequence)
+-        paths = [p for p in fs._path.glob('**/*') if p.is_file()]
++        paths = [p for p in fs.root_path.glob("**/*") if p.is_file()]
+         assert orig_file_ids == [ii.ReferencedFileID for ii in fs]
+         assert Path(instance.path) not in paths
+         assert sorted(orig_paths)[1:] == sorted(paths)
+@@ -2480,6 +2572,16 @@ class TestFileSet_Copy:
+     def teardown_method(self):
+         FileSet.__len__ = self.orig
+ 
++    @pytest.mark.skipif(platform.python_implementation() == "PyPy",
++                        reason="pyfakefs does not work with generate_uid() in PyPy")
++    def test_constrained_to_fileset_root(self, fileset_fs):
++        """Ensure files cannot be copied outside the FileSet root"""
++        with pytest.raises(
++            PermissionError,
++            match=r"ReferencedFileID .* must be inside the DICOMDIR root path",
++        ):
++            FileSet(Path(FILESET_ROOT) / "DICOMDIR2")
++
+     def test_copy(self, dicomdir, tdir):
+         """Test FileSet.copy()"""
+         orig_root = Path(dicomdir.filename).parent
+@@ -2579,8 +2681,6 @@ class TestFileSet_Copy:
+ 
+         FileSet.__len__ = my_len
+         fs = FileSet(tiny)
+-        if sys.maxsize <= 2 ** 32 + 1:
+-            return
+         assert 36**6 + 1 == len(fs)
+         msg = (
+             r"pydicom doesn't support writing File-sets with more than "
diff --git a/debian/patches/ignore_tests_downloading_data.patch b/debian/patches/ignore_tests_downloading_data.patch
index 3e84c77..d7ab4c3 100644
--- a/debian/patches/ignore_tests_downloading_data.patch
+++ b/debian/patches/ignore_tests_downloading_data.patch
@@ -1,8 +1,121 @@
-Author: Andreas Tille <tille at debian.org>
+From: Andreas Tille <tille at debian.org>
+Date: Mon, 11 May 2026 10:53:29 +0200
+Subject: Several data files need to be downloaded which is not possible at
+ package build time
+
 Last-Update: 2021-12-08
-Description: Several data files need to be downloaded which is not possible at package build time
-             Thus the downloading and the according tests are removed here
 
+            Thus the downloading and the according tests are removed here
+---
+ pydicom/tests/test_JPEG_LS_transfer_syntax.py |  11 +-
+ pydicom/tests/test_cli.py                     |   7 +
+ pydicom/tests/test_data_manager.py            |  10 +-
+ pydicom/tests/test_dataelem.py                |   1 +
+ pydicom/tests/test_dataset.py                 |  13 +-
+ pydicom/tests/test_encaps.py                  |   4 +
+ pydicom/tests/test_encoders.py                |   1 +
+ pydicom/tests/test_encoders_gdcm.py           |  25 +-
+ pydicom/tests/test_encoders_pydicom.py        |  44 ++-
+ pydicom/tests/test_filereader.py              |  81 ++--
+ pydicom/tests/test_filewriter.py              |   3 +
+ pydicom/tests/test_gdcm_pixel_data.py         | 219 +++--------
+ pydicom/tests/test_handler_util.py            |  92 +++--
+ pydicom/tests/test_jpeg_ls_pixel_data.py      |  84 ++--
+ pydicom/tests/test_numpy_pixel_data.py        | 217 ++++++----
+ pydicom/tests/test_overlay_np.py              |  21 +-
+ pydicom/tests/test_pillow_pixel_data.py       | 445 +++++++++++----------
+ pydicom/tests/test_pylibjpeg.py               | 545 +++++++++++++-------------
+ pydicom/tests/test_rle_pixel_data.py          |  13 +
+ 19 files changed, 975 insertions(+), 861 deletions(-)
+
+diff --git a/pydicom/tests/test_JPEG_LS_transfer_syntax.py b/pydicom/tests/test_JPEG_LS_transfer_syntax.py
+index e65d496..4c16b93 100644
+--- a/pydicom/tests/test_JPEG_LS_transfer_syntax.py
++++ b/pydicom/tests/test_JPEG_LS_transfer_syntax.py
+@@ -49,15 +49,16 @@ except ImportError:
+     gdcm_handler = None
+     HAVE_GDCM = False
+ 
+-mr_name = get_testdata_file("MR_small.dcm")
+-jpeg_ls_lossless_name = get_testdata_file("MR_small_jpeg_ls_lossless.dcm")
+-emri_name = get_testdata_file("emri_small.dcm")
+-emri_jpeg_ls_lossless = get_testdata_file(
+-    "emri_small_jpeg_ls_lossless.dcm")
++#mr_name = get_testdata_file("MR_small.dcm")
++#jpeg_ls_lossless_name = get_testdata_file("MR_small_jpeg_ls_lossless.dcm")
++#emri_name = get_testdata_file("emri_small.dcm")
++#emri_jpeg_ls_lossless = get_testdata_file(
++#    "emri_small_jpeg_ls_lossless.dcm")
+ dir_name = os.path.dirname(sys.argv[0])
+ save_dir = os.getcwd()
+ 
+ 
++ at pytest.mark.skip("When building a Debian package we can not download anything")
+ class Test_JPEG_LS_Lossless_transfer_syntax():
+     def setup_method(self, method):
+         self.jpeg_ls_lossless = dcmread(jpeg_ls_lossless_name)
+diff --git a/pydicom/tests/test_cli.py b/pydicom/tests/test_cli.py
+index df53388..7c99b0d 100644
+--- a/pydicom/tests/test_cli.py
++++ b/pydicom/tests/test_cli.py
+@@ -31,6 +31,7 @@ bad_indexes = (
+ )
+ 
+ 
++ at pytest.mark.skip("When building a Debian package we can not download anything")
+ class TestFilespec:
+     @pytest.mark.parametrize("bad_spec", bad_elem_specs)
+     def test_syntax(self, bad_spec):
+@@ -76,6 +77,7 @@ class TestFilespec:
+         assert expected == filespec_parts(filespec)
+ 
+ 
++ at pytest.mark.skip("When building a Debian package we can not download anything")
+ class TestFilespecElementEval:
+     # Load plan once
+     plan, _ = filespec_parser("pydicom::rtplan.dcm")[0]
+@@ -121,6 +123,7 @@ class TestCLIcall:
+         out, _ = capsys.readouterr()
+         assert out.startswith("usage: pydicom [-h] {")
+ 
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     def test_codify_command(self, capsys):
+         """CLI `codify` command prints correct output"""
+ 
+@@ -134,6 +137,7 @@ class TestCLIcall:
+         out, _ = capsys.readouterr()
+         assert "add_new((0x0001, 0x0001)" not in out
+ 
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     def test_codify_data_element(self, capsys):
+         """CLI `codify` command raises error if not a Dataset"""
+         with pytest.raises(NotImplementedError):
+@@ -146,6 +150,7 @@ class TestCLIcall:
+         assert out.startswith("# -*- coding: utf-8 -*-")
+         assert "Buc^J?r?me" in out
+ 
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     def test_help(self, capsys):
+         """CLI `help` command gives expected output"""
+         # With subcommand
+@@ -164,6 +169,7 @@ class TestCLIcall:
+         out, _ = capsys.readouterr()
+         assert "Available subcommands:" in out
+ 
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     def test_show_command(self, capsys):
+         """CLI `show` command prints correct output"""
+         main("show pydicom::MR_small_RLE.dcm".split())
+@@ -178,6 +184,7 @@ class TestCLIcall:
+         out, _ = capsys.readouterr()
+         assert "4000" == out.strip()
+ 
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     def test_show_options(self, capsys):
+         """CLI `show` command with options prints correct output"""
+         # Quiet option, image file
+diff --git a/pydicom/tests/test_data_manager.py b/pydicom/tests/test_data_manager.py
+index d3762af..343cdd6 100644
 --- a/pydicom/tests/test_data_manager.py
 +++ b/pydicom/tests/test_data_manager.py
 @@ -25,7 +25,7 @@ EXT_PYDICOM = False
@@ -55,7 +168,7 @@ Description: Several data files need to be downloaded which is not possible at p
  def test_fetch_data_files_download_failure(download_failure):
      """Test fetch_data_files() with download failures."""
      msg = r"An error occurred downloading the following files:"
-@@ -306,6 +310,7 @@ def test_fetch_data_files_download_failu
+@@ -306,6 +310,7 @@ def test_fetch_data_files_download_failure(download_failure):
          fetch_data_files()
  
  
@@ -71,1330 +184,66 @@ Description: Several data files need to be downloaded which is not possible at p
  def test_urls():
      """Test for duplicates in urls.json."""
      # We can't have case mixes because windows filenames are case insensitive
---- a/pydicom/tests/test_pillow_pixel_data.py
-+++ b/pydicom/tests/test_pillow_pixel_data.py
-@@ -54,52 +54,53 @@ TEST_JPEG2K = TEST_PIL and HAVE_JPEG2K
- # FRAMES: NumberOfFrames
- # PI: PhotometricInterpretation
- # FMT_BA_BV_SPX_PR_FRAMESF_PI
--# JPGB: 1.2.840.10008.1.2.4.50 - JPEG Baseline (8-bit only)
--JPGB_08_08_3_0_1F_YBR_FULL = get_testdata_file("SC_rgb_small_odd_jpeg.dcm")
--JPGB_08_08_3_0_120F_YBR_FULL_422 = get_testdata_file("color3d_jpeg_baseline.dcm")  # noqa
--# Different subsampling 411, 422, 444
--JPGB_08_08_3_0_1F_YBR_FULL_422_411 = get_testdata_file("SC_rgb_dcmtk_+eb+cy+np.dcm")  # noqa
--JPGB_08_08_3_0_1F_YBR_FULL_422_422 = get_testdata_file("SC_rgb_dcmtk_+eb+cy+s2.dcm")  # noqa
--JPGB_08_08_3_0_1F_YBR_FULL_411 = get_testdata_file("SC_rgb_dcmtk_+eb+cy+n1.dcm")  # noqa
--JPGB_08_08_3_0_1F_YBR_FULL_422 = get_testdata_file("SC_rgb_dcmtk_+eb+cy+n2.dcm")  # noqa
--JPGB_08_08_3_0_1F_YBR_FULL_444 = get_testdata_file("SC_rgb_dcmtk_+eb+cy+s4.dcm")  # noqa
--JPGB_08_08_3_0_1F_RGB = get_testdata_file("SC_jpeg_no_color_transform.dcm")
--JPGB_08_08_3_0_1F_RGB_APP14 = get_testdata_file("SC_jpeg_no_color_transform_2.dcm")  # noqa
--# JPGE: 1.2.840.10008.1.2.4.51 - JPEG Extended (Process 2 and 4) (8 and 12-bit)
--# No supported datasets available
--
--# JPEG 2000 - ISO/IEC 15444 Standard
--# J2KR: 1.2.840.100008.1.2.4.90 - JPEG 2000 Lossless
--J2KR_08_08_3_0_1F_YBR_ICT = get_testdata_file("US1_J2KR.dcm")
--J2KR_16_10_1_0_1F_M1 = get_testdata_file("RG3_J2KR.dcm")
--J2KR_16_12_1_0_1F_M2 = get_testdata_file("MR2_J2KR.dcm")
--J2KR_16_15_1_0_1F_M1 = get_testdata_file("RG1_J2KR.dcm")
--J2KR_16_16_1_0_10F_M2 = get_testdata_file("emri_small_jpeg_2k_lossless.dcm")
--J2KR_16_14_1_1_1F_M2 = get_testdata_file("693_J2KR.dcm")
--J2KR_16_16_1_1_1F_M2 = get_testdata_file("MR_small_jp2klossless.dcm")
--J2KR_16_13_1_1_1F_M2_MISMATCH = get_testdata_file("J2K_pixelrep_mismatch.dcm")
--# J2KI: 1.2.840.10008.1.2.4.91 - JPEG 2000
--J2KI_08_08_3_0_1F_RGB = get_testdata_file("SC_rgb_gdcm_KY.dcm")
--J2KI_08_08_3_0_1F_YBR_ICT = get_testdata_file("US1_J2KI.dcm")
--J2KI_16_10_1_0_1F_M1 = get_testdata_file("RG3_J2KI.dcm")
--J2KI_16_12_1_0_1F_M2 = get_testdata_file("MR2_J2KI.dcm")
--J2KI_16_15_1_0_1F_M1 = get_testdata_file("RG1_J2KI.dcm")
--J2KI_16_14_1_1_1F_M2 = get_testdata_file("693_J2KI.dcm")
--J2KI_16_16_1_1_1F_M2 = get_testdata_file("JPEG2000.dcm")
--
--# Transfer syntaxes supported by other handlers
--IMPL = get_testdata_file("MR_small_implicit.dcm")
--EXPL = get_testdata_file("OBXXXX1A.dcm")
--EXPB = get_testdata_file("OBXXXX1A_expb.dcm")
--DEFL = get_testdata_file("image_dfl.dcm")
--JPEG_LS_LOSSLESS = get_testdata_file("MR_small_jpeg_ls_lossless.dcm")
--RLE = get_testdata_file("MR_small_RLE.dcm")
--JPGE_16_12_1_0_1F_M2 = get_testdata_file("JPEG-lossy.dcm")
--JPGL_16_16_1_1_1F_M2 = get_testdata_file("JPEG-LL.dcm")
--# JPGL14: 1.2.840.10008.1.2.4.57 - JPEG Lossless P14
--# No datasets available
--# JPGL: 1.2.840.10008.1.2.4.70 - JPEG Lossless, Non-hierarchical, 1st Order
--JPGL_08_08_1_0_1F = get_testdata_file("JPGLosslessP14SV1_1s_1f_8b.dcm")
-+## JPGB: 1.2.840.10008.1.2.4.50 - JPEG Baseline (8-bit only)
-+#JPGB_08_08_3_0_1F_YBR_FULL = get_testdata_file("SC_rgb_small_odd_jpeg.dcm")
-+#JPGB_08_08_3_0_120F_YBR_FULL_422 = get_testdata_file("color3d_jpeg_baseline.dcm")  # noqa
-+## Different subsampling 411, 422, 444
-+#JPGB_08_08_3_0_1F_YBR_FULL_422_411 = get_testdata_file("SC_rgb_dcmtk_+eb+cy+np.dcm")  # noqa
-+#JPGB_08_08_3_0_1F_YBR_FULL_422_422 = get_testdata_file("SC_rgb_dcmtk_+eb+cy+s2.dcm")  # noqa
-+#JPGB_08_08_3_0_1F_YBR_FULL_411 = get_testdata_file("SC_rgb_dcmtk_+eb+cy+n1.dcm")  # noqa
-+#JPGB_08_08_3_0_1F_YBR_FULL_422 = get_testdata_file("SC_rgb_dcmtk_+eb+cy+n2.dcm")  # noqa
-+#JPGB_08_08_3_0_1F_YBR_FULL_444 = get_testdata_file("SC_rgb_dcmtk_+eb+cy+s4.dcm")  # noqa
-+#JPGB_08_08_3_0_1F_RGB = get_testdata_file("SC_jpeg_no_color_transform.dcm")
-+#JPGB_08_08_3_0_1F_RGB_APP14 = get_testdata_file("SC_jpeg_no_color_transform_2.dcm")  # noqa
-+## JPGE: 1.2.840.10008.1.2.4.51 - JPEG Extended (Process 2 and 4) (8 and 12-bit)
-+## No supported datasets available
-+#
-+## JPEG 2000 - ISO/IEC 15444 Standard
-+## J2KR: 1.2.840.100008.1.2.4.90 - JPEG 2000 Lossless
-+#J2KR_08_08_3_0_1F_YBR_ICT = get_testdata_file("US1_J2KR.dcm")
-+#J2KR_16_10_1_0_1F_M1 = get_testdata_file("RG3_J2KR.dcm")
-+#J2KR_16_12_1_0_1F_M2 = get_testdata_file("MR2_J2KR.dcm")
-+#J2KR_16_15_1_0_1F_M1 = get_testdata_file("RG1_J2KR.dcm")
-+#J2KR_16_16_1_0_10F_M2 = get_testdata_file("emri_small_jpeg_2k_lossless.dcm")
-+#J2KR_16_14_1_1_1F_M2 = get_testdata_file("693_J2KR.dcm")
-+#J2KR_16_16_1_1_1F_M2 = get_testdata_file("MR_small_jp2klossless.dcm")
-+#J2KR_16_13_1_1_1F_M2_MISMATCH = get_testdata_file("J2K_pixelrep_mismatch.dcm")
-+## J2KI: 1.2.840.10008.1.2.4.91 - JPEG 2000
-+#J2KI_08_08_3_0_1F_RGB = get_testdata_file("SC_rgb_gdcm_KY.dcm")
-+#J2KI_08_08_3_0_1F_YBR_ICT = get_testdata_file("US1_J2KI.dcm")
-+#J2KI_16_10_1_0_1F_M1 = get_testdata_file("RG3_J2KI.dcm")
-+#J2KI_16_12_1_0_1F_M2 = get_testdata_file("MR2_J2KI.dcm")
-+#J2KI_16_15_1_0_1F_M1 = get_testdata_file("RG1_J2KI.dcm")
-+#J2KI_16_14_1_1_1F_M2 = get_testdata_file("693_J2KI.dcm")
-+#J2KI_16_16_1_1_1F_M2 = get_testdata_file("JPEG2000.dcm")
-+#
-+## Transfer syntaxes supported by other handlers
-+#IMPL = get_testdata_file("MR_small_implicit.dcm")
-+#EXPL = get_testdata_file("OBXXXX1A.dcm")
-+EXPL = None
-+#EXPB = get_testdata_file("OBXXXX1A_expb.dcm")
-+#DEFL = get_testdata_file("image_dfl.dcm")
-+#JPEG_LS_LOSSLESS = get_testdata_file("MR_small_jpeg_ls_lossless.dcm")
-+#RLE = get_testdata_file("MR_small_RLE.dcm")
-+#JPGE_16_12_1_0_1F_M2 = get_testdata_file("JPEG-lossy.dcm")
-+#JPGL_16_16_1_1_1F_M2 = get_testdata_file("JPEG-LL.dcm")
-+## JPGL14: 1.2.840.10008.1.2.4.57 - JPEG Lossless P14
-+## No datasets available
-+## JPGL: 1.2.840.10008.1.2.4.70 - JPEG Lossless, Non-hierarchical, 1st Order
-+#JPGL_08_08_1_0_1F = get_testdata_file("JPGLosslessP14SV1_1s_1f_8b.dcm")
+diff --git a/pydicom/tests/test_dataelem.py b/pydicom/tests/test_dataelem.py
+index c28986e..50ba637 100644
+--- a/pydicom/tests/test_dataelem.py
++++ b/pydicom/tests/test_dataelem.py
+@@ -404,6 +404,7 @@ class TestDataElement:
+         assert 'PN' == ds[0x00100010].VR
+         assert 'Dionysios=?????????' == ds[0x00100010].value
  
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     def test_reading_ds_with_known_tags_with_UN_VR(
+             self, replace_un_with_known_vr):
+         """Known tags with VR UN are correctly read."""
+diff --git a/pydicom/tests/test_dataset.py b/pydicom/tests/test_dataset.py
+index ded1777..1800ea1 100644
+--- a/pydicom/tests/test_dataset.py
++++ b/pydicom/tests/test_dataset.py
+@@ -20,7 +20,7 @@ except ImportError:
+ import pydicom
+ from pydicom import config
+ from pydicom import dcmread
+-from pydicom.data import get_testdata_file
++#from pydicom.data import get_testdata_file
+ from pydicom.dataelem import DataElement, RawDataElement
+ from pydicom.dataset import (
+     Dataset, FileDataset, validate_file_meta, FileMetaDataset
+@@ -932,6 +932,7 @@ class TestDataset:
+         assert 'SOPInstanceUID' in group0000
+         assert 'SkipFrameRangeFlag' in group0000
  
- # Transfer Syntaxes (non-retired + Explicit VR Big Endian)
-@@ -124,13 +125,13 @@ def test_unsupported_syntaxes():
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     def test_get_item(self):
+         """Test Dataset.get_item"""
+         ds = Dataset()
+@@ -1108,6 +1109,7 @@ class TestDataset:
+         item = ds.get_private_item(0x0009, 0x02, 'Creator 2.0')
+         assert 2 == item.value
  
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     def test_private_creator_from_raw_ds(self):
+         # regression test for #1078
+         ct_filename = get_testdata_file("CT_small.dcm")
+@@ -1119,6 +1121,7 @@ class TestDataset:
+         ds.private_block(0x13, 'GEMS_PATI_01', create=True)
+         assert ['GEMS_PATI_01'] == ds.private_creators(0x13)
  
- REFERENCE_DATA_UNSUPPORTED = [
--    (IMPL, ('1.2.840.10008.1.2', 'CompressedSamples^MR1')),
--    (EXPL, ('1.2.840.10008.1.2.1', 'OB^^^^')),
--    (EXPB, ('1.2.840.10008.1.2.2', 'OB^^^^')),
--    (DEFL, ('1.2.840.10008.1.2.1.99', '^^^^')),
--    (JPEG_LS_LOSSLESS, ('1.2.840.10008.1.2.4.80', 'CompressedSamples^MR1')),
--    (JPGL_08_08_1_0_1F, ('1.2.840.10008.1.2.4.70', 'Citizen^Jan')),
--    (RLE, ('1.2.840.10008.1.2.5', 'CompressedSamples^MR1')),
-+#    (IMPL, ('1.2.840.10008.1.2', 'CompressedSamples^MR1')),
-+#    (EXPL, ('1.2.840.10008.1.2.1', 'OB^^^^')),
-+#    (EXPB, ('1.2.840.10008.1.2.2', 'OB^^^^')),
-+#    (DEFL, ('1.2.840.10008.1.2.1.99', '^^^^')),
-+#    (JPEG_LS_LOSSLESS, ('1.2.840.10008.1.2.4.80', 'CompressedSamples^MR1')),
-+#    (JPGL_08_08_1_0_1F, ('1.2.840.10008.1.2.4.70', 'Citizen^Jan')),
-+#    (RLE, ('1.2.840.10008.1.2.5', 'CompressedSamples^MR1')),
- ]
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     def test_add_known_private_tag(self):
+         # regression test for #1082
+         ds = dcmread(get_testdata_file("CT_small.dcm"))
+@@ -1506,6 +1509,7 @@ class TestDataset:
+         ds.save_as(fp)
+         assert elem.is_undefined_length
  
- 
-@@ -210,171 +211,171 @@ JPGL = JPEGLosslessSV1
- J2KI = JPEG2000
- J2KR = JPEG2000Lossless
- REFERENCE_DATA = [
--    # fpath, (syntax, bits, nr samples, pixel repr, nr frames, shape, dtype)
--    (JPGB_08_08_3_0_120F_YBR_FULL_422, (JPGB, 8, 3, 0, 120, (120, 480, 640, 3), 'uint8')),  # noqa
--    (JPGB_08_08_3_0_1F_YBR_FULL_422_411, (JPGB, 8, 3, 0, 1, (100, 100, 3), 'uint8')),  # noqa
--    (JPGB_08_08_3_0_1F_YBR_FULL_422_422, (JPGB, 8, 3, 0, 1, (100, 100, 3), 'uint8')),  # noqa
--    (JPGB_08_08_3_0_1F_YBR_FULL_411, (JPGB, 8, 3, 0, 1, (100, 100, 3), 'uint8')),  # noqa
--    (JPGB_08_08_3_0_1F_YBR_FULL_422, (JPGB, 8, 3, 0, 1, (100, 100, 3), 'uint8')),  # noqa
--    (JPGB_08_08_3_0_1F_YBR_FULL_444, (JPGB, 8, 3, 0, 1, (100, 100, 3), 'uint8')),  # noqa
--    (JPGB_08_08_3_0_1F_RGB, (JPGB, 8, 3, 0, 1, (256, 256, 3), 'uint8')),
--    (JPGB_08_08_3_0_1F_RGB_APP14, (JPGB, 8, 3, 0, 1, (256, 256, 3), 'uint8')),
--    (J2KR_08_08_3_0_1F_YBR_ICT, (J2KR, 8, 3, 0, 1, (480, 640, 3), 'uint8')),
--    (J2KR_16_10_1_0_1F_M1, (J2KR, 16, 1, 0, 1, (1760, 1760), 'uint16')),
--    (J2KR_16_12_1_0_1F_M2, (J2KR, 16, 1, 0, 1, (1024, 1024), 'uint16')),
--    (J2KR_16_15_1_0_1F_M1, (J2KR, 16, 1, 0, 1, (1955, 1841), 'uint16')),
--    (J2KR_16_16_1_0_10F_M2, (J2KR, 16, 1, 0, 10, (10, 64, 64), 'uint16')),
--    (J2KR_16_14_1_1_1F_M2, (J2KR, 16, 1, 1, 1, (512, 512), 'int16')),
--    (J2KR_16_16_1_1_1F_M2, (J2KR, 16, 1, 1, 1, (64, 64), 'int16')),
--    (J2KI_08_08_3_0_1F_RGB, (J2KI, 8, 3, 0, 1, (100, 100, 3), 'uint8')),
--    (J2KI_08_08_3_0_1F_YBR_ICT, (J2KI, 8, 3, 0, 1, (480, 640, 3), 'uint8')),
--    (J2KI_16_10_1_0_1F_M1, (J2KI, 16, 1, 0, 1, (1760, 1760), 'uint16')),
--    (J2KI_16_12_1_0_1F_M2, (J2KI, 16, 1, 0, 1, (1024, 1024), 'uint16')),
--    (J2KI_16_15_1_0_1F_M1, (J2KI, 16, 1, 0, 1, (1955, 1841), 'uint16')),
--    (J2KI_16_14_1_1_1F_M2, (J2KI, 16, 1, 1, 1, (512, 512), 'int16')),
--    (J2KI_16_16_1_1_1F_M2, (J2KI, 16, 1, 1, 1, (1024, 256), 'int16')),
-+#    # fpath, (syntax, bits, nr samples, pixel repr, nr frames, shape, dtype)
-+#    (JPGB_08_08_3_0_120F_YBR_FULL_422, (JPGB, 8, 3, 0, 120, (120, 480, 640, 3), 'uint8')),  # noqa
-+#    (JPGB_08_08_3_0_1F_YBR_FULL_422_411, (JPGB, 8, 3, 0, 1, (100, 100, 3), 'uint8')),  # noqa
-+#    (JPGB_08_08_3_0_1F_YBR_FULL_422_422, (JPGB, 8, 3, 0, 1, (100, 100, 3), 'uint8')),  # noqa
-+#    (JPGB_08_08_3_0_1F_YBR_FULL_411, (JPGB, 8, 3, 0, 1, (100, 100, 3), 'uint8')),  # noqa
-+#    (JPGB_08_08_3_0_1F_YBR_FULL_422, (JPGB, 8, 3, 0, 1, (100, 100, 3), 'uint8')),  # noqa
-+#    (JPGB_08_08_3_0_1F_YBR_FULL_444, (JPGB, 8, 3, 0, 1, (100, 100, 3), 'uint8')),  # noqa
-+#    (JPGB_08_08_3_0_1F_RGB, (JPGB, 8, 3, 0, 1, (256, 256, 3), 'uint8')),
-+#    (JPGB_08_08_3_0_1F_RGB_APP14, (JPGB, 8, 3, 0, 1, (256, 256, 3), 'uint8')),
-+#    (J2KR_08_08_3_0_1F_YBR_ICT, (J2KR, 8, 3, 0, 1, (480, 640, 3), 'uint8')),
-+#    (J2KR_16_10_1_0_1F_M1, (J2KR, 16, 1, 0, 1, (1760, 1760), 'uint16')),
-+#    (J2KR_16_12_1_0_1F_M2, (J2KR, 16, 1, 0, 1, (1024, 1024), 'uint16')),
-+#    (J2KR_16_15_1_0_1F_M1, (J2KR, 16, 1, 0, 1, (1955, 1841), 'uint16')),
-+#    (J2KR_16_16_1_0_10F_M2, (J2KR, 16, 1, 0, 10, (10, 64, 64), 'uint16')),
-+#    (J2KR_16_14_1_1_1F_M2, (J2KR, 16, 1, 1, 1, (512, 512), 'int16')),
-+#    (J2KR_16_16_1_1_1F_M2, (J2KR, 16, 1, 1, 1, (64, 64), 'int16')),
-+#    (J2KI_08_08_3_0_1F_RGB, (J2KI, 8, 3, 0, 1, (100, 100, 3), 'uint8')),
-+#    (J2KI_08_08_3_0_1F_YBR_ICT, (J2KI, 8, 3, 0, 1, (480, 640, 3), 'uint8')),
-+#    (J2KI_16_10_1_0_1F_M1, (J2KI, 16, 1, 0, 1, (1760, 1760), 'uint16')),
-+#    (J2KI_16_12_1_0_1F_M2, (J2KI, 16, 1, 0, 1, (1024, 1024), 'uint16')),
-+#    (J2KI_16_15_1_0_1F_M1, (J2KI, 16, 1, 0, 1, (1955, 1841), 'uint16')),
-+#    (J2KI_16_14_1_1_1F_M2, (J2KI, 16, 1, 1, 1, (512, 512), 'int16')),
-+#    (J2KI_16_16_1_1_1F_M2, (J2KI, 16, 1, 1, 1, (1024, 256), 'int16')),
- ]
--
-+#
- JPEG_MATCHING_DATASETS = [
--    # (compressed, reference, hard coded check values)
--    pytest.param(
--        JPGB_08_08_3_0_1F_YBR_FULL_422_411,
--        get_testdata_file("SC_rgb_dcmtk_ebcynp_dcmd.dcm"),
--        [
--            (253, 1, 0), (253, 128, 132), (0, 255, 5), (127, 255, 127),
--            (1, 0, 254), (127, 128, 255), (0, 0, 0), (64, 64, 64),
--            (192, 192, 192), (255, 255, 255),
--        ],
--        marks=pytest.mark.xfail(reason="Resulting image is a bad match")
--    ),
--    pytest.param(
--        JPGB_08_08_3_0_1F_YBR_FULL_422_422,
--        get_testdata_file("SC_rgb_dcmtk_ebcys2_dcmd.dcm"),
--        [
--            (254, 0, 0), (255, 127, 127), (0, 255, 5), (129, 255, 129),
--            (0, 0, 254), (128, 127, 255), (0, 0, 0), (64, 64, 64),
--            (192, 192, 192), (255, 255, 255),
--        ],
--    ),
--    pytest.param(
--        JPGB_08_08_3_0_1F_YBR_FULL_411,
--        get_testdata_file("SC_rgb_dcmtk_ebcyn1_dcmd.dcm"),
--        [
--            (253, 1, 0), (253, 128, 132), (0, 255, 5), (127, 255, 127),
--            (1, 0, 254), (127, 128, 255), (0, 0, 0), (64, 64, 64),
--            (192, 192, 192), (255, 255, 255),
--        ],
--        marks=pytest.mark.xfail(reason="Resulting image is a bad match")
--    ),
--    pytest.param(
--        JPGB_08_08_3_0_1F_YBR_FULL_422,
--        get_testdata_file("SC_rgb_dcmtk_ebcyn2_dcmd.dcm"),
--        [
--            (254, 0, 0), (255, 127, 127), (0, 255, 5), (129, 255, 129),
--            (0, 0, 254), (128, 127, 255), (0, 0, 0), (64, 64, 64),
--            (192, 192, 192), (255, 255, 255),
--        ],
--    ),
--    pytest.param(
--        JPGB_08_08_3_0_1F_YBR_FULL_444,
--        get_testdata_file("SC_rgb_dcmtk_ebcys4_dcmd.dcm"),
--        [
--            (254, 0, 0), (255, 127, 127), (0, 255, 5), (129, 255, 129),
--            (0, 0, 254), (128, 127, 255), (0, 0, 0), (64, 64, 64),
--            (192, 192, 192), (255, 255, 255),
--        ],
--    ),
--    pytest.param(
--        JPGB_08_08_3_0_1F_RGB,
--        get_testdata_file("SC_rgb_jpeg_dcmd.dcm"),
--        [
--            (244, 244, 244), (244, 244, 244), (244, 244, 244), (244, 244, 244),
--            (236, 237, 234), (244, 244, 244), (244, 244, 244), (244, 244, 244),
--            (244, 244, 244), (244, 244, 244),
--        ],
--    ),
--    pytest.param(
--        JPGB_08_08_3_0_1F_RGB_APP14,
--        get_testdata_file("SC_rgb_jpeg_app14_dcmd.dcm"),
--        [
--            (246, 246, 246), (246, 246, 246), (246, 246, 246), (246, 246, 246),
--            (246, 246, 246), (244, 244, 246), (246, 246, 246), (246, 246, 246),
--            (246, 246, 246), (246, 246, 246),
--        ],
--    ),
-+#    # (compressed, reference, hard coded check values)
-+#    pytest.param(
-+#        JPGB_08_08_3_0_1F_YBR_FULL_422_411,
-+#        get_testdata_file("SC_rgb_dcmtk_ebcynp_dcmd.dcm"),
-+#        [
-+#            (253, 1, 0), (253, 128, 132), (0, 255, 5), (127, 255, 127),
-+#            (1, 0, 254), (127, 128, 255), (0, 0, 0), (64, 64, 64),
-+#            (192, 192, 192), (255, 255, 255),
-+#        ],
-+#        marks=pytest.mark.xfail(reason="Resulting image is a bad match")
-+#    ),
-+#    pytest.param(
-+#        JPGB_08_08_3_0_1F_YBR_FULL_422_422,
-+#        get_testdata_file("SC_rgb_dcmtk_ebcys2_dcmd.dcm"),
-+#        [
-+#            (254, 0, 0), (255, 127, 127), (0, 255, 5), (129, 255, 129),
-+#            (0, 0, 254), (128, 127, 255), (0, 0, 0), (64, 64, 64),
-+#            (192, 192, 192), (255, 255, 255),
-+#        ],
-+#    ),
-+#    pytest.param(
-+#        JPGB_08_08_3_0_1F_YBR_FULL_411,
-+#        get_testdata_file("SC_rgb_dcmtk_ebcyn1_dcmd.dcm"),
-+#        [
-+#            (253, 1, 0), (253, 128, 132), (0, 255, 5), (127, 255, 127),
-+#            (1, 0, 254), (127, 128, 255), (0, 0, 0), (64, 64, 64),
-+#            (192, 192, 192), (255, 255, 255),
-+#        ],
-+#        marks=pytest.mark.xfail(reason="Resulting image is a bad match")
-+#    ),
-+#    pytest.param(
-+#        JPGB_08_08_3_0_1F_YBR_FULL_422,
-+#        get_testdata_file("SC_rgb_dcmtk_ebcyn2_dcmd.dcm"),
-+#        [
-+#            (254, 0, 0), (255, 127, 127), (0, 255, 5), (129, 255, 129),
-+#            (0, 0, 254), (128, 127, 255), (0, 0, 0), (64, 64, 64),
-+#            (192, 192, 192), (255, 255, 255),
-+#        ],
-+#    ),
-+#    pytest.param(
-+#        JPGB_08_08_3_0_1F_YBR_FULL_444,
-+#        get_testdata_file("SC_rgb_dcmtk_ebcys4_dcmd.dcm"),
-+#        [
-+#            (254, 0, 0), (255, 127, 127), (0, 255, 5), (129, 255, 129),
-+#            (0, 0, 254), (128, 127, 255), (0, 0, 0), (64, 64, 64),
-+#            (192, 192, 192), (255, 255, 255),
-+#        ],
-+#    ),
-+#    pytest.param(
-+#        JPGB_08_08_3_0_1F_RGB,
-+#        get_testdata_file("SC_rgb_jpeg_dcmd.dcm"),
-+#        [
-+#            (244, 244, 244), (244, 244, 244), (244, 244, 244), (244, 244, 244),
-+#            (236, 237, 234), (244, 244, 244), (244, 244, 244), (244, 244, 244),
-+#            (244, 244, 244), (244, 244, 244),
-+#        ],
-+#    ),
-+#    pytest.param(
-+#        JPGB_08_08_3_0_1F_RGB_APP14,
-+#        get_testdata_file("SC_rgb_jpeg_app14_dcmd.dcm"),
-+#        [
-+#            (246, 246, 246), (246, 246, 246), (246, 246, 246), (246, 246, 246),
-+#            (246, 246, 246), (244, 244, 246), (246, 246, 246), (246, 246, 246),
-+#            (246, 246, 246), (246, 246, 246),
-+#        ],
-+#    ),
- ]
- JPEG2K_MATCHING_DATASETS = [
--    # (compressed, reference, fixes)
--    pytest.param(
--        J2KR_08_08_3_0_1F_YBR_ICT,
--        get_testdata_file("US1_UNCR.dcm"),
--        {},
--    ),
--    pytest.param(
--        J2KR_16_10_1_0_1F_M1,
--        get_testdata_file("RG3_UNCR.dcm"),
--        {},
--    ),
--    pytest.param(
--        J2KR_16_12_1_0_1F_M2,
--        get_testdata_file("MR2_UNCR.dcm"),
--        {},
--    ),
--    pytest.param(
--        J2KR_16_15_1_0_1F_M1,
--        get_testdata_file("RG1_UNCR.dcm"),
--        {},
--    ),
--    pytest.param(
--        J2KR_16_16_1_0_10F_M2,
--        get_testdata_file("emri_small.dcm"),
--        {'BitsStored': 16},
--    ),
--    pytest.param(
--        J2KR_16_14_1_1_1F_M2,
--        get_testdata_file("693_UNCR.dcm"),
--        {'BitsStored': 14},
--    ),
--    pytest.param(
--        J2KR_16_16_1_1_1F_M2,
--        get_testdata_file("MR_small.dcm"),
--        {},
--    ),
--    pytest.param(
--        J2KI_08_08_3_0_1F_RGB,
--        get_testdata_file("SC_rgb_gdcm2k_uncompressed.dcm"),
--        {},
--    ),
--    pytest.param(
--        J2KI_08_08_3_0_1F_YBR_ICT,
--        get_testdata_file("US1_UNCI.dcm"),
--        {},
--    ),
--    pytest.param(
--        J2KI_16_10_1_0_1F_M1,
--        get_testdata_file("RG3_UNCI.dcm"),
--        {},
--    ),
--    pytest.param(
--        J2KI_16_12_1_0_1F_M2,
--        get_testdata_file("MR2_UNCI.dcm"),
--        {},
--    ),
--    pytest.param(
--        J2KI_16_15_1_0_1F_M1,
--        get_testdata_file("RG1_UNCI.dcm"),
--        {},
--    ),
--    pytest.param(
--        J2KI_16_14_1_1_1F_M2,
--        get_testdata_file("693_UNCI.dcm"),
--        {'BitsStored': 16},
--    ),
--    pytest.param(
--        J2KI_16_16_1_1_1F_M2,
--        get_testdata_file("JPEG2000_UNC.dcm"),
--        {},
--    ),
-+#    # (compressed, reference, fixes)
-+#    pytest.param(
-+#        J2KR_08_08_3_0_1F_YBR_ICT,
-+#        get_testdata_file("US1_UNCR.dcm"),
-+#        {},
-+#    ),
-+#    pytest.param(
-+#        J2KR_16_10_1_0_1F_M1,
-+#        get_testdata_file("RG3_UNCR.dcm"),
-+#        {},
-+#    ),
-+#    pytest.param(
-+#        J2KR_16_12_1_0_1F_M2,
-+#        get_testdata_file("MR2_UNCR.dcm"),
-+#        {},
-+#    ),
-+#    pytest.param(
-+#        J2KR_16_15_1_0_1F_M1,
-+#        get_testdata_file("RG1_UNCR.dcm"),
-+#        {},
-+#    ),
-+#    pytest.param(
-+#        J2KR_16_16_1_0_10F_M2,
-+#        get_testdata_file("emri_small.dcm"),
-+#        {'BitsStored': 16},
-+#    ),
-+#    pytest.param(
-+#        J2KR_16_14_1_1_1F_M2,
-+#        get_testdata_file("693_UNCR.dcm"),
-+#        {'BitsStored': 14},
-+#    ),
-+#    pytest.param(
-+#        J2KR_16_16_1_1_1F_M2,
-+#        get_testdata_file("MR_small.dcm"),
-+#        {},
-+#    ),
-+#    pytest.param(
-+#        J2KI_08_08_3_0_1F_RGB,
-+#        get_testdata_file("SC_rgb_gdcm2k_uncompressed.dcm"),
-+#        {},
-+#    ),
-+#    pytest.param(
-+#        J2KI_08_08_3_0_1F_YBR_ICT,
-+#        get_testdata_file("US1_UNCI.dcm"),
-+#        {},
-+#    ),
-+#    pytest.param(
-+#        J2KI_16_10_1_0_1F_M1,
-+#        get_testdata_file("RG3_UNCI.dcm"),
-+#        {},
-+#    ),
-+#    pytest.param(
-+#        J2KI_16_12_1_0_1F_M2,
-+#        get_testdata_file("MR2_UNCI.dcm"),
-+#        {},
-+#    ),
-+#    pytest.param(
-+#        J2KI_16_15_1_0_1F_M1,
-+#        get_testdata_file("RG1_UNCI.dcm"),
-+#        {},
-+#    ),
-+#    pytest.param(
-+#        J2KI_16_14_1_1_1F_M2,
-+#        get_testdata_file("693_UNCI.dcm"),
-+#        {'BitsStored': 16},
-+#    ),
-+#    pytest.param(
-+#        J2KI_16_16_1_1_1F_M2,
-+#        get_testdata_file("JPEG2000_UNC.dcm"),
-+#        {},
-+#    ),
- ]
- 
- 
-@@ -398,6 +399,7 @@ class TestPillowHandler_JPEG2K:
-         assert HAVE_PIL
-         assert PIL_HANDLER is not None
- 
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_unsupported_syntax_raises(self):
-         """Test pixel_array raises exception for unsupported syntaxes."""
-         pydicom.config.pixel_data_handlers = [PIL_HANDLER]
-@@ -408,6 +410,7 @@ class TestPillowHandler_JPEG2K:
-             with pytest.raises((NotImplementedError, RuntimeError)):
-                 ds.pixel_array
- 
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     @pytest.mark.parametrize("fpath, data", REFERENCE_DATA_UNSUPPORTED)
-     def test_can_access_unsupported_dataset(self, fpath, data):
-         """Test can read and access elements in unsupported datasets."""
-@@ -415,6 +418,7 @@ class TestPillowHandler_JPEG2K:
-         assert data[0] == ds.file_meta.TransferSyntaxUID
-         assert data[1] == ds.PatientName
- 
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     @pytest.mark.parametrize('fpath, data', REFERENCE_DATA)
-     def test_properties(self, fpath, data):
-         """Test dataset and pixel array properties are as expected."""
-@@ -439,6 +443,7 @@ class TestPillowHandler_JPEG2K:
-         assert data[5] == arr.shape
-         assert arr.dtype == data[6]
- 
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     @pytest.mark.parametrize('fpath, rpath, fixes', JPEG2K_MATCHING_DATASETS)
-     def test_array(self, fpath, rpath, fixes):
-         """Test pixel_array returns correct values."""
-@@ -453,6 +458,7 @@ class TestPillowHandler_JPEG2K:
-         ref = dcmread(rpath).pixel_array
-         assert np.array_equal(arr, ref)
- 
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_warning(self):
-         """Test that the precision warning works OK."""
-         ds = dcmread(J2KR_16_14_1_1_1F_M2)
-@@ -464,6 +470,7 @@ class TestPillowHandler_JPEG2K:
-         with pytest.warns(UserWarning, match=msg):
-             ds.pixel_array
- 
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_decompress_using_pillow(self):
-         """Test decompressing JPEG2K with pillow handler succeeds."""
-         ds = dcmread(J2KR_16_14_1_1_1F_M2)
-@@ -474,6 +481,8 @@ class TestPillowHandler_JPEG2K:
-         ref = ds.pixel_array
-         assert np.array_equal(arr, ref)
- 
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_changing_bits_stored(self):
-         """Test changing BitsStored affects the pixel data."""
-         pydicom.config.APPLY_J2K_CORRECTIONS = False
-@@ -486,6 +495,7 @@ class TestPillowHandler_JPEG2K:
-         arr_14 = ds.pixel_array
-         assert not np.array_equal(arr, arr_14)
- 
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_pixel_rep_mismatch(self):
-         """Test mismatched j2k sign and Pixel Representation."""
-         ds = dcmread(J2KR_16_13_1_1_1F_M2_MISMATCH)
-@@ -529,6 +539,7 @@ class TestPillowHandler_JPEG:
-         assert HAVE_PIL
-         assert PIL_HANDLER is not None
- 
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_unsupported_syntax_raises(self):
-         """Test pixel_array raises exception for unsupported syntaxes."""
-         pydicom.config.pixel_data_handlers = [PIL_HANDLER]
-@@ -546,6 +557,7 @@ class TestPillowHandler_JPEG:
-         assert data[0] == ds.file_meta.TransferSyntaxUID
-         assert data[1] == ds.PatientName
- 
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     @pytest.mark.parametrize('fpath, data', REFERENCE_DATA)
-     def test_properties(self, fpath, data):
-         """Test dataset and pixel array properties are as expected."""
-@@ -564,6 +576,7 @@ class TestPillowHandler_JPEG:
-         assert data[5] == arr.shape
-         assert arr.dtype == data[6]
- 
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     @pytest.mark.parametrize('fpath, rpath, values', JPEG_MATCHING_DATASETS)
-     def test_array(self, fpath, rpath, values):
-         """Test pixel_array returns correct values."""
-@@ -588,6 +601,7 @@ class TestPillowHandler_JPEG:
- 
-         assert np.array_equal(arr, ref)
- 
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_color_3d(self):
-         """Test decoding JPEG with pillow handler succeeds."""
-         ds = dcmread(JPGB_08_08_3_0_120F_YBR_FULL_422)
-@@ -602,6 +616,7 @@ class TestPillowHandler_JPEG:
- 
-         assert "YBR_FULL_422" == ds.PhotometricInterpretation
- 
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_JPGE_16bit_raises(self):
-         """Test decoding JPEG lossy with pillow handler fails."""
-         ds = dcmread(JPGE_16_12_1_0_1F_M2)
-@@ -612,6 +627,7 @@ class TestPillowHandler_JPEG:
-         with pytest.raises(NotImplementedError, match=msg):
-             ds.pixel_array
- 
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_JPGL_raises(self):
-         """Test decoding JPEG Lossless with pillow handler fails."""
-         ds = dcmread(JPGL_16_16_1_1_1F_M2)
-@@ -619,6 +635,7 @@ class TestPillowHandler_JPEG:
-         with pytest.raises(NotImplementedError, match=msg):
-             ds.pixel_array
- 
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_JPGB_odd_data_size(self):
-         """Test decoding JPEG Baseline with pillow handler succeeds."""
-         ds = dcmread(JPGB_08_08_3_0_1F_YBR_FULL)
---- a/pydicom/tests/test_pylibjpeg.py
-+++ b/pydicom/tests/test_pylibjpeg.py
-@@ -71,258 +71,258 @@ UNSUPPORTED_SYNTAXES = list(
-     set(AllTransferSyntaxes) ^ set(SUPPORTED_SYNTAXES)
- )
- 
--# Transfer syntaxes supported by other handlers
--IMPL = get_testdata_file("MR_small_implicit.dcm")
--EXPL = get_testdata_file("OBXXXX1A.dcm")
--EXPB = get_testdata_file("OBXXXX1A_expb.dcm")
--DEFL = get_testdata_file("image_dfl.dcm")
--
--REFERENCE_DATA_UNSUPPORTED = [
--    (IMPL, ('1.2.840.10008.1.2', 'CompressedSamples^MR1')),
--    (EXPL, ('1.2.840.10008.1.2.1', 'OB^^^^')),
--    (EXPB, ('1.2.840.10008.1.2.2', 'OB^^^^')),
--    (DEFL, ('1.2.840.10008.1.2.1.99', '^^^^')),
--]
--
--# RLE Lossless - PackBits algorithm
--RLE_8_1_1F = get_testdata_file("OBXXXX1A_rle.dcm")
--RLE_8_1_2F = get_testdata_file("OBXXXX1A_rle_2frame.dcm")
--RLE_8_3_1F = get_testdata_file("SC_rgb_rle.dcm")
--RLE_8_3_2F = get_testdata_file("SC_rgb_rle_2frame.dcm")
--RLE_16_1_1F = get_testdata_file("MR_small_RLE.dcm")
--RLE_16_1_10F = get_testdata_file("emri_small_RLE.dcm")
--RLE_16_3_1F = get_testdata_file("SC_rgb_rle_16bit.dcm")
--RLE_16_3_2F = get_testdata_file("SC_rgb_rle_16bit_2frame.dcm")
--RLE_32_1_1F = get_testdata_file("rtdose_rle_1frame.dcm")
--RLE_32_1_15F = get_testdata_file("rtdose_rle.dcm")
--RLE_32_3_1F = get_testdata_file("SC_rgb_rle_32bit.dcm")
--RLE_32_3_2F = get_testdata_file("SC_rgb_rle_32bit_2frame.dcm")
--
--# JPEG - ISO/IEC 10918 Standard
--# FMT_BA_BV_SPX_PR_FRAMESF_PI
--# JPGB: 1.2.840.10008.1.2.4.50 - JPEG Baseline (8-bit only)
--JPGB_08_08_3_0_1F_YBR_FULL = get_testdata_file("SC_rgb_small_odd_jpeg.dcm")
--JPGB_08_08_3_0_120F_YBR_FULL_422 = get_testdata_file("color3d_jpeg_baseline.dcm")  # noqa
--# Different subsampling 411, 422, 444
--JPGB_08_08_3_0_1F_YBR_FULL_422_411 = get_testdata_file("SC_rgb_dcmtk_+eb+cy+np.dcm")  # noqa
--JPGB_08_08_3_0_1F_YBR_FULL_422_422 = get_testdata_file("SC_rgb_dcmtk_+eb+cy+s2.dcm")  # noqa
--JPGB_08_08_3_0_1F_YBR_FULL_411 = get_testdata_file("SC_rgb_dcmtk_+eb+cy+n1.dcm")  # noqa
--JPGB_08_08_3_0_1F_YBR_FULL_422 = get_testdata_file("SC_rgb_dcmtk_+eb+cy+n2.dcm")  # noqa
--JPGB_08_08_3_0_1F_YBR_FULL_444 = get_testdata_file("SC_rgb_dcmtk_+eb+cy+s4.dcm")  # noqa
--JPGB_08_08_3_0_1F_RGB = get_testdata_file("SC_rgb_dcmtk_+eb+cr.dcm")
--# JPGE: 1.2.840.1.2.4.51 - JPEG Extended
--JPGE_BAD = get_testdata_file("JPEG-lossy.dcm")  # Bad JPEG file
--JPGE_16_12_1_0_1F_M2 = get_testdata_file("JPGExtended.dcm")  # Fixed version
--# JPGL: 1.2.840.10008.1.2.4.70 - JPEG Lossless, Non-hierarchical, 1st Order
--JPGL_08_08_1_0_1F = get_testdata_file("JPGLosslessP14SV1_1s_1f_8b.dcm")
--JPGL_16_16_1_1_1F_M2 = get_testdata_file("JPEG-LL.dcm")
--
--JPGB = JPEGBaseline8Bit
--JPGE = JPEGExtended12Bit
--JPGL = JPEGLosslessSV1
--
-+## Transfer syntaxes supported by other handlers
-+#IMPL = get_testdata_file("MR_small_implicit.dcm")
-+#EXPL = get_testdata_file("OBXXXX1A.dcm")
-+#EXPB = get_testdata_file("OBXXXX1A_expb.dcm")
-+#DEFL = get_testdata_file("image_dfl.dcm")
-+#
-+#REFERENCE_DATA_UNSUPPORTED = [
-+#    (IMPL, ('1.2.840.10008.1.2', 'CompressedSamples^MR1')),
-+#    (EXPL, ('1.2.840.10008.1.2.1', 'OB^^^^')),
-+#    (EXPB, ('1.2.840.10008.1.2.2', 'OB^^^^')),
-+#    (DEFL, ('1.2.840.10008.1.2.1.99', '^^^^')),
-+#]
-+#
-+## RLE Lossless - PackBits algorithm
-+#RLE_8_1_1F = get_testdata_file("OBXXXX1A_rle.dcm")
-+#RLE_8_1_2F = get_testdata_file("OBXXXX1A_rle_2frame.dcm")
-+#RLE_8_3_1F = get_testdata_file("SC_rgb_rle.dcm")
-+#RLE_8_3_2F = get_testdata_file("SC_rgb_rle_2frame.dcm")
-+#RLE_16_1_1F = get_testdata_file("MR_small_RLE.dcm")
-+#RLE_16_1_10F = get_testdata_file("emri_small_RLE.dcm")
-+#RLE_16_3_1F = get_testdata_file("SC_rgb_rle_16bit.dcm")
-+#RLE_16_3_2F = get_testdata_file("SC_rgb_rle_16bit_2frame.dcm")
-+#RLE_32_1_1F = get_testdata_file("rtdose_rle_1frame.dcm")
-+#RLE_32_1_15F = get_testdata_file("rtdose_rle.dcm")
-+#RLE_32_3_1F = get_testdata_file("SC_rgb_rle_32bit.dcm")
-+#RLE_32_3_2F = get_testdata_file("SC_rgb_rle_32bit_2frame.dcm")
-+#
-+## JPEG - ISO/IEC 10918 Standard
-+## FMT_BA_BV_SPX_PR_FRAMESF_PI
-+## JPGB: 1.2.840.10008.1.2.4.50 - JPEG Baseline (8-bit only)
-+#JPGB_08_08_3_0_1F_YBR_FULL = get_testdata_file("SC_rgb_small_odd_jpeg.dcm")
-+#JPGB_08_08_3_0_120F_YBR_FULL_422 = get_testdata_file("color3d_jpeg_baseline.dcm")  # noqa
-+## Different subsampling 411, 422, 444
-+#JPGB_08_08_3_0_1F_YBR_FULL_422_411 = get_testdata_file("SC_rgb_dcmtk_+eb+cy+np.dcm")  # noqa
-+#JPGB_08_08_3_0_1F_YBR_FULL_422_422 = get_testdata_file("SC_rgb_dcmtk_+eb+cy+s2.dcm")  # noqa
-+#JPGB_08_08_3_0_1F_YBR_FULL_411 = get_testdata_file("SC_rgb_dcmtk_+eb+cy+n1.dcm")  # noqa
-+#JPGB_08_08_3_0_1F_YBR_FULL_422 = get_testdata_file("SC_rgb_dcmtk_+eb+cy+n2.dcm")  # noqa
-+#JPGB_08_08_3_0_1F_YBR_FULL_444 = get_testdata_file("SC_rgb_dcmtk_+eb+cy+s4.dcm")  # noqa
-+#JPGB_08_08_3_0_1F_RGB = get_testdata_file("SC_rgb_dcmtk_+eb+cr.dcm")
-+## JPGE: 1.2.840.1.2.4.51 - JPEG Extended
-+#JPGE_BAD = get_testdata_file("JPEG-lossy.dcm")  # Bad JPEG file
-+#JPGE_16_12_1_0_1F_M2 = get_testdata_file("JPGExtended.dcm")  # Fixed version
-+## JPGL: 1.2.840.10008.1.2.4.70 - JPEG Lossless, Non-hierarchical, 1st Order
-+#JPGL_08_08_1_0_1F = get_testdata_file("JPGLosslessP14SV1_1s_1f_8b.dcm")
-+#JPGL_16_16_1_1_1F_M2 = get_testdata_file("JPEG-LL.dcm")
-+#
-+#JPGB = JPEGBaseline8Bit
-+#JPGE = JPEGExtended12Bit
-+#JPGL = JPEGLosslessSV1
-+#
- JPG_REFERENCE_DATA = [
--    # fpath, (syntax, bits, nr samples, pixel repr, nr frames, shape, dtype)
--    (JPGB_08_08_3_0_120F_YBR_FULL_422, (JPGB, 8, 3, 0, 120, (120, 480, 640, 3), 'uint8')),  # noqa
--    (JPGB_08_08_3_0_1F_YBR_FULL_422_411, (JPGB, 8, 3, 0, 1, (100, 100, 3), 'uint8')),  # noqa
--    (JPGB_08_08_3_0_1F_YBR_FULL_422_422, (JPGB, 8, 3, 0, 1, (100, 100, 3), 'uint8')),  # noqa
--    (JPGB_08_08_3_0_1F_YBR_FULL_411, (JPGB, 8, 3, 0, 1, (100, 100, 3), 'uint8')),  # noqa
--    (JPGB_08_08_3_0_1F_YBR_FULL_422, (JPGB, 8, 3, 0, 1, (100, 100, 3), 'uint8')),  # noqa
--    (JPGB_08_08_3_0_1F_YBR_FULL_444, (JPGB, 8, 3, 0, 1, (100, 100, 3), 'uint8')),  # noqa
--    (JPGB_08_08_3_0_1F_RGB, (JPGB, 8, 3, 0, 1, (100, 100, 3), 'uint8')),
--    (JPGE_16_12_1_0_1F_M2, (JPGE, 16, 1, 0, 1, (1024, 256), 'uint16')),
--    (JPGL_08_08_1_0_1F, (JPGL, 8, 1, 0, 1, (768, 1024), 'uint8')),
--    (JPGL_16_16_1_1_1F_M2, (JPGL, 16, 1, 1, 1, (1024, 256), 'int16')),
-+#    # fpath, (syntax, bits, nr samples, pixel repr, nr frames, shape, dtype)
-+#    (JPGB_08_08_3_0_120F_YBR_FULL_422, (JPGB, 8, 3, 0, 120, (120, 480, 640, 3), 'uint8')),  # noqa
-+#    (JPGB_08_08_3_0_1F_YBR_FULL_422_411, (JPGB, 8, 3, 0, 1, (100, 100, 3), 'uint8')),  # noqa
-+#    (JPGB_08_08_3_0_1F_YBR_FULL_422_422, (JPGB, 8, 3, 0, 1, (100, 100, 3), 'uint8')),  # noqa
-+#    (JPGB_08_08_3_0_1F_YBR_FULL_411, (JPGB, 8, 3, 0, 1, (100, 100, 3), 'uint8')),  # noqa
-+#    (JPGB_08_08_3_0_1F_YBR_FULL_422, (JPGB, 8, 3, 0, 1, (100, 100, 3), 'uint8')),  # noqa
-+#    (JPGB_08_08_3_0_1F_YBR_FULL_444, (JPGB, 8, 3, 0, 1, (100, 100, 3), 'uint8')),  # noqa
-+#    (JPGB_08_08_3_0_1F_RGB, (JPGB, 8, 3, 0, 1, (100, 100, 3), 'uint8')),
-+#    (JPGE_16_12_1_0_1F_M2, (JPGE, 16, 1, 0, 1, (1024, 256), 'uint16')),
-+#    (JPGL_08_08_1_0_1F, (JPGL, 8, 1, 0, 1, (768, 1024), 'uint8')),
-+#    (JPGL_16_16_1_1_1F_M2, (JPGL, 16, 1, 1, 1, (1024, 256), 'int16')),
- ]
- JPG_MATCHING_DATASETS = [
--    # (compressed, reference, hard coded check values), px tolerance
--    pytest.param(
--        JPGB_08_08_3_0_1F_YBR_FULL_422_411,
--        get_testdata_file("SC_rgb_dcmtk_ebcynp_dcmd.dcm"),
--        [
--            (253, 1, 0), (253, 129, 131), (0, 255, 5), (127, 255, 129),
--            (0, 0, 254), (127, 128, 255), (0, 0, 0), (64, 64, 64),
--            (192, 192, 192), (255, 255, 255),
--        ],
--        2
--    ),
--    pytest.param(
--        JPGB_08_08_3_0_1F_YBR_FULL_422_422,
--        get_testdata_file("SC_rgb_dcmtk_ebcys2_dcmd.dcm"),
--        [
--            (254, 0, 0), (255, 127, 127), (0, 255, 5), (129, 255, 129),
--            (0, 0, 254), (128, 127, 255), (0, 0, 0), (64, 64, 64),
--            (192, 192, 192), (255, 255, 255),
--        ],
--        0
--    ),
--    pytest.param(
--        JPGB_08_08_3_0_1F_YBR_FULL_411,
--        get_testdata_file("SC_rgb_dcmtk_ebcyn1_dcmd.dcm"),
--        [
--            (253, 1, 0), (253, 129, 131), (0, 255, 5), (127, 255, 129),
--            (0, 0, 254), (127, 128, 255), (0, 0, 0), (64, 64, 64),
--            (192, 192, 192), (255, 255, 255),
--        ],
--        2
--    ),
--    pytest.param(
--        JPGB_08_08_3_0_1F_YBR_FULL_422,
--        get_testdata_file("SC_rgb_dcmtk_ebcyn2_dcmd.dcm"),
--        [
--            (254, 0, 0), (255, 127, 127), (0, 255, 5), (129, 255, 129),
--            (0, 0, 254), (128, 127, 255), (0, 0, 0), (64, 64, 64),
--            (192, 192, 192), (255, 255, 255),
--        ],
--        0
--    ),
--    pytest.param(
--        JPGB_08_08_3_0_1F_YBR_FULL_444,
--        get_testdata_file("SC_rgb_dcmtk_ebcys4_dcmd.dcm"),
--        [
--            (254, 0, 0), (255, 127, 127), (0, 255, 5), (129, 255, 129),
--            (0, 0, 254), (128, 127, 255), (0, 0, 0), (64, 64, 64),
--            (192, 192, 192), (255, 255, 255),
--        ],
--        0
--    ),
--    pytest.param(
--        JPGB_08_08_3_0_1F_RGB,
--        get_testdata_file("SC_rgb_dcmtk_ebcr_dcmd.dcm"),
--        [
--            (255, 0, 0), (255, 128, 128), (0, 255, 0), (128, 255, 128),
--            (0, 0, 255), (128, 128, 255), (0, 0, 0), (64, 64, 64),
--            (192, 192, 192), (255, 255, 255),
--        ],
--        1
--    ),
-+#    # (compressed, reference, hard coded check values), px tolerance
-+#    pytest.param(
-+#        JPGB_08_08_3_0_1F_YBR_FULL_422_411,
-+#        get_testdata_file("SC_rgb_dcmtk_ebcynp_dcmd.dcm"),
-+#        [
-+#            (253, 1, 0), (253, 129, 131), (0, 255, 5), (127, 255, 129),
-+#            (0, 0, 254), (127, 128, 255), (0, 0, 0), (64, 64, 64),
-+#            (192, 192, 192), (255, 255, 255),
-+#        ],
-+#        2
-+#    ),
-+#    pytest.param(
-+#        JPGB_08_08_3_0_1F_YBR_FULL_422_422,
-+#        get_testdata_file("SC_rgb_dcmtk_ebcys2_dcmd.dcm"),
-+#        [
-+#            (254, 0, 0), (255, 127, 127), (0, 255, 5), (129, 255, 129),
-+#            (0, 0, 254), (128, 127, 255), (0, 0, 0), (64, 64, 64),
-+#            (192, 192, 192), (255, 255, 255),
-+#        ],
-+#        0
-+#    ),
-+#    pytest.param(
-+#        JPGB_08_08_3_0_1F_YBR_FULL_411,
-+#        get_testdata_file("SC_rgb_dcmtk_ebcyn1_dcmd.dcm"),
-+#        [
-+#            (253, 1, 0), (253, 129, 131), (0, 255, 5), (127, 255, 129),
-+#            (0, 0, 254), (127, 128, 255), (0, 0, 0), (64, 64, 64),
-+#            (192, 192, 192), (255, 255, 255),
-+#        ],
-+#        2
-+#    ),
-+#    pytest.param(
-+#        JPGB_08_08_3_0_1F_YBR_FULL_422,
-+#        get_testdata_file("SC_rgb_dcmtk_ebcyn2_dcmd.dcm"),
-+#        [
-+#            (254, 0, 0), (255, 127, 127), (0, 255, 5), (129, 255, 129),
-+#            (0, 0, 254), (128, 127, 255), (0, 0, 0), (64, 64, 64),
-+#            (192, 192, 192), (255, 255, 255),
-+#        ],
-+#        0
-+#    ),
-+#    pytest.param(
-+#        JPGB_08_08_3_0_1F_YBR_FULL_444,
-+#        get_testdata_file("SC_rgb_dcmtk_ebcys4_dcmd.dcm"),
-+#        [
-+#            (254, 0, 0), (255, 127, 127), (0, 255, 5), (129, 255, 129),
-+#            (0, 0, 254), (128, 127, 255), (0, 0, 0), (64, 64, 64),
-+#            (192, 192, 192), (255, 255, 255),
-+#        ],
-+#        0
-+#    ),
-+#    pytest.param(
-+#        JPGB_08_08_3_0_1F_RGB,
-+#        get_testdata_file("SC_rgb_dcmtk_ebcr_dcmd.dcm"),
-+#        [
-+#            (255, 0, 0), (255, 128, 128), (0, 255, 0), (128, 255, 128),
-+#            (0, 0, 255), (128, 128, 255), (0, 0, 0), (64, 64, 64),
-+#            (192, 192, 192), (255, 255, 255),
-+#        ],
-+#        1
-+#    ),
- ]
--
--
--# JPEG-LS - ISO/IEC 14495 Standard
--JLSL = JPEGLSNearLossless
--JLSN = JPEGLSLossless
--JPEG_LS_LOSSLESS = get_testdata_file("MR_small_jpeg_ls_lossless.dcm")
-+#
-+#
-+## JPEG-LS - ISO/IEC 14495 Standard
-+#JLSL = JPEGLSNearLossless
-+#JLSN = JPEGLSLossless
-+#JPEG_LS_LOSSLESS = get_testdata_file("MR_small_jpeg_ls_lossless.dcm")
- JLS_REFERENCE_DATA = [
--    # fpath, (syntax, bits, nr samples, pixel repr, nr frames, shape, dtype)
--    (JPEG_LS_LOSSLESS, (JLSN, 16, 1, 1, 1, (64, 64), 'int16')),
-+#    # fpath, (syntax, bits, nr samples, pixel repr, nr frames, shape, dtype)
-+#    (JPEG_LS_LOSSLESS, (JLSN, 16, 1, 1, 1, (64, 64), 'int16')),
- ]
- 
- # JPEG 2000 - ISO/IEC 15444 Standard
- J2KR = JPEG2000Lossless
- J2KI = JPEG2000
--# J2KR: 1.2.840.100008.1.2.4.90 - JPEG 2000 Lossless
--J2KR_08_08_3_0_1F_YBR_ICT = get_testdata_file("US1_J2KR.dcm")
--J2KR_16_10_1_0_1F_M1 = get_testdata_file("RG3_J2KR.dcm")
--J2KR_16_12_1_0_1F_M2 = get_testdata_file("MR2_J2KR.dcm")
--J2KR_16_15_1_0_1F_M1 = get_testdata_file("RG1_J2KR.dcm")
--J2KR_16_16_1_0_10F_M2 = get_testdata_file("emri_small_jpeg_2k_lossless.dcm")
--J2KR_16_14_1_1_1F_M2 = get_testdata_file("693_J2KR.dcm")
--J2KR_16_16_1_1_1F_M2 = get_testdata_file("MR_small_jp2klossless.dcm")
--J2KR_16_13_1_1_1F_M2_MISMATCH = get_testdata_file("J2K_pixelrep_mismatch.dcm")
--# Non-conformant pixel data -> JP2 header present
--J2KR_08_08_3_0_1F_YBR_RCT = get_testdata_file("GDCMJ2K_TextGBR.dcm")
--# J2KI: 1.2.840.10008.1.2.4.91 - JPEG 2000
--J2KI_08_08_3_0_1F_RGB = get_testdata_file("SC_rgb_gdcm_KY.dcm")
--J2KI_08_08_3_0_1F_YBR_ICT = get_testdata_file("US1_J2KI.dcm")
--J2KI_16_10_1_0_1F_M1 = get_testdata_file("RG3_J2KI.dcm")
--J2KI_16_12_1_0_1F_M2 = get_testdata_file("MR2_J2KI.dcm")
--J2KI_16_15_1_0_1F_M1 = get_testdata_file("RG1_J2KI.dcm")
--J2KI_16_14_1_1_1F_M2 = get_testdata_file("693_J2KI.dcm")
--J2KI_16_16_1_1_1F_M2 = get_testdata_file("JPEG2000.dcm")
--
-+## J2KR: 1.2.840.100008.1.2.4.90 - JPEG 2000 Lossless
-+#J2KR_08_08_3_0_1F_YBR_ICT = get_testdata_file("US1_J2KR.dcm")
-+#J2KR_16_10_1_0_1F_M1 = get_testdata_file("RG3_J2KR.dcm")
-+#J2KR_16_12_1_0_1F_M2 = get_testdata_file("MR2_J2KR.dcm")
-+#J2KR_16_15_1_0_1F_M1 = get_testdata_file("RG1_J2KR.dcm")
-+#J2KR_16_16_1_0_10F_M2 = get_testdata_file("emri_small_jpeg_2k_lossless.dcm")
-+#J2KR_16_14_1_1_1F_M2 = get_testdata_file("693_J2KR.dcm")
-+#J2KR_16_16_1_1_1F_M2 = get_testdata_file("MR_small_jp2klossless.dcm")
-+#J2KR_16_13_1_1_1F_M2_MISMATCH = get_testdata_file("J2K_pixelrep_mismatch.dcm")
-+## Non-conformant pixel data -> JP2 header present
-+#J2KR_08_08_3_0_1F_YBR_RCT = get_testdata_file("GDCMJ2K_TextGBR.dcm")
-+## J2KI: 1.2.840.10008.1.2.4.91 - JPEG 2000
-+#J2KI_08_08_3_0_1F_RGB = get_testdata_file("SC_rgb_gdcm_KY.dcm")
-+#J2KI_08_08_3_0_1F_YBR_ICT = get_testdata_file("US1_J2KI.dcm")
-+#J2KI_16_10_1_0_1F_M1 = get_testdata_file("RG3_J2KI.dcm")
-+#J2KI_16_12_1_0_1F_M2 = get_testdata_file("MR2_J2KI.dcm")
-+#J2KI_16_15_1_0_1F_M1 = get_testdata_file("RG1_J2KI.dcm")
-+#J2KI_16_14_1_1_1F_M2 = get_testdata_file("693_J2KI.dcm")
-+#J2KI_16_16_1_1_1F_M2 = get_testdata_file("JPEG2000.dcm")
-+#
- J2K_REFERENCE_DATA = [
--    # fpath, (syntax, bits, nr samples, pixel repr, nr frames, shape, dtype)
--    (J2KR_08_08_3_0_1F_YBR_ICT, (J2KR, 8, 3, 0, 1, (480, 640, 3), 'uint8')),
--    (J2KR_16_10_1_0_1F_M1, (J2KR, 16, 1, 0, 1, (1760, 1760), 'uint16')),
--    (J2KR_16_12_1_0_1F_M2, (J2KR, 16, 1, 0, 1, (1024, 1024), 'uint16')),
--    (J2KR_16_15_1_0_1F_M1, (J2KR, 16, 1, 0, 1, (1955, 1841), 'uint16')),
--    # should be Bits Stored = 12
--    (J2KR_16_16_1_0_10F_M2, (J2KR, 16, 1, 0, 10, (10, 64, 64), 'uint16')),
--    # should be Bits Stored = 16
--    (J2KR_16_14_1_1_1F_M2, (J2KR, 16, 1, 1, 1, (512, 512), 'int16')),
--    (J2KR_16_16_1_1_1F_M2, (J2KR, 16, 1, 1, 1, (64, 64), 'int16')),
--    (J2KI_08_08_3_0_1F_RGB, (J2KI, 8, 3, 0, 1, (100, 100, 3), 'uint8')),
--    (J2KI_08_08_3_0_1F_YBR_ICT, (J2KI, 8, 3, 0, 1, (480, 640, 3), 'uint8')),
--    (J2KI_16_10_1_0_1F_M1, (J2KI, 16, 1, 0, 1, (1760, 1760), 'uint16')),
--    (J2KI_16_12_1_0_1F_M2, (J2KI, 16, 1, 0, 1, (1024, 1024), 'uint16')),
--    (J2KI_16_15_1_0_1F_M1, (J2KI, 16, 1, 0, 1, (1955, 1841), 'uint16')),
--    # should be Bits Stored = 16
--    (J2KI_16_14_1_1_1F_M2, (J2KI, 16, 1, 1, 1, (512, 512), 'int16')),
--    (J2KI_16_16_1_1_1F_M2, (J2KI, 16, 1, 1, 1, (1024, 256), 'int16')),
-+#    # fpath, (syntax, bits, nr samples, pixel repr, nr frames, shape, dtype)
-+#    (J2KR_08_08_3_0_1F_YBR_ICT, (J2KR, 8, 3, 0, 1, (480, 640, 3), 'uint8')),
-+#    (J2KR_16_10_1_0_1F_M1, (J2KR, 16, 1, 0, 1, (1760, 1760), 'uint16')),
-+#    (J2KR_16_12_1_0_1F_M2, (J2KR, 16, 1, 0, 1, (1024, 1024), 'uint16')),
-+#    (J2KR_16_15_1_0_1F_M1, (J2KR, 16, 1, 0, 1, (1955, 1841), 'uint16')),
-+#    # should be Bits Stored = 12
-+#    (J2KR_16_16_1_0_10F_M2, (J2KR, 16, 1, 0, 10, (10, 64, 64), 'uint16')),
-+#    # should be Bits Stored = 16
-+#    (J2KR_16_14_1_1_1F_M2, (J2KR, 16, 1, 1, 1, (512, 512), 'int16')),
-+#    (J2KR_16_16_1_1_1F_M2, (J2KR, 16, 1, 1, 1, (64, 64), 'int16')),
-+#    (J2KI_08_08_3_0_1F_RGB, (J2KI, 8, 3, 0, 1, (100, 100, 3), 'uint8')),
-+#    (J2KI_08_08_3_0_1F_YBR_ICT, (J2KI, 8, 3, 0, 1, (480, 640, 3), 'uint8')),
-+#    (J2KI_16_10_1_0_1F_M1, (J2KI, 16, 1, 0, 1, (1760, 1760), 'uint16')),
-+#    (J2KI_16_12_1_0_1F_M2, (J2KI, 16, 1, 0, 1, (1024, 1024), 'uint16')),
-+#    (J2KI_16_15_1_0_1F_M1, (J2KI, 16, 1, 0, 1, (1955, 1841), 'uint16')),
-+#    # should be Bits Stored = 16
-+#    (J2KI_16_14_1_1_1F_M2, (J2KI, 16, 1, 1, 1, (512, 512), 'int16')),
-+#    (J2KI_16_16_1_1_1F_M2, (J2KI, 16, 1, 1, 1, (1024, 256), 'int16')),
- ]
- J2K_MATCHING_DATASETS = [
--    # (compressed, reference, fixes)
--    pytest.param(
--        J2KR_08_08_3_0_1F_YBR_ICT,
--        get_testdata_file("US1_UNCR.dcm"),
--        {},
--    ),
--    pytest.param(
--        J2KR_16_10_1_0_1F_M1,
--        get_testdata_file("RG3_UNCR.dcm"),
--        {},
--    ),
--    pytest.param(
--        J2KR_16_12_1_0_1F_M2,
--        get_testdata_file("MR2_UNCR.dcm"),
--        {},
--    ),
--    pytest.param(
--        J2KR_16_15_1_0_1F_M1,
--        get_testdata_file("RG1_UNCR.dcm"),
--        {},
--    ),
--    pytest.param(
--        J2KR_16_16_1_0_10F_M2,
--        get_testdata_file("emri_small.dcm"),
--        {'BitsStored': 16},
--    ),
--    pytest.param(
--        J2KR_16_14_1_1_1F_M2,
--        get_testdata_file("693_UNCR.dcm"),
--        {'BitsStored': 14},
--    ),
--    pytest.param(
--        J2KR_16_16_1_1_1F_M2,
--        get_testdata_file("MR_small.dcm"),
--        {},
--    ),
--    pytest.param(
--        J2KI_08_08_3_0_1F_RGB,
--        get_testdata_file("SC_rgb_gdcm2k_uncompressed.dcm"),
--        {},
--    ),
--    pytest.param(
--        J2KI_08_08_3_0_1F_YBR_ICT,
--        get_testdata_file("US1_UNCI.dcm"),
--        {},
--    ),
--    pytest.param(
--        J2KI_16_10_1_0_1F_M1,
--        get_testdata_file("RG3_UNCI.dcm"),
--        {},
--    ),
--    pytest.param(
--        J2KI_16_12_1_0_1F_M2,
--        get_testdata_file("MR2_UNCI.dcm"),
--        {},
--    ),
--    pytest.param(
--        J2KI_16_15_1_0_1F_M1,
--        get_testdata_file("RG1_UNCI.dcm"),
--        {},
--    ),
--    pytest.param(
--        J2KI_16_14_1_1_1F_M2,
--        get_testdata_file("693_UNCI.dcm"),
--        {'BitsStored': 16},
--    ),
--    pytest.param(
--        J2KI_16_16_1_1_1F_M2,
--        get_testdata_file("JPEG2000_UNC.dcm"),
--        {},
--    ),
-+#    # (compressed, reference, fixes)
-+#    pytest.param(
-+#        J2KR_08_08_3_0_1F_YBR_ICT,
-+#        get_testdata_file("US1_UNCR.dcm"),
-+#        {},
-+#    ),
-+#    pytest.param(
-+#        J2KR_16_10_1_0_1F_M1,
-+#        get_testdata_file("RG3_UNCR.dcm"),
-+#        {},
-+#    ),
-+#    pytest.param(
-+#        J2KR_16_12_1_0_1F_M2,
-+#        get_testdata_file("MR2_UNCR.dcm"),
-+#        {},
-+#    ),
-+#    pytest.param(
-+#        J2KR_16_15_1_0_1F_M1,
-+#        get_testdata_file("RG1_UNCR.dcm"),
-+#        {},
-+#    ),
-+#    pytest.param(
-+#        J2KR_16_16_1_0_10F_M2,
-+#        get_testdata_file("emri_small.dcm"),
-+#        {'BitsStored': 16},
-+#    ),
-+#    pytest.param(
-+#        J2KR_16_14_1_1_1F_M2,
-+#        get_testdata_file("693_UNCR.dcm"),
-+#        {'BitsStored': 14},
-+#    ),
-+#    pytest.param(
-+#        J2KR_16_16_1_1_1F_M2,
-+#        get_testdata_file("MR_small.dcm"),
-+#        {},
-+#    ),
-+#    pytest.param(
-+#        J2KI_08_08_3_0_1F_RGB,
-+#        get_testdata_file("SC_rgb_gdcm2k_uncompressed.dcm"),
-+#        {},
-+#    ),
-+#    pytest.param(
-+#        J2KI_08_08_3_0_1F_YBR_ICT,
-+#        get_testdata_file("US1_UNCI.dcm"),
-+#        {},
-+#    ),
-+#    pytest.param(
-+#        J2KI_16_10_1_0_1F_M1,
-+#        get_testdata_file("RG3_UNCI.dcm"),
-+#        {},
-+#    ),
-+#    pytest.param(
-+#        J2KI_16_12_1_0_1F_M2,
-+#        get_testdata_file("MR2_UNCI.dcm"),
-+#        {},
-+#    ),
-+#    pytest.param(
-+#        J2KI_16_15_1_0_1F_M1,
-+#        get_testdata_file("RG1_UNCI.dcm"),
-+#        {},
-+#    ),
-+#    pytest.param(
-+#        J2KI_16_14_1_1_1F_M2,
-+#        get_testdata_file("693_UNCI.dcm"),
-+#        {'BitsStored': 16},
-+#    ),
-+#    pytest.param(
-+#        J2KI_16_16_1_1_1F_M2,
-+#        get_testdata_file("JPEG2000_UNC.dcm"),
-+#        {},
-+#    ),
- ]
- 
- 
-@@ -361,6 +361,7 @@ class TestHandler:
-             with pytest.raises((NotImplementedError, RuntimeError)):
-                 ds.pixel_array
- 
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     @pytest.mark.skipif(
-         HAVE_LJ or HAVE_OJ or HAVE_RLE, reason="plugins available"
-     )
-@@ -391,6 +392,7 @@ class TestHandler:
-         with pytest.raises(RuntimeError, match=msg):
-             ds.pixel_array
- 
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_change_photometric_interpretation(self):
-         """Test returned value."""
-         ds = dcmread(J2KR_16_12_1_0_1F_M2)
-@@ -409,6 +411,7 @@ class TestJPEG:
-         """Restore the environment."""
-         pydicom.config.pixel_data_handlers = self.original_handlers
- 
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     @pytest.mark.parametrize('fpath, data', JPG_REFERENCE_DATA)
-     def test_properties(self, fpath, data):
-         """Test dataset and pixel array properties are as expected."""
-@@ -425,6 +428,7 @@ class TestJPEG:
-         assert data[5] == arr.shape
-         assert arr.dtype == data[6]
- 
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     @pytest.mark.parametrize('fpath, rpath, val, tol', JPG_MATCHING_DATASETS)
-     def test_array(self, fpath, rpath, val, tol):
-         """Test pixel_array returns correct values."""
-@@ -450,6 +454,7 @@ class TestJPEG:
-         # All results within `tol` intensity units of the reference
-         assert np.allclose(arr, ref, atol=tol)
- 
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     @pytest.mark.parametrize('fpath, rpath, val, tol', JPG_MATCHING_DATASETS)
-     def test_generate_frames(self, fpath, rpath, val, tol):
-         """Test pixel_array returns correct values."""
-@@ -484,6 +489,7 @@ class TestJPEG:
-         with pytest.raises(RuntimeError, match=msg):
-             ds.pixel_array
- 
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_missing_element_raises(self):
-         """Test that missing required element raises exception."""
-         ds = dcmread(JPGB_08_08_3_0_1F_YBR_FULL)
-@@ -507,6 +513,7 @@ class TestJPEGLS:
-         """Restore the environment."""
-         pydicom.config.pixel_data_handlers = self.original_handlers
- 
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     @pytest.mark.parametrize('fpath, data', JLS_REFERENCE_DATA)
-     def test_properties(self, fpath, data):
-         """Test dataset and pixel array properties are as expected."""
-@@ -523,6 +530,7 @@ class TestJPEGLS:
-         assert data[5] == arr.shape
-         assert arr.dtype == data[6]
- 
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_arrary(self):
-         """Test returned array values are OK."""
-         ds = dcmread(JPEG_LS_LOSSLESS)
-@@ -546,6 +554,7 @@ class TestJPEG2K:
-         """Restore the environment."""
-         pydicom.config.pixel_data_handlers = self.original_handlers
- 
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     @pytest.mark.parametrize('fpath, data', J2K_REFERENCE_DATA)
-     def test_properties_as_array(self, fpath, data):
-         """Test dataset, pixel_array and as_array() are as expected."""
-@@ -584,6 +593,7 @@ class TestJPEG2K:
-         assert data[5] == arr.shape
-         assert arr.dtype == data[6]
- 
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     @pytest.mark.parametrize('fpath, rpath, fixes', J2K_MATCHING_DATASETS)
-     def test_array(self, fpath, rpath, fixes):
-         """Test pixel_array returns correct values."""
-@@ -597,6 +607,7 @@ class TestJPEG2K:
-         ref = dcmread(rpath).pixel_array
-         assert np.array_equal(arr, ref)
- 
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     @pytest.mark.parametrize('fpath, rpath, fixes', J2K_MATCHING_DATASETS)
-     def test_generate_frames(self, fpath, rpath, fixes):
-         """Test pixel_array returns correct values."""
-@@ -620,6 +631,7 @@ class TestJPEG2K:
-         with pytest.raises(StopIteration):
-             next(frame_generator)
- 
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_warnings(self):
-         """Test the plugin warnings work."""
-         # Bits Stored
-@@ -667,6 +679,7 @@ class TestJPEG2K:
-         with pytest.warns(UserWarning, match=msg):
-             ds.pixel_array
- 
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_decompress_using_pylibjpeg(self):
-         """Test decompressing JPEG2K with pylibjpeg handler succeeds."""
-         ds = dcmread(J2KR_16_12_1_0_1F_M2)
-@@ -677,6 +690,7 @@ class TestJPEG2K:
-         ref = ds.pixel_array
-         assert np.array_equal(arr, ref)
- 
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_pixel_rep_mismatch(self):
-         """Test mismatched j2k sign and Pixel Representation."""
-         ds = dcmread(J2KR_16_13_1_1_1F_M2_MISMATCH)
-@@ -706,37 +720,38 @@ class TestJPEG2K:
- 
- 
- RLE_REFERENCE_DATA = [
--    # fpath, (bits, nr samples, pixel repr, nr frames, shape, dtype)
--    (RLE_8_1_1F, (8, 1, 0, 1, (600, 800), 'uint8')),
--    (RLE_8_1_2F, (8, 1, 0, 2, (2, 600, 800), 'uint8')),
--    (RLE_8_3_1F, (8, 3, 0, 1, (100, 100, 3), 'uint8')),
--    (RLE_8_3_2F, (8, 3, 0, 2, (2, 100, 100, 3), 'uint8')),
--    (RLE_16_1_1F, (16, 1, 1, 1, (64, 64), 'int16')),
--    (RLE_16_1_10F, (16, 1, 0, 10, (10, 64, 64), 'uint16')),
--    (RLE_16_3_1F, (16, 3, 0, 1, (100, 100, 3), 'uint16')),
--    (RLE_16_3_2F, (16, 3, 0, 2, (2, 100, 100, 3), 'uint16')),
--    (RLE_32_1_1F, (32, 1, 0, 1, (10, 10), 'uint32')),
--    (RLE_32_1_15F, (32, 1, 0, 15, (15, 10, 10), 'uint32')),
--    (RLE_32_3_1F, (32, 3, 0, 1, (100, 100, 3), 'uint32')),
--    (RLE_32_3_2F, (32, 3, 0, 2, (2, 100, 100, 3), 'uint32')),
-+#    # fpath, (bits, nr samples, pixel repr, nr frames, shape, dtype)
-+#    (RLE_8_1_1F, (8, 1, 0, 1, (600, 800), 'uint8')),
-+#    (RLE_8_1_2F, (8, 1, 0, 2, (2, 600, 800), 'uint8')),
-+#    (RLE_8_3_1F, (8, 3, 0, 1, (100, 100, 3), 'uint8')),
-+#    (RLE_8_3_2F, (8, 3, 0, 2, (2, 100, 100, 3), 'uint8')),
-+#    (RLE_16_1_1F, (16, 1, 1, 1, (64, 64), 'int16')),
-+#    (RLE_16_1_10F, (16, 1, 0, 10, (10, 64, 64), 'uint16')),
-+#    (RLE_16_3_1F, (16, 3, 0, 1, (100, 100, 3), 'uint16')),
-+#    (RLE_16_3_2F, (16, 3, 0, 2, (2, 100, 100, 3), 'uint16')),
-+#    (RLE_32_1_1F, (32, 1, 0, 1, (10, 10), 'uint32')),
-+#    (RLE_32_1_15F, (32, 1, 0, 15, (15, 10, 10), 'uint32')),
-+#    (RLE_32_3_1F, (32, 3, 0, 1, (100, 100, 3), 'uint32')),
-+#    (RLE_32_3_2F, (32, 3, 0, 2, (2, 100, 100, 3), 'uint32')),
- ]
- RLE_MATCHING_DATASETS = [
--    # (compressed, reference)
--    pytest.param(RLE_8_1_1F, get_testdata_file("OBXXXX1A.dcm")),
--    pytest.param(RLE_8_1_2F, get_testdata_file("OBXXXX1A_2frame.dcm")),
--    pytest.param(RLE_8_3_1F, get_testdata_file("SC_rgb.dcm")),
--    pytest.param(RLE_8_3_2F, get_testdata_file("SC_rgb_2frame.dcm")),
--    pytest.param(RLE_16_1_1F, get_testdata_file("MR_small.dcm")),
--    pytest.param(RLE_16_1_10F, get_testdata_file("emri_small.dcm")),
--    pytest.param(RLE_16_3_1F, get_testdata_file("SC_rgb_16bit.dcm")),
--    pytest.param(RLE_16_3_2F, get_testdata_file("SC_rgb_16bit_2frame.dcm")),
--    pytest.param(RLE_32_1_1F, get_testdata_file("rtdose_1frame.dcm")),
--    pytest.param(RLE_32_1_15F, get_testdata_file("rtdose.dcm")),
--    pytest.param(RLE_32_3_1F, get_testdata_file("SC_rgb_32bit.dcm")),
--    pytest.param(RLE_32_3_2F, get_testdata_file("SC_rgb_32bit_2frame.dcm")),
-+#    # (compressed, reference)
-+#    pytest.param(RLE_8_1_1F, get_testdata_file("OBXXXX1A.dcm")),
-+#    pytest.param(RLE_8_1_2F, get_testdata_file("OBXXXX1A_2frame.dcm")),
-+#    pytest.param(RLE_8_3_1F, get_testdata_file("SC_rgb.dcm")),
-+#    pytest.param(RLE_8_3_2F, get_testdata_file("SC_rgb_2frame.dcm")),
-+#    pytest.param(RLE_16_1_1F, get_testdata_file("MR_small.dcm")),
-+#    pytest.param(RLE_16_1_10F, get_testdata_file("emri_small.dcm")),
-+#    pytest.param(RLE_16_3_1F, get_testdata_file("SC_rgb_16bit.dcm")),
-+#    pytest.param(RLE_16_3_2F, get_testdata_file("SC_rgb_16bit_2frame.dcm")),
-+#    pytest.param(RLE_32_1_1F, get_testdata_file("rtdose_1frame.dcm")),
-+#    pytest.param(RLE_32_1_15F, get_testdata_file("rtdose.dcm")),
-+#    pytest.param(RLE_32_3_1F, get_testdata_file("SC_rgb_32bit.dcm")),
-+#    pytest.param(RLE_32_3_2F, get_testdata_file("SC_rgb_32bit_2frame.dcm")),
- ]
- 
- 
-+ at pytest.mark.skip("When building a Debian package we can not download anything")
- @pytest.mark.skipif(not TEST_RLE, reason="no -rle plugin")
- class TestRLE:
-     def test_decompress_using_pylibjpeg(self):
---- a/pydicom/tests/test_JPEG_LS_transfer_syntax.py
-+++ b/pydicom/tests/test_JPEG_LS_transfer_syntax.py
-@@ -49,15 +49,16 @@ except ImportError:
-     gdcm_handler = None
-     HAVE_GDCM = False
- 
--mr_name = get_testdata_file("MR_small.dcm")
--jpeg_ls_lossless_name = get_testdata_file("MR_small_jpeg_ls_lossless.dcm")
--emri_name = get_testdata_file("emri_small.dcm")
--emri_jpeg_ls_lossless = get_testdata_file(
--    "emri_small_jpeg_ls_lossless.dcm")
-+#mr_name = get_testdata_file("MR_small.dcm")
-+#jpeg_ls_lossless_name = get_testdata_file("MR_small_jpeg_ls_lossless.dcm")
-+#emri_name = get_testdata_file("emri_small.dcm")
-+#emri_jpeg_ls_lossless = get_testdata_file(
-+#    "emri_small_jpeg_ls_lossless.dcm")
- dir_name = os.path.dirname(sys.argv[0])
- save_dir = os.getcwd()
- 
- 
-+ at pytest.mark.skip("When building a Debian package we can not download anything")
- class Test_JPEG_LS_Lossless_transfer_syntax():
-     def setup_method(self, method):
-         self.jpeg_ls_lossless = dcmread(jpeg_ls_lossless_name)
---- a/pydicom/tests/test_dataset.py
-+++ b/pydicom/tests/test_dataset.py
-@@ -20,7 +20,7 @@ except ImportError:
- import pydicom
- from pydicom import config
- from pydicom import dcmread
--from pydicom.data import get_testdata_file
-+#from pydicom.data import get_testdata_file
- from pydicom.dataelem import DataElement, RawDataElement
- from pydicom.dataset import (
-     Dataset, FileDataset, validate_file_meta, FileMetaDataset
-@@ -932,6 +932,7 @@ class TestDataset:
-         assert 'SOPInstanceUID' in group0000
-         assert 'SkipFrameRangeFlag' in group0000
- 
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_get_item(self):
-         """Test Dataset.get_item"""
-         ds = Dataset()
-@@ -1108,6 +1109,7 @@ class TestDataset:
-         item = ds.get_private_item(0x0009, 0x02, 'Creator 2.0')
-         assert 2 == item.value
- 
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_private_creator_from_raw_ds(self):
-         # regression test for #1078
-         ct_filename = get_testdata_file("CT_small.dcm")
-@@ -1119,6 +1121,7 @@ class TestDataset:
-         ds.private_block(0x13, 'GEMS_PATI_01', create=True)
-         assert ['GEMS_PATI_01'] == ds.private_creators(0x13)
- 
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_add_known_private_tag(self):
-         # regression test for #1082
-         ds = dcmread(get_testdata_file("CT_small.dcm"))
-@@ -1506,6 +1509,7 @@ class TestDataset:
-         ds.save_as(fp)
-         assert elem.is_undefined_length
- 
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_with(self):
-         """Test Dataset.__enter__ and __exit__."""
-         test_file = get_testdata_file('CT_small.dcm')
-@@ -1537,6 +1541,7 @@ class TestDataset:
-         with pytest.raises(ValueError, match="Random ex message!"):
-             getattr(DSException(), 'test')
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     def test_with(self):
+         """Test Dataset.__enter__ and __exit__."""
+         test_file = get_testdata_file('CT_small.dcm')
+@@ -1537,6 +1541,7 @@ class TestDataset:
+         with pytest.raises(ValueError, match="Random ex message!"):
+             getattr(DSException(), 'test')
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
      def test_pixel_array_already_have(self):
@@ -1448,452 +297,493 @@ Description: Several data files need to be downloaded which is not possible at p
  class TestDatasetOverlayArray:
      """Tests for Dataset.overlay_array()."""
  
---- a/pydicom/tests/test_gdcm_pixel_data.py
-+++ b/pydicom/tests/test_gdcm_pixel_data.py
-@@ -18,7 +18,7 @@ except ImportError:
+diff --git a/pydicom/tests/test_encaps.py b/pydicom/tests/test_encaps.py
+index 4c6cbc8..8c448f3 100644
+--- a/pydicom/tests/test_encaps.py
++++ b/pydicom/tests/test_encaps.py
+@@ -472,6 +472,7 @@ class TestGeneratePixelDataFrames:
+         assert next(frames) == b'\x03\x00\x00\x00\x02\x04'
+         pytest.raises(StopIteration, next, frames)
  
- import pydicom
- from pydicom.filereader import dcmread
--from pydicom.data import get_testdata_file
-+#from pydicom.data import get_testdata_file
- from pydicom.encaps import defragment_data
- from pydicom.pixel_data_handlers import numpy_handler, gdcm_handler
- from pydicom.pixel_data_handlers.util import (
-@@ -43,59 +43,60 @@ gdcm_im_missing_message = (
- )
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     def test_empty_bot_multi_fragments_per_frame(self):
+         """Test multi-frame where multiple frags per frame and no BOT."""
+         # Regression test for #685
+@@ -541,6 +542,7 @@ class TestGeneratePixelData:
+         with pytest.raises(ValueError, match=msg):
+             next(generate_pixel_data(bytestream))
  
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     def test_empty_bot_too_few_fragments(self):
+         """Test parsing with too few fragments."""
+         ds = dcmread(JP2K_10FRAME_NOBOT)
+@@ -1135,6 +1137,7 @@ class TestEncapsulateFrame:
+         pytest.raises(StopIteration, next, item_generator)
  
--empty_number_tags_name = get_testdata_file(
--    "reportsi_with_empty_number_tags.dcm")
--rtplan_name = get_testdata_file("rtplan.dcm")
--rtdose_name = get_testdata_file("rtdose.dcm")
--ct_name = get_testdata_file("CT_small.dcm")
--mr_name = get_testdata_file("MR_small.dcm")
--truncated_mr_name = get_testdata_file("MR_truncated.dcm")
--jpeg2000_name = get_testdata_file("JPEG2000.dcm")
--jpeg2000_lossless_name = get_testdata_file("MR_small_jp2klossless.dcm")
--jpeg_ls_lossless_name = get_testdata_file("MR_small_jpeg_ls_lossless.dcm")
--jpeg_lossy_name = get_testdata_file("JPEG-lossy.dcm")
--jpeg_lossless_name = get_testdata_file("JPEG-LL.dcm")
--jpeg_lossless_odd_data_size_name = get_testdata_file(
--    'SC_rgb_small_odd_jpeg.dcm')
--deflate_name = get_testdata_file("image_dfl.dcm")
--rtstruct_name = get_testdata_file("rtstruct.dcm")
--priv_SQ_name = get_testdata_file("priv_SQ.dcm")
--nested_priv_SQ_name = get_testdata_file("nested_priv_SQ.dcm")
--meta_missing_tsyntax_name = get_testdata_file("meta_missing_tsyntax.dcm")
--no_meta_group_length = get_testdata_file("no_meta_group_length.dcm")
--gzip_name = get_testdata_file("zipMR.gz")
--color_px_name = get_testdata_file("color-px.dcm")
--color_pl_name = get_testdata_file("color-pl.dcm")
--explicit_vr_le_no_meta = get_testdata_file("ExplVR_LitEndNoMeta.dcm")
--explicit_vr_be_no_meta = get_testdata_file("ExplVR_BigEndNoMeta.dcm")
--emri_name = get_testdata_file("emri_small.dcm")
--emri_big_endian_name = get_testdata_file("emri_small_big_endian.dcm")
--emri_jpeg_ls_lossless = get_testdata_file(
--    "emri_small_jpeg_ls_lossless.dcm")
--emri_jpeg_2k_lossless = get_testdata_file(
--    "emri_small_jpeg_2k_lossless.dcm")
--color_3d_jpeg_baseline = get_testdata_file("color3d_jpeg_baseline.dcm")
--sc_rgb_jpeg_dcmtk_411_YBR_FULL_422 = get_testdata_file(
--    "SC_rgb_dcmtk_+eb+cy+np.dcm")
--sc_rgb_jpeg_dcmtk_411_YBR_FULL = get_testdata_file(
--    "SC_rgb_dcmtk_+eb+cy+n1.dcm")
--sc_rgb_jpeg_dcmtk_422_YBR_FULL = get_testdata_file(
--    "SC_rgb_dcmtk_+eb+cy+n2.dcm")
--sc_rgb_jpeg_dcmtk_444_YBR_FULL = get_testdata_file(
--    "SC_rgb_dcmtk_+eb+cy+s4.dcm")
--sc_rgb_jpeg_dcmtk_422_YBR_FULL_422 = get_testdata_file(
--    "SC_rgb_dcmtk_+eb+cy+s2.dcm")
--sc_rgb_jpeg_dcmtk_RGB = get_testdata_file("SC_rgb_dcmtk_+eb+cr.dcm")
--sc_rgb_jpeg2k_gdcm_KY = get_testdata_file("SC_rgb_gdcm_KY.dcm")
--ground_truth_sc_rgb_jpeg2k_gdcm_KY_gdcm = get_testdata_file(
--    "SC_rgb_gdcm2k_uncompressed.dcm"
--)
--J2KR_16_13_1_1_1F_M2_MISMATCH = get_testdata_file("J2K_pixelrep_mismatch.dcm")
-+#empty_number_tags_name = get_testdata_file(
-+#    "reportsi_with_empty_number_tags.dcm")
-+#rtplan_name = get_testdata_file("rtplan.dcm")
-+#rtdose_name = get_testdata_file("rtdose.dcm")
-+#ct_name = get_testdata_file("CT_small.dcm")
-+#mr_name = get_testdata_file("MR_small.dcm")
-+#truncated_mr_name = get_testdata_file("MR_truncated.dcm")
-+#jpeg2000_name = get_testdata_file("JPEG2000.dcm")
-+#jpeg2000_lossless_name = get_testdata_file("MR_small_jp2klossless.dcm")
-+#jpeg_ls_lossless_name = get_testdata_file("MR_small_jpeg_ls_lossless.dcm")
-+#jpeg_lossy_name = get_testdata_file("JPEG-lossy.dcm")
-+#jpeg_lossless_name = get_testdata_file("JPEG-LL.dcm")
-+#jpeg_lossless_odd_data_size_name = get_testdata_file(
-+#    'SC_rgb_small_odd_jpeg.dcm')
-+#deflate_name = get_testdata_file("image_dfl.dcm")
-+#rtstruct_name = get_testdata_file("rtstruct.dcm")
-+#priv_SQ_name = get_testdata_file("priv_SQ.dcm")
-+#nested_priv_SQ_name = get_testdata_file("nested_priv_SQ.dcm")
-+#meta_missing_tsyntax_name = get_testdata_file("meta_missing_tsyntax.dcm")
-+#no_meta_group_length = get_testdata_file("no_meta_group_length.dcm")
-+#gzip_name = get_testdata_file("zipMR.gz")
-+#color_px_name = get_testdata_file("color-px.dcm")
-+#color_pl_name = get_testdata_file("color-pl.dcm")
-+#explicit_vr_le_no_meta = get_testdata_file("ExplVR_LitEndNoMeta.dcm")
-+#explicit_vr_be_no_meta = get_testdata_file("ExplVR_BigEndNoMeta.dcm")
-+#emri_name = get_testdata_file("emri_small.dcm")
-+#emri_big_endian_name = get_testdata_file("emri_small_big_endian.dcm")
-+#emri_jpeg_ls_lossless = get_testdata_file(
-+#    "emri_small_jpeg_ls_lossless.dcm")
-+#emri_jpeg_2k_lossless = get_testdata_file(
-+#    "emri_small_jpeg_2k_lossless.dcm")
-+#color_3d_jpeg_baseline = get_testdata_file("color3d_jpeg_baseline.dcm")
-+#sc_rgb_jpeg_dcmtk_411_YBR_FULL_422 = get_testdata_file(
-+#    "SC_rgb_dcmtk_+eb+cy+np.dcm")
-+#sc_rgb_jpeg_dcmtk_411_YBR_FULL = get_testdata_file(
-+#    "SC_rgb_dcmtk_+eb+cy+n1.dcm")
-+#sc_rgb_jpeg_dcmtk_422_YBR_FULL = get_testdata_file(
-+#    "SC_rgb_dcmtk_+eb+cy+n2.dcm")
-+#sc_rgb_jpeg_dcmtk_444_YBR_FULL = get_testdata_file(
-+#    "SC_rgb_dcmtk_+eb+cy+s4.dcm")
-+#sc_rgb_jpeg_dcmtk_422_YBR_FULL_422 = get_testdata_file(
-+#    "SC_rgb_dcmtk_+eb+cy+s2.dcm")
-+#sc_rgb_jpeg_dcmtk_RGB = get_testdata_file("SC_rgb_dcmtk_+eb+cr.dcm")
-+#sc_rgb_jpeg2k_gdcm_KY = get_testdata_file("SC_rgb_gdcm_KY.dcm")
-+#ground_truth_sc_rgb_jpeg2k_gdcm_KY_gdcm = get_testdata_file(
-+#    "SC_rgb_gdcm2k_uncompressed.dcm"
-+#)
-+#J2KR_16_13_1_1_1F_M2_MISMATCH = get_testdata_file("J2K_pixelrep_mismatch.dcm")
  
- dir_name = os.path.dirname(sys.argv[0])
- save_dir = os.getcwd()
++ at pytest.mark.skip("When building a Debian package we can not download anything")
+ class TestEncapsulate:
+     """Test encaps.encapsulate."""
+     def test_encapsulate_single_fragment_per_frame_no_bot(self):
+@@ -1229,6 +1232,7 @@ class TestEncapsulate:
+             encapsulate([frame_a, frame_b], has_bot=True)
+ 
+ 
++ at pytest.mark.skip("When building a Debian package we can not download anything")
+ class TestEncapsulateExtended:
+     """Tests for encaps.encapsulate_extended."""
+     def test_encapsulate(self):
+diff --git a/pydicom/tests/test_encoders.py b/pydicom/tests/test_encoders.py
+index c64f4f1..4ca6290 100644
+--- a/pydicom/tests/test_encoders.py
++++ b/pydicom/tests/test_encoders.py
+@@ -270,6 +270,7 @@ class TestEncoder:
+         assert 'foo - requires bar' == s[0]
+ 
+ 
++ at pytest.mark.skip("When building a Debian package we can not download anything")
+ @pytest.mark.skipif(not HAVE_NP, reason="Numpy not available")
+ class TestEncoder_Encode:
+     """Tests for Encoder.encode() and related methods."""
+diff --git a/pydicom/tests/test_encoders_gdcm.py b/pydicom/tests/test_encoders_gdcm.py
+index ed50c63..dc62ac4 100644
+--- a/pydicom/tests/test_encoders_gdcm.py
++++ b/pydicom/tests/test_encoders_gdcm.py
+@@ -21,18 +21,19 @@ except ImportError:
+     HAVE_GDCM = False
+     GDCM_VERSION = [0, 0, 0]
+ 
+-# EXPL: Explicit VR Little Endian
+-EXPL_8_1_1F = get_testdata_file("OBXXXX1A.dcm")
+-EXPL_8_3_1F = get_testdata_file("SC_rgb.dcm")
+-EXPL_16_1_1F = get_testdata_file("MR_small.dcm")
+-EXPL_16_3_1F = get_testdata_file("SC_rgb_16bit.dcm")
+-EXPL_32_1_1F = get_testdata_file("rtdose_1frame.dcm")
+-EXPL_32_3_1F = get_testdata_file("SC_rgb_32bit.dcm")
++## EXPL: Explicit VR Little Endian
++#EXPL_8_1_1F = get_testdata_file("OBXXXX1A.dcm")
++#EXPL_8_3_1F = get_testdata_file("SC_rgb.dcm")
++#EXPL_16_1_1F = get_testdata_file("MR_small.dcm")
++#EXPL_16_3_1F = get_testdata_file("SC_rgb_16bit.dcm")
++#EXPL_32_1_1F = get_testdata_file("rtdose_1frame.dcm")
++#EXPL_32_3_1F = get_testdata_file("SC_rgb_32bit.dcm")
+ 
  
+ @pytest.mark.skipif(not HAVE_GDCM, reason='GDCM plugin is not available')
+ class TestRLELossless:
+     """Tests for encoding RLE Lossless."""
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     def test_cycle_u8_1s_1f(self):
+         """Test an encode/decode cycle for 8-bit 1 sample/pixel."""
+         ds = dcmread(EXPL_8_1_1F)
+@@ -51,6 +52,7 @@ class TestRLELossless:
  
-+ at pytest.mark.skip("When building a Debian package we can not download anything")
- class TestGDCM_JPEG_LS_no_gdcm:
-     def setup_method(self):
-         self.unicode_filename = os.path.join(
-@@ -121,6 +122,7 @@ class TestGDCM_JPEG_LS_no_gdcm:
-             self.emri_jpeg_ls_lossless.pixel_array
+         assert np.array_equal(ref.ravel(), arr)
  
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     def test_cycle_u8_3s_1f(self):
+         """Test an encode/decode cycle for 8-bit 3 sample/pixel."""
+         ds = dcmread(EXPL_8_3_1F)
+@@ -73,6 +75,7 @@ class TestRLELossless:
  
-+ at pytest.mark.skip("When building a Debian package we can not download anything")
- class TestGDCM_JPEG2000_no_gdcm:
-     def setup_method(self):
-         self.jpeg_2k = dcmread(jpeg2000_name)
-@@ -184,6 +186,7 @@ class TestGDCM_JPEGlossy_no_gdcm:
-             self.color_3d_jpeg.pixel_array
+         assert np.array_equal(ref, arr)
  
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     def test_cycle_i16_1s_1f(self):
+         """Test an encode/decode cycle for 16-bit 1 sample/pixel."""
+         ds = dcmread(EXPL_16_1_1F)
+@@ -93,6 +96,7 @@ class TestRLELossless:
  
-+ at pytest.mark.skip("When building a Debian package we can not download anything")
- class TestGDCM_JPEGlossless_no_gdcm:
-     def setup_method(self):
-         self.jpeg_lossless = dcmread(jpeg_lossless_name)
-@@ -208,115 +211,6 @@ class TestGDCM_JPEGlossless_no_gdcm:
-             self.jpeg_lossless.pixel_array
+         assert np.array_equal(ref, arr)
  
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     def test_cycle_u16_3s_1f(self):
+         """Test an encode/decode cycle for 16-bit 3 sample/pixel."""
+         ds = dcmread(EXPL_16_3_1F)
+@@ -115,6 +119,7 @@ class TestRLELossless:
  
--pi_rgb_test_ids = [
--    "JPEG_RGB_411_AS_YBR_FULL",
--    "JPEG_RGB_411_AS_YBR_FULL_422",
--    "JPEG_RGB_422_AS_YBR_FULL",
--    "JPEG_RGB_422_AS_YBR_FULL_422",
--    "JPEG_RGB_444_AS_YBR_FULL",
--]
--
--pi_rgb_testdata = [
--    pytest.param(
--        sc_rgb_jpeg_dcmtk_411_YBR_FULL,
--        "YBR_FULL",
--        [
--            (253, 1, 0),
--            (253, 128, 132),
--            (0, 255, 5),
--            (127, 255, 127),
--            (1, 0, 254),
--            (127, 128, 255),
--            (0, 0, 0),
--            (64, 64, 64),
--            (192, 192, 192),
--            (255, 255, 255),
--        ],
--        True,
--    ),
--    pytest.param(
--        sc_rgb_jpeg_dcmtk_411_YBR_FULL_422,
--        "YBR_FULL_422",
--        [
--            (253, 1, 0),
--            (253, 128, 132),
--            (0, 255, 5),
--            (127, 255, 127),
--            (1, 0, 254),
--            (127, 128, 255),
--            (0, 0, 0),
--            (64, 64, 64),
--            (192, 192, 192),
--            (255, 255, 255),
--        ],
--        True,
--    ),
--    pytest.param(
--        sc_rgb_jpeg_dcmtk_422_YBR_FULL,
--        "YBR_FULL",
--        [
--            (254, 0, 0),
--            (255, 127, 127),
--            (0, 255, 5),
--            (129, 255, 129),
--            (0, 0, 254),
--            (128, 127, 255),
--            (0, 0, 0),
--            (64, 64, 64),
--            (192, 192, 192),
--            (255, 255, 255),
--        ],
--        True,
--    ),
--    pytest.param(
--        sc_rgb_jpeg_dcmtk_422_YBR_FULL_422,
--        "YBR_FULL_422",
--        [
--            (254, 0, 0),
--            (255, 127, 127),
--            (0, 255, 5),
--            (129, 255, 129),
--            (0, 0, 254),
--            (128, 127, 255),
--            (0, 0, 0),
--            (64, 64, 64),
--            (192, 192, 192),
--            (255, 255, 255),
--        ],
--        True,
--    ),
--    pytest.param(
--        sc_rgb_jpeg_dcmtk_444_YBR_FULL,
--        "YBR_FULL",
--        [
--            (254, 0, 0),
--            (255, 127, 127),
--            (0, 255, 5),
--            (129, 255, 129),
--            (0, 0, 254),
--            (128, 127, 255),
--            (0, 0, 0),
--            (64, 64, 64),
--            (192, 192, 192),
--            (255, 255, 255),
--        ],
--        True,
--    )
--]
--
--with_gdcm_params = [
--    pytest.param(
--        'File',
--        marks=pytest.mark.skipif(not HAVE_GDCM, reason=gdcm_missing_message)
--    ),
--    pytest.param(
--        'InMemory',
--        marks=pytest.mark.skipif(
--            not HAVE_GDCM_IN_MEMORY_SUPPORT, reason=gdcm_im_missing_message
--        )
--    )
--]
--
+         assert np.array_equal(ref, arr)
+ 
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     def test_cycle_u32_1s_1f(self):
+         """Test an encode/decode cycle for 32-bit 1 sample/pixel."""
+         ds = dcmread(EXPL_32_1_1F)
+@@ -135,6 +140,7 @@ class TestRLELossless:
+ 
+         assert np.array_equal(ref, arr)
+ 
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     @pytest.mark.skipif(GDCM_VERSION < [3, 0, 10], reason="GDCM bug")
+     def test_cycle_u32_3s_1f(self):
+         """Test an encode/decode cycle for 32-bit 3 sample/pixel."""
+@@ -159,6 +165,7 @@ class TestRLELossless:
+ 
+         assert np.array_equal(ref, arr)
+ 
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     @pytest.mark.skipif(GDCM_VERSION >= [3, 0, 10], reason="GDCM bug fixed")
+     def test_cycle_u32_3s_1f_raises(self):
+         """Test that 32-bit, 3 sample/px data raises exception."""
+@@ -176,6 +183,7 @@ class TestRLELossless:
+         with pytest.raises(RuntimeError, match=msg):
+             gdcm_rle_encode(ds.PixelData, **kwargs)
+ 
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     def test_invalid_byteorder_raises(self):
+         """Test that big endian source raises exception."""
+         ds = dcmread(EXPL_8_1_1F)
+@@ -191,6 +199,7 @@ class TestRLELossless:
+                 ds.PixelData, encoding_plugin='gdcm', byteorder='>', **kwargs
+             )
+ 
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     def test_above_32bit_raises(self):
+         """Test that > 32-bit Bits Allocated raises exception."""
+         ds = dcmread(EXPL_8_1_1F)
+@@ -206,6 +215,7 @@ class TestRLELossless:
+         with pytest.raises(RuntimeError, match=msg):
+             enc.encode(ds.PixelData, encoding_plugin='gdcm', **kwargs)
+ 
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     def test_encoding_failure_raises(self):
+         """Test that a encoding failure result raises an exception"""
+         kwargs = {
+@@ -226,6 +236,7 @@ class TestRLELossless:
+         with pytest.raises(RuntimeError, match=msg):
+             gdcm_rle_encode(b'\x00', **kwargs)
+ 
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     def test_no_sequence_raises(self):
+         """Test that no sequence of fragments raises an exception"""
+         kwargs = {
+diff --git a/pydicom/tests/test_encoders_pydicom.py b/pydicom/tests/test_encoders_pydicom.py
+index ad06b8f..9b15acf 100644
+--- a/pydicom/tests/test_encoders_pydicom.py
++++ b/pydicom/tests/test_encoders_pydicom.py
+@@ -28,23 +28,25 @@ from pydicom.pixel_data_handlers.util import reshape_pixel_array
+ from pydicom.uid import RLELossless
+ 
+ 
+-# EXPL: Explicit VR Little Endian
+-# RLE: RLE Lossless
+-# 8/8-bit, 1 sample/pixel, 1 frame
+-EXPL_8_1_1F = get_testdata_file("OBXXXX1A.dcm")
+-RLE_8_1_1F = get_testdata_file("OBXXXX1A_rle.dcm")
+-# 8/8-bit, 3 sample/pixel, 1 frame
+-EXPL_8_3_1F = get_testdata_file("SC_rgb.dcm")
+-# 8/8-bit, 3 sample/pixel, 2 frame
+-EXPL_8_3_2F = get_testdata_file("SC_rgb_2frame.dcm")
+-# 16/16-bit, 1 sample/pixel, 1 frame
+-EXPL_16_1_1F = get_testdata_file("MR_small.dcm")
+-# 16/16-bit, 3 sample/pixel, 1 frame
+-EXPL_16_3_1F = get_testdata_file("SC_rgb_16bit.dcm")
+-# 32/32-bit, 1 sample/pixel, 1 frame
+-EXPL_32_1_1F = get_testdata_file("rtdose_1frame.dcm")
+-# 32/32-bit, 3 sample/pixel, 1 frame
+-EXPL_32_3_1F = get_testdata_file("SC_rgb_32bit.dcm")
++## EXPL: Explicit VR Little Endian
++## RLE: RLE Lossless
++## 8/8-bit, 1 sample/pixel, 1 frame
++#EXPL_8_1_1F = get_testdata_file("OBXXXX1A.dcm")
++#RLE_8_1_1F = get_testdata_file("OBXXXX1A_rle.dcm")
++RLE_8_1_1F = None
++## 8/8-bit, 3 sample/pixel, 1 frame
++#EXPL_8_3_1F = get_testdata_file("SC_rgb.dcm")
++## 8/8-bit, 3 sample/pixel, 2 frame
++#EXPL_8_3_2F = get_testdata_file("SC_rgb_2frame.dcm")
++## 16/16-bit, 1 sample/pixel, 1 frame
++#EXPL_16_1_1F = get_testdata_file("MR_small.dcm")
++## 16/16-bit, 3 sample/pixel, 1 frame
++#EXPL_16_3_1F = get_testdata_file("SC_rgb_16bit.dcm")
++EXPL_16_3_1F = None
++## 32/32-bit, 1 sample/pixel, 1 frame
++#EXPL_32_1_1F = get_testdata_file("rtdose_1frame.dcm")
++## 32/32-bit, 3 sample/pixel, 1 frame
++#EXPL_32_3_1F = get_testdata_file("SC_rgb_32bit.dcm")
+ 
+ 
+ # Tests for RLE encoding
+@@ -107,6 +109,7 @@ class TestEncodeRow:
+         assert output == _encode_row(src)
  
- class TestsWithGDCM:
-     @pytest.fixture(params=with_gdcm_params, scope='class', autouse=True)
-@@ -481,9 +375,10 @@ class TestsWithGDCM:
-         assert (57, 57, 57) == tuple(a[3, 169, 290, :])
-         assert "YBR_FULL_422" == color_3d_jpeg.PhotometricInterpretation
  
--    @pytest.mark.parametrize(
--        "image,pi,results,convert_yuv_to_rgb",
--        pi_rgb_testdata, ids=pi_rgb_test_ids)
++ at pytest.mark.skip("When building a Debian package we can not download anything")
+ @pytest.mark.skipif(not HAVE_NP, reason="Numpy not available")
+ class TestEncodeFrame:
+     """Tests for rle_handler._encode_frame."""
+@@ -139,6 +142,7 @@ class TestEncodeFrame:
+ 
+         assert np.array_equal(ref, arr)
+ 
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-+    #@pytest.mark.parametrize(
-+    #    "image,pi,results,convert_yuv_to_rgb",
-+    #    pi_rgb_testdata, ids=pi_rgb_test_ids)
-     def test_PI_RGB(self, image, pi, results, convert_yuv_to_rgb):
-         t = dcmread(image)
-         assert t.PhotometricInterpretation == pi
-@@ -541,7 +436,7 @@ class TestsWithGDCM:
-             arr[328:338, 106].tolist()
-         )
+     def test_cycle_8bit_3sample(self):
+         """Test an encode/decode cycle for 8-bit 3 sample/pixel."""
+         ds = dcmread(EXPL_8_3_1F)
+@@ -176,6 +180,7 @@ class TestEncodeFrame:
  
--
-+ at pytest.mark.skip("When building a Debian package we can not download anything")
- class TestSupportFunctions:
-     @pytest.fixture(scope='class')
-     def dataset_2d(self):
---- a/pydicom/tests/test_jpeg_ls_pixel_data.py
-+++ b/pydicom/tests/test_jpeg_ls_pixel_data.py
-@@ -22,44 +22,44 @@ have_jpeg_ls_handler = jpeg_ls_handler.i
+         assert np.array_equal(ref, arr)
  
- test_jpeg_ls_decoder = have_numpy_handler and have_jpeg_ls_handler
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     def test_cycle_16bit_3sample(self):
+         """Test an encode/decode cycle for 16-bit 3 sample/pixel."""
+         ds = dcmread(EXPL_16_3_1F)
+@@ -351,6 +356,7 @@ class TestEncodeFrame:
+ 
+ class TestEncodeSegment:
+     """Tests for rle_handler._encode_segment."""
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     @pytest.mark.skipif(not HAVE_NP, reason="Numpy not available")
+     def test_one_row(self):
+         """Test encoding data that contains only a single row."""
+@@ -372,6 +378,7 @@ class TestEncodeSegment:
+         assert ds.Columns == len(redecoded)
+         assert decoded[:ds.Columns] == redecoded
+ 
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     def test_cycle(self):
+         """Test the decoded data remains the same after encoding/decoding."""
+         ds = dcmread(RLE_8_1_1F)
+@@ -404,6 +411,7 @@ class TestRLEEncodeFrame:
+         with pytest.raises(ValueError, match=msg):
+             rle_encode_frame(arr)
+ 
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     def test_encoding_multiple_frames_raises(self):
+         """Test encoding multiple framed pixel data raises exception."""
+         # Note: only works with multi-sample data
+@@ -418,6 +426,7 @@ class TestRLEEncodeFrame:
+         with pytest.raises(ValueError, match=msg):
+             rle_encode_frame(ds.pixel_array)
+ 
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     def test_functional(self):
+         """Test function works OK."""
+         ds = dcmread(EXPL_16_3_1F)
+@@ -436,6 +445,7 @@ class TestRLEEncodeFrame:
+ 
+         assert np.array_equal(ref, arr)
+ 
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     def test_big_endian_arr(self):
+         """Test using a big endian array works."""
+         ds = dcmread(EXPL_16_3_1F)
+diff --git a/pydicom/tests/test_filereader.py b/pydicom/tests/test_filereader.py
+index 001a507..b0fc4c9 100644
+--- a/pydicom/tests/test_filereader.py
++++ b/pydicom/tests/test_filereader.py
+@@ -59,45 +59,45 @@ except ImportError:
+ have_jpeg_ls = jpeg_ls is not None
+ have_pillow = PILImg is not None
  
 -empty_number_tags_name = get_testdata_file(
--    "reportsi_with_empty_number_tags.dcm")
+-    "reportsi_with_empty_number_tags.dcm"
+-)
 -rtplan_name = get_testdata_file("rtplan.dcm")
 -rtdose_name = get_testdata_file("rtdose.dcm")
 -ct_name = get_testdata_file("CT_small.dcm")
 -mr_name = get_testdata_file("MR_small.dcm")
 -truncated_mr_name = get_testdata_file("MR_truncated.dcm")
 -jpeg2000_name = get_testdata_file("JPEG2000.dcm")
--jpeg2000_lossless_name = get_testdata_file(
--    "MR_small_jp2klossless.dcm")
--jpeg_ls_lossless_name = get_testdata_file(
--    "MR_small_jpeg_ls_lossless.dcm")
+-jpeg2000_embedded_sequence_delimeter_name = get_testdata_file(
+-    "JPEG2000-embedded-sequence-delimiter.dcm"
+-)
+-jpeg2000_lossless_name = get_testdata_file("MR_small_jp2klossless.dcm")
+-jpeg_ls_lossless_name = get_testdata_file("MR_small_jpeg_ls_lossless.dcm")
 -jpeg_lossy_name = get_testdata_file("JPEG-lossy.dcm")
 -jpeg_lossless_name = get_testdata_file("JPEG-LL.dcm")
 -deflate_name = get_testdata_file("image_dfl.dcm")
 -rtstruct_name = get_testdata_file("rtstruct.dcm")
 -priv_SQ_name = get_testdata_file("priv_SQ.dcm")
 -nested_priv_SQ_name = get_testdata_file("nested_priv_SQ.dcm")
--meta_missing_tsyntax_name = get_testdata_file(
--    "meta_missing_tsyntax.dcm")
--no_meta_group_length = get_testdata_file(
--    "no_meta_group_length.dcm")
+-meta_missing_tsyntax_name = get_testdata_file("meta_missing_tsyntax.dcm")
+-no_meta_group_length = get_testdata_file("no_meta_group_length.dcm")
 -gzip_name = get_testdata_file("zipMR.gz")
 -color_px_name = get_testdata_file("color-px.dcm")
 -color_pl_name = get_testdata_file("color-pl.dcm")
--explicit_vr_le_no_meta = get_testdata_file(
--    "ExplVR_LitEndNoMeta.dcm")
--explicit_vr_be_no_meta = get_testdata_file(
--    "ExplVR_BigEndNoMeta.dcm")
+-explicit_vr_le_no_meta = get_testdata_file("ExplVR_LitEndNoMeta.dcm")
+-explicit_vr_be_no_meta = get_testdata_file("ExplVR_BigEndNoMeta.dcm")
 -emri_name = get_testdata_file("emri_small.dcm")
--emri_big_endian_name = get_testdata_file(
--    "emri_small_big_endian.dcm")
--emri_jpeg_ls_lossless = get_testdata_file(
--    "emri_small_jpeg_ls_lossless.dcm")
--emri_jpeg_2k_lossless = get_testdata_file(
--    "emri_small_jpeg_2k_lossless.dcm")
--color_3d_jpeg_baseline = get_testdata_file(
--    "color3d_jpeg_baseline.dcm")
+-emri_big_endian_name = get_testdata_file("emri_small_big_endian.dcm")
+-emri_jpeg_ls_lossless = get_testdata_file("emri_small_jpeg_ls_lossless.dcm")
+-emri_jpeg_2k_lossless = get_testdata_file("emri_small_jpeg_2k_lossless.dcm")
+-emri_jpeg_2k_lossless_too_short = get_testdata_file(
+-    "emri_small_jpeg_2k_lossless_too_short.dcm"
+-)
+-color_3d_jpeg_baseline = get_testdata_file("color3d_jpeg_baseline.dcm")
 +#empty_number_tags_name = get_testdata_file(
-+#    "reportsi_with_empty_number_tags.dcm")
++#    "reportsi_with_empty_number_tags.dcm"
++#)
 +#rtplan_name = get_testdata_file("rtplan.dcm")
 +#rtdose_name = get_testdata_file("rtdose.dcm")
 +#ct_name = get_testdata_file("CT_small.dcm")
 +#mr_name = get_testdata_file("MR_small.dcm")
 +#truncated_mr_name = get_testdata_file("MR_truncated.dcm")
 +#jpeg2000_name = get_testdata_file("JPEG2000.dcm")
-+#jpeg2000_lossless_name = get_testdata_file(
-+#    "MR_small_jp2klossless.dcm")
-+#jpeg_ls_lossless_name = get_testdata_file(
-+#    "MR_small_jpeg_ls_lossless.dcm")
++#jpeg2000_embedded_sequence_delimeter_name = get_testdata_file(
++#    "JPEG2000-embedded-sequence-delimiter.dcm"
++#)
++#jpeg2000_lossless_name = get_testdata_file("MR_small_jp2klossless.dcm")
++#jpeg_ls_lossless_name = get_testdata_file("MR_small_jpeg_ls_lossless.dcm")
 +#jpeg_lossy_name = get_testdata_file("JPEG-lossy.dcm")
 +#jpeg_lossless_name = get_testdata_file("JPEG-LL.dcm")
 +#deflate_name = get_testdata_file("image_dfl.dcm")
 +#rtstruct_name = get_testdata_file("rtstruct.dcm")
 +#priv_SQ_name = get_testdata_file("priv_SQ.dcm")
 +#nested_priv_SQ_name = get_testdata_file("nested_priv_SQ.dcm")
-+#meta_missing_tsyntax_name = get_testdata_file(
-+#    "meta_missing_tsyntax.dcm")
-+#no_meta_group_length = get_testdata_file(
-+#    "no_meta_group_length.dcm")
++#meta_missing_tsyntax_name = get_testdata_file("meta_missing_tsyntax.dcm")
++#no_meta_group_length = get_testdata_file("no_meta_group_length.dcm")
 +#gzip_name = get_testdata_file("zipMR.gz")
 +#color_px_name = get_testdata_file("color-px.dcm")
 +#color_pl_name = get_testdata_file("color-pl.dcm")
-+#explicit_vr_le_no_meta = get_testdata_file(
-+#    "ExplVR_LitEndNoMeta.dcm")
-+#explicit_vr_be_no_meta = get_testdata_file(
-+#    "ExplVR_BigEndNoMeta.dcm")
++#explicit_vr_le_no_meta = get_testdata_file("ExplVR_LitEndNoMeta.dcm")
++#explicit_vr_be_no_meta = get_testdata_file("ExplVR_BigEndNoMeta.dcm")
 +#emri_name = get_testdata_file("emri_small.dcm")
-+#emri_big_endian_name = get_testdata_file(
-+#    "emri_small_big_endian.dcm")
-+#emri_jpeg_ls_lossless = get_testdata_file(
-+#    "emri_small_jpeg_ls_lossless.dcm")
-+#emri_jpeg_2k_lossless = get_testdata_file(
-+#    "emri_small_jpeg_2k_lossless.dcm")
-+#color_3d_jpeg_baseline = get_testdata_file(
-+#    "color3d_jpeg_baseline.dcm")
++#emri_big_endian_name = get_testdata_file("emri_small_big_endian.dcm")
++#emri_jpeg_ls_lossless = get_testdata_file("emri_small_jpeg_ls_lossless.dcm")
++#emri_jpeg_2k_lossless = get_testdata_file("emri_small_jpeg_2k_lossless.dcm")
++#emri_jpeg_2k_lossless_too_short = get_testdata_file(
++#    "emri_small_jpeg_2k_lossless_too_short.dcm"
++#)
++#color_3d_jpeg_baseline = get_testdata_file("color3d_jpeg_baseline.dcm")
  dir_name = os.path.dirname(sys.argv[0])
  save_dir = os.getcwd()
  
-@@ -67,6 +67,7 @@ SUPPORTED_HANDLER_NAMES = (
-     'jpegls', 'jpeg_ls', 'JPEG_LS', 'jpegls_handler', 'JPEG_LS_Handler'
- )
+-
++ at pytest.mark.skip("When building a Debian package we can not download anything")
+ class TestReader:
+     def test_empty_numbers_tag(self):
+         """Test that an empty tag with a number VR (FL, UL, SL, US,
+@@ -1376,6 +1376,7 @@ class TestDSISnumpy:
+         config.DS_decimal(orig_DS_decimal)
+         config.DS_numpy(orig_DS_numpy)
  
-+ at pytest.mark.skip("Ignore test due to wrong gdcm usage. (See https://lists.debian.org/debian-med/2021/12/msg00061.html)")
- class TestJPEGLS_no_jpeg_ls:
-     def setup_method(self):
-         self.jpeg_ls_lossless = dcmread(jpeg_ls_lossless_name)
-@@ -84,6 +85,7 @@ class TestJPEGLS_no_jpeg_ls:
-             self.jpeg_ls_lossless.pixel_array
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     @pytest.mark.skipif(have_numpy, reason="Testing import error")
+     def test_IS_numpy_import_error(self):
+         config.use_IS_numpy = True
+@@ -1384,6 +1385,7 @@ class TestDSISnumpy:
+         with pytest.raises(ImportError):
+             rtss.ROIContourSequence[0].ROIDisplayColor  # VR is IS
+ 
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     @pytest.mark.skipif(not have_numpy, reason="Testing with numpy only")
+     def test_IS_numpy_class(self):
+         config.use_IS_numpy = True
+@@ -1396,6 +1398,7 @@ class TestDSISnumpy:
+         roi_num = rtss.ROIContourSequence[0].ReferencedROINumber
+         assert isinstance(roi_num, numpy.int64)
  
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     def test_IS_not_numpy(self):
+         """Test class of the object matches the config,
+         when the config is changed"""
+@@ -1404,6 +1407,7 @@ class TestDSISnumpy:
+         col = rtss.ROIContourSequence[0].ROIDisplayColor  # VR is IS
+         assert isinstance(col, MultiValue)
  
-+ at pytest.mark.skip("Ignore test due to wrong gdcm usage. (See https://lists.debian.org/debian-med/2021/12/msg00061.html)")
- class TestJPEGLS_JPEG2000_no_jpeg_ls:
-     def setup_method(self):
-         self.jpeg_2k = dcmread(jpeg2000_name)
-@@ -108,6 +110,7 @@ class TestJPEGLS_JPEG2000_no_jpeg_ls:
-             self.emri_jpeg_2k_lossless.pixel_array
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     @pytest.mark.skipif(have_numpy, reason="Testing import error")
+     def test_DS_numpy_import_error(self):
+         config.use_DS_numpy = True
+@@ -1412,6 +1416,7 @@ class TestDSISnumpy:
+         with pytest.raises(ImportError):
+             rtss.ROIContourSequence[0].ContourSequence[0].ContourData
+ 
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     @pytest.mark.skipif(not have_numpy, reason="Testing with numpy only")
+     def test_DS_numpy_class(self):
+         config.use_DS_numpy = True
+@@ -1425,6 +1430,7 @@ class TestDSISnumpy:
+         roi_vol = rtss.StructureSetROISequence[0].ROIVolume
+         assert isinstance(roi_vol, numpy.float64)
  
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     def test_DS_not_numpy(self):
+         """Test class of the object matches the config."""
+         config.use_DS_numpy = False
+@@ -1468,6 +1474,7 @@ class TestDSISnumpy:
+             values.convert_IS_string(b"123", True)
  
-+ at pytest.mark.skip("Ignore test due to wrong gdcm usage. (See https://lists.debian.org/debian-med/2021/12/msg00061.html)")
- class TestJPEGLS_JPEGlossy_no_jpeg_ls:
-     def setup_method(self):
-         self.jpeg_lossy = dcmread(jpeg_lossy_name)
-@@ -133,6 +136,7 @@ class TestJPEGLS_JPEGlossy_no_jpeg_ls:
-             self.color_3d_jpeg.pixel_array
  
++ at pytest.mark.skip("When building a Debian package we can not download anything")
+ class TestDeferredRead:
+     """Test that deferred data element reading (for large size)
+     works as expected
+@@ -1537,6 +1544,7 @@ class TestDeferredRead:
+         assert 2068 == len(private_block[0x29].value)
  
-+ at pytest.mark.skip("Ignore test due to wrong gdcm usage. (See https://lists.debian.org/debian-med/2021/12/msg00061.html)")
- class TestJPEGLS_JPEGlossless_no_jpeg_ls:
-     def setup_method(self):
-         self.jpeg_lossless = dcmread(jpeg_lossless_name)
-@@ -156,6 +160,7 @@ class TestJPEGLS_JPEGlossless_no_jpeg_ls
-             self.jpeg_lossless.pixel_array
  
++ at pytest.mark.skip("When building a Debian package we can not download anything")
+ class TestReadTruncatedFile:
+     def testReadFileWithMissingPixelData(self):
+         mr = dcmread(truncated_mr_name)
+@@ -1569,6 +1577,7 @@ class TestReadTruncatedFile:
+             mr.pixel_array
  
-+ at pytest.mark.skip("Ignore test due to wrong gdcm usage. (See https://lists.debian.org/debian-med/2021/12/msg00061.html)")
- @pytest.mark.skipif(not test_jpeg_ls_decoder, reason=jpeg_ls_missing_message)
- class TestJPEGLS_JPEG_LS_with_jpeg_ls:
-     def setup_method(self):
-@@ -189,6 +194,7 @@ class TestJPEGLS_JPEG_LS_with_jpeg_ls:
-         assert b.mean() == a.mean()
  
++ at pytest.mark.skip("When building a Debian package we can not download anything")
+ class TestFileLike:
+     """Test that can read DICOM files with file-like object rather than
+     filename
+diff --git a/pydicom/tests/test_filewriter.py b/pydicom/tests/test_filewriter.py
+index 606a02f..baaee9a 100644
+--- a/pydicom/tests/test_filewriter.py
++++ b/pydicom/tests/test_filewriter.py
+@@ -246,6 +246,7 @@ class TestWriteFile:
+         ds = dcmread(fp, force=True)
+         assert ds[0xFFFFFFFF].value == b'123456'
  
-+ at pytest.mark.skip("Ignore test due to wrong gdcm usage. (See https://lists.debian.org/debian-med/2021/12/msg00061.html)")
- @pytest.mark.skipif(not test_jpeg_ls_decoder, reason=jpeg_ls_missing_message)
- class TestJPEGLS_JPEG2000_with_jpeg_ls:
-     def setup_method(self):
-@@ -212,6 +218,7 @@ class TestJPEGLS_JPEG2000_with_jpeg_ls:
-             self.emri_jpeg_2k_lossless.pixel_array
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     def test_write_removes_grouplength(self):
+         ds = dcmread(color_pl_name)
+         assert 0x00080000 in ds
+@@ -1395,6 +1396,7 @@ class TestWriteToStandard:
+         assert ds.get_item(0x300A0006).is_raw  # RT Plan Date
+         assert ds.get_item(0x300A0010).is_raw  # Dose Reference Sequence
  
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     def test_raw_elements_preserved_explicit_vr(self):
+         """Test writing the dataset preserves raw elements."""
+         ds = dcmread(color_pl_name)
+@@ -1583,6 +1585,7 @@ class TestWriteToStandard:
+         assert ds_expl[(0x0009, 0x10e7)].VR == 'UL'
+         assert ds_expl[(0x0043, 0x1010)].VR == 'US'
  
-+ at pytest.mark.skip("Ignore test due to wrong gdcm usage. (See https://lists.debian.org/debian-med/2021/12/msg00061.html)")
- @pytest.mark.skipif(not test_jpeg_ls_decoder, reason=jpeg_ls_missing_message)
- class TestJPEGLS_JPEGlossy_with_jpeg_ls:
-     def setup_method(self):
-@@ -237,6 +244,7 @@ class TestJPEGLS_JPEGlossy_with_jpeg_ls:
-             self.color_3d_jpeg.pixel_array
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     def test_convert_rgb_from_implicit_to_explicit_vr(self, no_numpy_use):
+         """Test converting an RGB dataset from implicit to explicit VR
+         and vice verse."""
+diff --git a/pydicom/tests/test_gdcm_pixel_data.py b/pydicom/tests/test_gdcm_pixel_data.py
+index 2426753..398c83b 100644
+--- a/pydicom/tests/test_gdcm_pixel_data.py
++++ b/pydicom/tests/test_gdcm_pixel_data.py
+@@ -18,7 +18,7 @@ except ImportError:
  
+ import pydicom
+ from pydicom.filereader import dcmread
+-from pydicom.data import get_testdata_file
++#from pydicom.data import get_testdata_file
+ from pydicom.encaps import defragment_data
+ from pydicom.pixel_data_handlers import numpy_handler, gdcm_handler
+ from pydicom.pixel_data_handlers.util import (
+@@ -43,59 +43,60 @@ gdcm_im_missing_message = (
+ )
  
-+ at pytest.mark.skip("Ignore test due to wrong gdcm usage. (See https://lists.debian.org/debian-med/2021/12/msg00061.html)")
- @pytest.mark.skipif(not test_jpeg_ls_decoder, reason=jpeg_ls_missing_message)
- class TestJPEGLS_JPEGlossless_with_jpeg_ls:
-     def setup_method(self):
---- a/pydicom/tests/test_filereader.py
-+++ b/pydicom/tests/test_filereader.py
-@@ -59,45 +59,45 @@ except ImportError:
- have_jpeg_ls = jpeg_ls is not None
- have_pillow = PILImg is not None
  
 -empty_number_tags_name = get_testdata_file(
--    "reportsi_with_empty_number_tags.dcm"
--)
+-    "reportsi_with_empty_number_tags.dcm")
 -rtplan_name = get_testdata_file("rtplan.dcm")
 -rtdose_name = get_testdata_file("rtdose.dcm")
 -ct_name = get_testdata_file("CT_small.dcm")
 -mr_name = get_testdata_file("MR_small.dcm")
 -truncated_mr_name = get_testdata_file("MR_truncated.dcm")
 -jpeg2000_name = get_testdata_file("JPEG2000.dcm")
--jpeg2000_embedded_sequence_delimeter_name = get_testdata_file(
--    "JPEG2000-embedded-sequence-delimiter.dcm"
--)
 -jpeg2000_lossless_name = get_testdata_file("MR_small_jp2klossless.dcm")
 -jpeg_ls_lossless_name = get_testdata_file("MR_small_jpeg_ls_lossless.dcm")
 -jpeg_lossy_name = get_testdata_file("JPEG-lossy.dcm")
 -jpeg_lossless_name = get_testdata_file("JPEG-LL.dcm")
+-jpeg_lossless_odd_data_size_name = get_testdata_file(
+-    'SC_rgb_small_odd_jpeg.dcm')
 -deflate_name = get_testdata_file("image_dfl.dcm")
 -rtstruct_name = get_testdata_file("rtstruct.dcm")
 -priv_SQ_name = get_testdata_file("priv_SQ.dcm")
@@ -1907,28 +797,41 @@ Description: Several data files need to be downloaded which is not possible at p
 -explicit_vr_be_no_meta = get_testdata_file("ExplVR_BigEndNoMeta.dcm")
 -emri_name = get_testdata_file("emri_small.dcm")
 -emri_big_endian_name = get_testdata_file("emri_small_big_endian.dcm")
--emri_jpeg_ls_lossless = get_testdata_file("emri_small_jpeg_ls_lossless.dcm")
--emri_jpeg_2k_lossless = get_testdata_file("emri_small_jpeg_2k_lossless.dcm")
--emri_jpeg_2k_lossless_too_short = get_testdata_file(
--    "emri_small_jpeg_2k_lossless_too_short.dcm"
--)
+-emri_jpeg_ls_lossless = get_testdata_file(
+-    "emri_small_jpeg_ls_lossless.dcm")
+-emri_jpeg_2k_lossless = get_testdata_file(
+-    "emri_small_jpeg_2k_lossless.dcm")
 -color_3d_jpeg_baseline = get_testdata_file("color3d_jpeg_baseline.dcm")
+-sc_rgb_jpeg_dcmtk_411_YBR_FULL_422 = get_testdata_file(
+-    "SC_rgb_dcmtk_+eb+cy+np.dcm")
+-sc_rgb_jpeg_dcmtk_411_YBR_FULL = get_testdata_file(
+-    "SC_rgb_dcmtk_+eb+cy+n1.dcm")
+-sc_rgb_jpeg_dcmtk_422_YBR_FULL = get_testdata_file(
+-    "SC_rgb_dcmtk_+eb+cy+n2.dcm")
+-sc_rgb_jpeg_dcmtk_444_YBR_FULL = get_testdata_file(
+-    "SC_rgb_dcmtk_+eb+cy+s4.dcm")
+-sc_rgb_jpeg_dcmtk_422_YBR_FULL_422 = get_testdata_file(
+-    "SC_rgb_dcmtk_+eb+cy+s2.dcm")
+-sc_rgb_jpeg_dcmtk_RGB = get_testdata_file("SC_rgb_dcmtk_+eb+cr.dcm")
+-sc_rgb_jpeg2k_gdcm_KY = get_testdata_file("SC_rgb_gdcm_KY.dcm")
+-ground_truth_sc_rgb_jpeg2k_gdcm_KY_gdcm = get_testdata_file(
+-    "SC_rgb_gdcm2k_uncompressed.dcm"
+-)
+-J2KR_16_13_1_1_1F_M2_MISMATCH = get_testdata_file("J2K_pixelrep_mismatch.dcm")
 +#empty_number_tags_name = get_testdata_file(
-+#    "reportsi_with_empty_number_tags.dcm"
-+#)
++#    "reportsi_with_empty_number_tags.dcm")
 +#rtplan_name = get_testdata_file("rtplan.dcm")
 +#rtdose_name = get_testdata_file("rtdose.dcm")
 +#ct_name = get_testdata_file("CT_small.dcm")
 +#mr_name = get_testdata_file("MR_small.dcm")
 +#truncated_mr_name = get_testdata_file("MR_truncated.dcm")
 +#jpeg2000_name = get_testdata_file("JPEG2000.dcm")
-+#jpeg2000_embedded_sequence_delimeter_name = get_testdata_file(
-+#    "JPEG2000-embedded-sequence-delimiter.dcm"
-+#)
 +#jpeg2000_lossless_name = get_testdata_file("MR_small_jp2klossless.dcm")
 +#jpeg_ls_lossless_name = get_testdata_file("MR_small_jpeg_ls_lossless.dcm")
 +#jpeg_lossy_name = get_testdata_file("JPEG-lossy.dcm")
 +#jpeg_lossless_name = get_testdata_file("JPEG-LL.dcm")
++#jpeg_lossless_odd_data_size_name = get_testdata_file(
++#    'SC_rgb_small_odd_jpeg.dcm')
 +#deflate_name = get_testdata_file("image_dfl.dcm")
 +#rtstruct_name = get_testdata_file("rtstruct.dcm")
 +#priv_SQ_name = get_testdata_file("priv_SQ.dcm")
@@ -1942,1585 +845,2745 @@ Description: Several data files need to be downloaded which is not possible at p
 +#explicit_vr_be_no_meta = get_testdata_file("ExplVR_BigEndNoMeta.dcm")
 +#emri_name = get_testdata_file("emri_small.dcm")
 +#emri_big_endian_name = get_testdata_file("emri_small_big_endian.dcm")
-+#emri_jpeg_ls_lossless = get_testdata_file("emri_small_jpeg_ls_lossless.dcm")
-+#emri_jpeg_2k_lossless = get_testdata_file("emri_small_jpeg_2k_lossless.dcm")
-+#emri_jpeg_2k_lossless_too_short = get_testdata_file(
-+#    "emri_small_jpeg_2k_lossless_too_short.dcm"
-+#)
++#emri_jpeg_ls_lossless = get_testdata_file(
++#    "emri_small_jpeg_ls_lossless.dcm")
++#emri_jpeg_2k_lossless = get_testdata_file(
++#    "emri_small_jpeg_2k_lossless.dcm")
 +#color_3d_jpeg_baseline = get_testdata_file("color3d_jpeg_baseline.dcm")
++#sc_rgb_jpeg_dcmtk_411_YBR_FULL_422 = get_testdata_file(
++#    "SC_rgb_dcmtk_+eb+cy+np.dcm")
++#sc_rgb_jpeg_dcmtk_411_YBR_FULL = get_testdata_file(
++#    "SC_rgb_dcmtk_+eb+cy+n1.dcm")
++#sc_rgb_jpeg_dcmtk_422_YBR_FULL = get_testdata_file(
++#    "SC_rgb_dcmtk_+eb+cy+n2.dcm")
++#sc_rgb_jpeg_dcmtk_444_YBR_FULL = get_testdata_file(
++#    "SC_rgb_dcmtk_+eb+cy+s4.dcm")
++#sc_rgb_jpeg_dcmtk_422_YBR_FULL_422 = get_testdata_file(
++#    "SC_rgb_dcmtk_+eb+cy+s2.dcm")
++#sc_rgb_jpeg_dcmtk_RGB = get_testdata_file("SC_rgb_dcmtk_+eb+cr.dcm")
++#sc_rgb_jpeg2k_gdcm_KY = get_testdata_file("SC_rgb_gdcm_KY.dcm")
++#ground_truth_sc_rgb_jpeg2k_gdcm_KY_gdcm = get_testdata_file(
++#    "SC_rgb_gdcm2k_uncompressed.dcm"
++#)
++#J2KR_16_13_1_1_1F_M2_MISMATCH = get_testdata_file("J2K_pixelrep_mismatch.dcm")
+ 
  dir_name = os.path.dirname(sys.argv[0])
  save_dir = os.getcwd()
  
+ 
++ at pytest.mark.skip("When building a Debian package we can not download anything")
+ class TestGDCM_JPEG_LS_no_gdcm:
+     def setup_method(self):
+         self.unicode_filename = os.path.join(
+@@ -121,6 +122,7 @@ class TestGDCM_JPEG_LS_no_gdcm:
+             self.emri_jpeg_ls_lossless.pixel_array
+ 
+ 
++ at pytest.mark.skip("When building a Debian package we can not download anything")
+ class TestGDCM_JPEG2000_no_gdcm:
+     def setup_method(self):
+         self.jpeg_2k = dcmread(jpeg2000_name)
+@@ -184,6 +186,7 @@ class TestGDCM_JPEGlossy_no_gdcm:
+             self.color_3d_jpeg.pixel_array
+ 
+ 
++ at pytest.mark.skip("When building a Debian package we can not download anything")
+ class TestGDCM_JPEGlossless_no_gdcm:
+     def setup_method(self):
+         self.jpeg_lossless = dcmread(jpeg_lossless_name)
+@@ -208,115 +211,6 @@ class TestGDCM_JPEGlossless_no_gdcm:
+             self.jpeg_lossless.pixel_array
+ 
+ 
+-pi_rgb_test_ids = [
+-    "JPEG_RGB_411_AS_YBR_FULL",
+-    "JPEG_RGB_411_AS_YBR_FULL_422",
+-    "JPEG_RGB_422_AS_YBR_FULL",
+-    "JPEG_RGB_422_AS_YBR_FULL_422",
+-    "JPEG_RGB_444_AS_YBR_FULL",
+-]
+-
+-pi_rgb_testdata = [
+-    pytest.param(
+-        sc_rgb_jpeg_dcmtk_411_YBR_FULL,
+-        "YBR_FULL",
+-        [
+-            (253, 1, 0),
+-            (253, 128, 132),
+-            (0, 255, 5),
+-            (127, 255, 127),
+-            (1, 0, 254),
+-            (127, 128, 255),
+-            (0, 0, 0),
+-            (64, 64, 64),
+-            (192, 192, 192),
+-            (255, 255, 255),
+-        ],
+-        True,
+-    ),
+-    pytest.param(
+-        sc_rgb_jpeg_dcmtk_411_YBR_FULL_422,
+-        "YBR_FULL_422",
+-        [
+-            (253, 1, 0),
+-            (253, 128, 132),
+-            (0, 255, 5),
+-            (127, 255, 127),
+-            (1, 0, 254),
+-            (127, 128, 255),
+-            (0, 0, 0),
+-            (64, 64, 64),
+-            (192, 192, 192),
+-            (255, 255, 255),
+-        ],
+-        True,
+-    ),
+-    pytest.param(
+-        sc_rgb_jpeg_dcmtk_422_YBR_FULL,
+-        "YBR_FULL",
+-        [
+-            (254, 0, 0),
+-            (255, 127, 127),
+-            (0, 255, 5),
+-            (129, 255, 129),
+-            (0, 0, 254),
+-            (128, 127, 255),
+-            (0, 0, 0),
+-            (64, 64, 64),
+-            (192, 192, 192),
+-            (255, 255, 255),
+-        ],
+-        True,
+-    ),
+-    pytest.param(
+-        sc_rgb_jpeg_dcmtk_422_YBR_FULL_422,
+-        "YBR_FULL_422",
+-        [
+-            (254, 0, 0),
+-            (255, 127, 127),
+-            (0, 255, 5),
+-            (129, 255, 129),
+-            (0, 0, 254),
+-            (128, 127, 255),
+-            (0, 0, 0),
+-            (64, 64, 64),
+-            (192, 192, 192),
+-            (255, 255, 255),
+-        ],
+-        True,
+-    ),
+-    pytest.param(
+-        sc_rgb_jpeg_dcmtk_444_YBR_FULL,
+-        "YBR_FULL",
+-        [
+-            (254, 0, 0),
+-            (255, 127, 127),
+-            (0, 255, 5),
+-            (129, 255, 129),
+-            (0, 0, 254),
+-            (128, 127, 255),
+-            (0, 0, 0),
+-            (64, 64, 64),
+-            (192, 192, 192),
+-            (255, 255, 255),
+-        ],
+-        True,
+-    )
+-]
+-
+-with_gdcm_params = [
+-    pytest.param(
+-        'File',
+-        marks=pytest.mark.skipif(not HAVE_GDCM, reason=gdcm_missing_message)
+-    ),
+-    pytest.param(
+-        'InMemory',
+-        marks=pytest.mark.skipif(
+-            not HAVE_GDCM_IN_MEMORY_SUPPORT, reason=gdcm_im_missing_message
+-        )
+-    )
+-]
 -
-+ at pytest.mark.skip("When building a Debian package we can not download anything")
- class TestReader:
-     def test_empty_numbers_tag(self):
-         """Test that an empty tag with a number VR (FL, UL, SL, US,
-@@ -1376,6 +1376,7 @@ class TestDSISnumpy:
-         config.DS_decimal(orig_DS_decimal)
-         config.DS_numpy(orig_DS_numpy)
  
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     @pytest.mark.skipif(have_numpy, reason="Testing import error")
-     def test_IS_numpy_import_error(self):
-         config.use_IS_numpy = True
-@@ -1384,6 +1385,7 @@ class TestDSISnumpy:
-         with pytest.raises(ImportError):
-             rtss.ROIContourSequence[0].ROIDisplayColor  # VR is IS
+ class TestsWithGDCM:
+     @pytest.fixture(params=with_gdcm_params, scope='class', autouse=True)
+@@ -481,9 +375,10 @@ class TestsWithGDCM:
+         assert (57, 57, 57) == tuple(a[3, 169, 290, :])
+         assert "YBR_FULL_422" == color_3d_jpeg.PhotometricInterpretation
  
+-    @pytest.mark.parametrize(
+-        "image,pi,results,convert_yuv_to_rgb",
+-        pi_rgb_testdata, ids=pi_rgb_test_ids)
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     @pytest.mark.skipif(not have_numpy, reason="Testing with numpy only")
-     def test_IS_numpy_class(self):
-         config.use_IS_numpy = True
-@@ -1396,6 +1398,7 @@ class TestDSISnumpy:
-         roi_num = rtss.ROIContourSequence[0].ReferencedROINumber
-         assert isinstance(roi_num, numpy.int64)
++    #@pytest.mark.parametrize(
++    #    "image,pi,results,convert_yuv_to_rgb",
++    #    pi_rgb_testdata, ids=pi_rgb_test_ids)
+     def test_PI_RGB(self, image, pi, results, convert_yuv_to_rgb):
+         t = dcmread(image)
+         assert t.PhotometricInterpretation == pi
+@@ -541,7 +436,7 @@ class TestsWithGDCM:
+             arr[328:338, 106].tolist()
+         )
+ 
+-
++ at pytest.mark.skip("When building a Debian package we can not download anything")
+ class TestSupportFunctions:
+     @pytest.fixture(scope='class')
+     def dataset_2d(self):
+diff --git a/pydicom/tests/test_handler_util.py b/pydicom/tests/test_handler_util.py
+index d1dc102..ea71f67 100644
+--- a/pydicom/tests/test_handler_util.py
++++ b/pydicom/tests/test_handler_util.py
+@@ -43,32 +43,32 @@ from pydicom.uid import (
+ )
  
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_IS_not_numpy(self):
-         """Test class of the object matches the config,
-         when the config is changed"""
-@@ -1404,6 +1407,7 @@ class TestDSISnumpy:
-         col = rtss.ROIContourSequence[0].ROIDisplayColor  # VR is IS
-         assert isinstance(col, MultiValue)
+ 
+-# PAL: PALETTE COLOR Photometric Interpretation
+-# SEG: Segmented Palette Color
+-# SUP: Supplemental Palette Color
+-# LE, BE: little endian, big endian encoding
+-# 8/8, 1 sample/pixel, 1 frame
+-PAL_08_256_0_16_1F = get_testdata_file("OBXXXX1A.dcm")
+-PAL_08_200_0_16_1F = get_testdata_file("OT-PAL-8-face.dcm")
+-# 8/8, 1 sample/pixel, 2 frame
+-PAL_08_256_0_16_2F = get_testdata_file("OBXXXX1A_2frame.dcm")
+-# PALETTE COLOR with 16-bit LUTs (no indirect segments)
+-PAL_SEG_LE_16_1F = get_testdata_file("gdcm-US-ALOKA-16.dcm")
+-PAL_SEG_BE_16_1F = get_testdata_file("gdcm-US-ALOKA-16_big.dcm")
+-# Supplemental palette colour + VOI windowing
+-SUP_16_16_2F = get_testdata_file("eCT_Supplemental.dcm")
+-# 8 bit, 3 samples/pixel, 1 and 2 frame datasets
+-# RGB colorspace, uncompressed
+-RGB_8_3_1F = get_testdata_file("SC_rgb.dcm")
+-RGB_8_3_2F = get_testdata_file("SC_rgb_2frame.dcm")
+-# MOD: Modality LUT
+-# SEQ: Modality LUT Sequence
+-MOD_16 = get_testdata_file("CT_small.dcm")
+-MOD_16_SEQ = get_testdata_file("mlut_18.dcm")
+-# VOI: VOI LUT Sequence
+-# WIN: Windowing operation
+-WIN_12_1F = get_testdata_file("MR-SIEMENS-DICOM-WithOverlays.dcm")
+-VOI_08_1F = get_testdata_file("vlut_04.dcm")
++## PAL: PALETTE COLOR Photometric Interpretation
++## SEG: Segmented Palette Color
++## SUP: Supplemental Palette Color
++## LE, BE: little endian, big endian encoding
++## 8/8, 1 sample/pixel, 1 frame
++#PAL_08_256_0_16_1F = get_testdata_file("OBXXXX1A.dcm")
++#PAL_08_200_0_16_1F = get_testdata_file("OT-PAL-8-face.dcm")
++## 8/8, 1 sample/pixel, 2 frame
++#PAL_08_256_0_16_2F = get_testdata_file("OBXXXX1A_2frame.dcm")
++## PALETTE COLOR with 16-bit LUTs (no indirect segments)
++#PAL_SEG_LE_16_1F = get_testdata_file("gdcm-US-ALOKA-16.dcm")
++#PAL_SEG_BE_16_1F = get_testdata_file("gdcm-US-ALOKA-16_big.dcm")
++## Supplemental palette colour + VOI windowing
++#SUP_16_16_2F = get_testdata_file("eCT_Supplemental.dcm")
++## 8 bit, 3 samples/pixel, 1 and 2 frame datasets
++## RGB colorspace, uncompressed
++#RGB_8_3_1F = get_testdata_file("SC_rgb.dcm")
++#RGB_8_3_2F = get_testdata_file("SC_rgb_2frame.dcm")
++## MOD: Modality LUT
++## SEQ: Modality LUT Sequence
++#MOD_16 = get_testdata_file("CT_small.dcm")
++#MOD_16_SEQ = get_testdata_file("mlut_18.dcm")
++## VOI: VOI LUT Sequence
++## WIN: Windowing operation
++#WIN_12_1F = get_testdata_file("MR-SIEMENS-DICOM-WithOverlays.dcm")
++#VOI_08_1F = get_testdata_file("vlut_04.dcm")
+ # 1/1, 1 sample/pixel, 3 frame
+ EXPL_1_1_3F = get_testdata_file("liver.dcm")
+ # Uncompressed YBR_FULL_422
+@@ -568,6 +568,7 @@ class TestNumpy_ConvertColourSpace:
+         arr = np.ones((2, 3))
+         assert np.array_equal(arr, convert_color_space(arr, current, desired))
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     @pytest.mark.skipif(have_numpy, reason="Testing import error")
-     def test_DS_numpy_import_error(self):
-         config.use_DS_numpy = True
-@@ -1412,6 +1416,7 @@ class TestDSISnumpy:
-         with pytest.raises(ImportError):
-             rtss.ROIContourSequence[0].ContourSequence[0].ContourData
+     def test_rgb_ybr_rgb_single_frame(self):
+         """Test round trip conversion of single framed pixel data."""
+         ds = dcmread(RGB_8_3_1F)
+@@ -602,6 +603,7 @@ class TestNumpy_ConvertColourSpace:
+         assert np.allclose(rgb, arr, atol=1)
+         assert rgb.shape == arr.shape
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     @pytest.mark.skipif(not have_numpy, reason="Testing with numpy only")
-     def test_DS_numpy_class(self):
-         config.use_DS_numpy = True
-@@ -1425,6 +1430,7 @@ class TestDSISnumpy:
-         roi_vol = rtss.StructureSetROISequence[0].ROIVolume
-         assert isinstance(roi_vol, numpy.float64)
+     def test_rgb_ybr_rgb_multi_frame(self):
+         """Test round trip conversion of multi-framed pixel data."""
+         ds = dcmread(RGB_8_3_2F)
+@@ -649,6 +651,7 @@ class TestNumpy_ConvertColourSpace:
+         assert np.allclose(rgb, arr, atol=1)
+         assert rgb.shape == arr.shape
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_DS_not_numpy(self):
-         """Test class of the object matches the config."""
-         config.use_DS_numpy = False
-@@ -1468,6 +1474,7 @@ class TestDSISnumpy:
-             values.convert_IS_string(b"123", True)
+     def test_frame_by_frame(self):
+         """Test processing frame-by-frame."""
+         ds = dcmread(RGB_8_3_2F)
+@@ -828,6 +831,7 @@ class TestGetExpectedLength:
+         assert length[2] == get_expected_length(ds, unit='bytes')
  
  
 + at pytest.mark.skip("When building a Debian package we can not download anything")
- class TestDeferredRead:
-     """Test that deferred data element reading (for large size)
-     works as expected
-@@ -1537,6 +1544,7 @@ class TestDeferredRead:
-         assert 2068 == len(private_block[0x29].value)
+ @pytest.mark.skipif(not HAVE_NP, reason="Numpy is not available")
+ class TestNumpy_ModalityLUT:
+     """Tests for util.apply_modality_lut()."""
+@@ -848,6 +852,7 @@ class TestNumpy_ModalityLUT:
+         out = apply_modality_lut(arr, ds)
+         assert np.array_equal(arr * 2.5 - 2048, out)
  
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     def test_lut_sequence(self):
+         """Test the LUT Sequence transform."""
+         ds = dcmread(MOD_16_SEQ)
+@@ -875,6 +880,7 @@ class TestNumpy_ModalityLUT:
+         assert 52428 == out[228, 385]
+         assert 58974 == out[291, 385]
  
-+ at pytest.mark.skip("When building a Debian package we can not download anything")
- class TestReadTruncatedFile:
-     def testReadFileWithMissingPixelData(self):
-         mr = dcmread(truncated_mr_name)
-@@ -1569,6 +1577,7 @@ class TestReadTruncatedFile:
-             mr.pixel_array
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     def test_lut_sequence_zero_entries(self):
+         """Test that 0 entries is interpreted correctly."""
+         # LUTDescriptor[0] of 0 -> 65536, but only 4096 entries so any
+@@ -906,6 +912,7 @@ class TestNumpy_ModalityLUT:
+         out = apply_modality_lut(arr, ds)
+         assert arr is out
+ 
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     def test_lutdata_ow(self):
+         """Test LUT Data with VR OW."""
+         ds = dcmread(MOD_16_SEQ)
+@@ -950,6 +957,7 @@ class TestNumpy_PaletteColor:
+         if os.path.exists(self.n_palette):
+             os.rename(self.n_palette, self.o_palette)
  
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     def test_neither_ds_nor_palette_raises(self):
+         """Test missing `ds` and `palette` raise an exception."""
+         ds = dcmread(PAL_08_256_0_16_1F)
+@@ -957,6 +965,7 @@ class TestNumpy_PaletteColor:
+         with pytest.raises(ValueError, match=msg):
+             apply_color_lut(ds.pixel_array)
  
-+ at pytest.mark.skip("When building a Debian package we can not download anything")
- class TestFileLike:
-     """Test that can read DICOM files with file-like object rather than
-     filename
---- a/pydicom/tests/test_cli.py
-+++ b/pydicom/tests/test_cli.py
-@@ -31,6 +31,7 @@ bad_indexes = (
- )
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     def test_palette_unknown_raises(self, disable_value_validation):
+         """Test using an unknown `palette` raise an exception."""
+         ds = dcmread(PAL_08_256_0_16_1F)
+@@ -970,6 +979,7 @@ class TestNumpy_PaletteColor:
+         with pytest.raises(ValueError, match=msg):
+             apply_color_lut(ds.pixel_array, palette='1.2.840.10008.1.1')
  
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     def test_palette_unavailable_raises(self, disable_value_validation):
+         """Test using a missing `palette` raise an exception."""
+         os.rename(self.o_palette, self.n_palette)
+@@ -978,6 +988,7 @@ class TestNumpy_PaletteColor:
+         with pytest.raises(IndexError, match=msg):
+             apply_color_lut(ds.pixel_array, palette='PET')
  
-+ at pytest.mark.skip("When building a Debian package we can not download anything")
- class TestFilespec:
-     @pytest.mark.parametrize("bad_spec", bad_elem_specs)
-     def test_syntax(self, bad_spec):
-@@ -76,6 +77,7 @@ class TestFilespec:
-         assert expected == filespec_parts(filespec)
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     def test_supplemental_raises(self):
+         """Test that supplemental palette color LUT raises exception."""
+         ds = dcmread(SUP_16_16_2F)
+@@ -988,6 +999,7 @@ class TestNumpy_PaletteColor:
+         with pytest.raises(ValueError, match=msg):
+             apply_color_lut(ds.pixel_array, ds)
  
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     def test_invalid_bit_depth_raises(self):
+         """Test that an invalid bit depth raises an exception."""
+         ds = dcmread(PAL_08_256_0_16_1F)
+@@ -996,6 +1008,7 @@ class TestNumpy_PaletteColor:
+         with pytest.raises(TypeError, match=msg):
+             apply_color_lut(ds.pixel_array, ds)
  
-+ at pytest.mark.skip("When building a Debian package we can not download anything")
- class TestFilespecElementEval:
-     # Load plan once
-     plan, _ = filespec_parser("pydicom::rtplan.dcm")[0]
-@@ -121,6 +123,7 @@ class TestCLIcall:
-         out, _ = capsys.readouterr()
-         assert out.startswith("usage: pydicom [-h] {")
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     def test_invalid_lut_bit_depth_raises(self):
+         """Test that an invalid LUT bit depth raises an exception."""
+         ds = dcmread(PAL_08_256_0_16_1F)
+@@ -1015,6 +1028,7 @@ class TestNumpy_PaletteColor:
+         with pytest.raises(ValueError, match=msg):
+             apply_color_lut(ds.pixel_array, ds)
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_codify_command(self, capsys):
-         """CLI `codify` command prints correct output"""
- 
-@@ -134,6 +137,7 @@ class TestCLIcall:
-         out, _ = capsys.readouterr()
-         assert "add_new((0x0001, 0x0001)" not in out
+     def test_unequal_lut_length_raises(self):
+         """Test that an unequal LUT lengths raise an exception."""
+         ds = dcmread(PAL_08_256_0_16_1F)
+@@ -1025,6 +1039,7 @@ class TestNumpy_PaletteColor:
+         with pytest.raises(ValueError, match=msg):
+             apply_color_lut(ds.pixel_array, ds)
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_codify_data_element(self, capsys):
-         """CLI `codify` command raises error if not a Dataset"""
-         with pytest.raises(NotImplementedError):
-@@ -146,6 +150,7 @@ class TestCLIcall:
-         assert out.startswith("# -*- coding: utf-8 -*-")
-         assert "Buc^J?r?me" in out
+     def test_no_palette_color(self):
+         """Test that an unequal LUT lengths raise an exception."""
+         ds = dcmread(PAL_08_256_0_16_1F)
+@@ -1033,6 +1048,7 @@ class TestNumpy_PaletteColor:
+         with pytest.raises(ValueError, match=msg):
+             apply_color_lut(ds.pixel_array, ds)
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_help(self, capsys):
-         """CLI `help` command gives expected output"""
-         # With subcommand
-@@ -164,6 +169,7 @@ class TestCLIcall:
-         out, _ = capsys.readouterr()
-         assert "Available subcommands:" in out
+     def test_uint08_16(self):
+         """Test uint8 Pixel Data with 16-bit LUT entries."""
+         ds = dcmread(PAL_08_200_0_16_1F, force=True)
+@@ -1053,6 +1069,7 @@ class TestNumpy_PaletteColor:
+         # original `arr` is unchanged
+         assert np.array_equal(orig, arr)
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_show_command(self, capsys):
-         """CLI `show` command prints correct output"""
-         main("show pydicom::MR_small_RLE.dcm".split())
-@@ -178,6 +184,7 @@ class TestCLIcall:
-         out, _ = capsys.readouterr()
-         assert "4000" == out.strip()
+     def test_uint08_16_2frame(self):
+         """Test 2 frame uint8 Pixel Data with 16-bit LUT entries."""
+         ds = dcmread(PAL_08_256_0_16_2F)
+@@ -1086,6 +1103,7 @@ class TestNumpy_PaletteColor:
+         # original `arr` is unchanged
+         assert np.array_equal(orig, arr)
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_show_options(self, capsys):
-         """CLI `show` command with options prints correct output"""
-         # Quiet option, image file
---- a/pydicom/tests/test_dataelem.py
-+++ b/pydicom/tests/test_dataelem.py
-@@ -404,6 +404,7 @@ class TestDataElement:
-         assert 'PN' == ds[0x00100010].VR
-         assert 'Dionysios=?????????' == ds[0x00100010].value
+     def test_uint16_16_segmented_litle(self):
+         """Test uint16 Pixel Data with 16-bit LUT entries."""
+         ds = dcmread(PAL_SEG_LE_16_1F)
+@@ -1107,6 +1125,7 @@ class TestNumpy_PaletteColor:
+ 
+         assert (orig == arr).all()
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_reading_ds_with_known_tags_with_UN_VR(
-             self, replace_un_with_known_vr):
-         """Known tags with VR UN are correctly read."""
---- a/pydicom/tests/test_encaps.py
-+++ b/pydicom/tests/test_encaps.py
-@@ -472,6 +472,7 @@ class TestGeneratePixelDataFrames:
-         assert next(frames) == b'\x03\x00\x00\x00\x02\x04'
-         pytest.raises(StopIteration, next, frames)
+     def test_uint16_16_segmented_big(self):
+         """Test big endian uint16 Pixel Data with 16-bit LUT entries."""
+         ds = dcmread(PAL_SEG_BE_16_1F)
+@@ -1126,6 +1145,7 @@ class TestNumpy_PaletteColor:
+         assert [10280, 11565, 16705] == list(rgb[479, 320, :])
+         assert [10280, 11565, 16705] == list(rgb[479, 639, :])
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_empty_bot_multi_fragments_per_frame(self):
-         """Test multi-frame where multiple frags per frame and no BOT."""
-         # Regression test for #685
-@@ -541,6 +542,7 @@ class TestGeneratePixelData:
-         with pytest.raises(ValueError, match=msg):
-             next(generate_pixel_data(bytestream))
+     def test_16_allocated_8_entries(self):
+         """Test LUT with 8-bit entries in 16 bits allocated."""
+         ds = dcmread(PAL_08_200_0_16_1F, force=True)
+@@ -1147,6 +1167,7 @@ class TestNumpy_PaletteColor:
+         assert np.array_equal(arr, out[:, :, 1])
+         assert np.array_equal(arr, out[:, :, 2])
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_empty_bot_too_few_fragments(self):
-         """Test parsing with too few fragments."""
-         ds = dcmread(JP2K_10FRAME_NOBOT)
-@@ -1135,6 +1137,7 @@ class TestEncapsulateFrame:
-         pytest.raises(StopIteration, next, item_generator)
+     def test_alpha(self):
+         """Test applying a color palette with an alpha channel."""
+         ds = dcmread(PAL_08_256_0_16_1F)
+@@ -1157,6 +1178,7 @@ class TestNumpy_PaletteColor:
+         assert 32768 == rgba[:, :, 3][0, 0]
+         assert (32768 == rgba[:, :, 3]).any()
  
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     def test_well_known_palette(self, disable_value_validation):
+         """Test using a well-known palette."""
+         ds = dcmread(PAL_08_256_0_16_1F)
+@@ -1190,6 +1212,7 @@ class TestNumpy_PaletteColor:
+         uid = apply_color_lut(arr, palette='1.2.840.10008.1.5.2')
+         assert np.array_equal(uid, rgb)
  
-+ at pytest.mark.skip("When building a Debian package we can not download anything")
- class TestEncapsulate:
-     """Test encaps.encapsulate."""
-     def test_encapsulate_single_fragment_per_frame_no_bot(self):
-@@ -1229,6 +1232,7 @@ class TestEncapsulate:
-             encapsulate([frame_a, frame_b], has_bot=True)
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     def test_first_map_positive(self):
+         """Test a positive first mapping value."""
+         ds = dcmread(PAL_08_200_0_16_1F, force=True)
+@@ -1208,6 +1231,7 @@ class TestNumpy_PaletteColor:
+         assert [50944, 16384, 27904] == list(rgb[arr == 149][0])
+         assert ([50944, 16384, 27904] == rgb[arr == 149]).all()
  
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     def test_first_map_negative(self):
+         """Test a negative first mapping value."""
+         ds = dcmread(PAL_08_200_0_16_1F, force=True)
+@@ -1227,6 +1251,7 @@ class TestNumpy_PaletteColor:
+         assert [60160, 25600, 37376] == list(rgb[arr == 130][0])
+         assert ([60160, 25600, 37376] == rgb[arr == 130]).all()
  
-+ at pytest.mark.skip("When building a Debian package we can not download anything")
- class TestEncapsulateExtended:
-     """Tests for encaps.encapsulate_extended."""
-     def test_encapsulate(self):
---- a/pydicom/tests/test_encoders_pydicom.py
-+++ b/pydicom/tests/test_encoders_pydicom.py
-@@ -28,23 +28,25 @@ from pydicom.pixel_data_handlers.util im
- from pydicom.uid import RLELossless
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     def test_unchanged(self):
+         """Test dataset with no LUT is unchanged."""
+         # Regression test for #1068
+@@ -1466,6 +1491,7 @@ class TestNumpy_ExpandSegmentedLUT:
+ @pytest.mark.skipif(not HAVE_NP, reason="Numpy is not available")
+ class TestNumpy_ApplyWindowing:
+     """Tests for util.apply_windowing()."""
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     def test_window_single_view(self):
+         """Test windowing with a single view."""
+         # 12-bit unsigned
+@@ -1483,6 +1509,7 @@ class TestNumpy_ApplyWindowing:
+         out = apply_windowing(arr, ds)
+         assert 3046.6 == pytest.approx(out[326, 130], abs=0.1)
  
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     def test_window_multi_view(self):
+         """Test windowing with multiple views."""
+         ds = dcmread(WIN_12_1F)
+@@ -1725,6 +1752,7 @@ class TestNumpy_ApplyWindowing:
+             )
+         )
  
--# EXPL: Explicit VR Little Endian
--# RLE: RLE Lossless
--# 8/8-bit, 1 sample/pixel, 1 frame
--EXPL_8_1_1F = get_testdata_file("OBXXXX1A.dcm")
--RLE_8_1_1F = get_testdata_file("OBXXXX1A_rle.dcm")
--# 8/8-bit, 3 sample/pixel, 1 frame
--EXPL_8_3_1F = get_testdata_file("SC_rgb.dcm")
--# 8/8-bit, 3 sample/pixel, 2 frame
--EXPL_8_3_2F = get_testdata_file("SC_rgb_2frame.dcm")
--# 16/16-bit, 1 sample/pixel, 1 frame
--EXPL_16_1_1F = get_testdata_file("MR_small.dcm")
--# 16/16-bit, 3 sample/pixel, 1 frame
--EXPL_16_3_1F = get_testdata_file("SC_rgb_16bit.dcm")
--# 32/32-bit, 1 sample/pixel, 1 frame
--EXPL_32_1_1F = get_testdata_file("rtdose_1frame.dcm")
--# 32/32-bit, 3 sample/pixel, 1 frame
--EXPL_32_3_1F = get_testdata_file("SC_rgb_32bit.dcm")
-+## EXPL: Explicit VR Little Endian
-+## RLE: RLE Lossless
-+## 8/8-bit, 1 sample/pixel, 1 frame
-+#EXPL_8_1_1F = get_testdata_file("OBXXXX1A.dcm")
-+#RLE_8_1_1F = get_testdata_file("OBXXXX1A_rle.dcm")
-+RLE_8_1_1F = None
-+## 8/8-bit, 3 sample/pixel, 1 frame
-+#EXPL_8_3_1F = get_testdata_file("SC_rgb.dcm")
-+## 8/8-bit, 3 sample/pixel, 2 frame
-+#EXPL_8_3_2F = get_testdata_file("SC_rgb_2frame.dcm")
-+## 16/16-bit, 1 sample/pixel, 1 frame
-+#EXPL_16_1_1F = get_testdata_file("MR_small.dcm")
-+## 16/16-bit, 3 sample/pixel, 1 frame
-+#EXPL_16_3_1F = get_testdata_file("SC_rgb_16bit.dcm")
-+EXPL_16_3_1F = None
-+## 32/32-bit, 1 sample/pixel, 1 frame
-+#EXPL_32_1_1F = get_testdata_file("rtdose_1frame.dcm")
-+## 32/32-bit, 3 sample/pixel, 1 frame
-+#EXPL_32_3_1F = get_testdata_file("SC_rgb_32bit.dcm")
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     def test_window_multi_frame(self):
+         """Test windowing with a multiple frames."""
+         ds = dcmread(WIN_12_1F)
+@@ -1745,6 +1773,7 @@ class TestNumpy_ApplyWindowing:
+         assert 3046.6 == pytest.approx(out[0, 326, 130], abs=0.1)
+         assert 4095.0 == pytest.approx(out[1, 326, 130], abs=0.1)
  
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     def test_window_rescale(self):
+         """Test windowing after a rescale operation."""
+         ds = dcmread(WIN_12_1F)
+@@ -1776,6 +1805,7 @@ class TestNumpy_ApplyWindowing:
+         assert 4455.6 == pytest.approx(out[326, 130], abs=0.1)
+         assert 4914.0 == pytest.approx(out[316, 481], abs=0.1)
  
- # Tests for RLE encoding
-@@ -107,6 +109,7 @@ class TestEncodeRow:
-         assert output == _encode_row(src)
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     def test_window_modality_lut(self):
+         """Test windowing after a modality LUT operation."""
+         ds = dcmread(MOD_16_SEQ)
+@@ -1806,6 +1836,7 @@ class TestNumpy_ApplyWindowing:
+         assert 65535 == out.max()
+         assert 0 == out.min()
  
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     def test_window_bad_photometric_interp(self):
+         """Test bad photometric interpretation raises exception."""
+         ds = dcmread(WIN_12_1F)
+@@ -1814,6 +1845,7 @@ class TestNumpy_ApplyWindowing:
+         with pytest.raises(ValueError, match=msg):
+             apply_windowing(ds.pixel_array, ds)
  
-+ at pytest.mark.skip("When building a Debian package we can not download anything")
- @pytest.mark.skipif(not HAVE_NP, reason="Numpy not available")
- class TestEncodeFrame:
-     """Tests for rle_handler._encode_frame."""
-@@ -139,6 +142,7 @@ class TestEncodeFrame:
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     def test_window_bad_parameters(self):
+         """Test bad windowing parameters raise exceptions."""
+         ds = dcmread(WIN_12_1F)
+@@ -1838,6 +1870,7 @@ class TestNumpy_ApplyWindowing:
+         with pytest.raises(ValueError, match=msg):
+             apply_windowing(ds.pixel_array, ds)
  
-         assert np.array_equal(ref, arr)
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     def test_window_bad_index(self, no_numpy_use):
+         """Test windowing with a bad view index."""
+         ds = dcmread(WIN_12_1F)
+@@ -1860,6 +1893,7 @@ class TestNumpy_ApplyWindowing:
+         out = apply_windowing(arr, ds)
+         assert [-128, -127, -1, 0, 1, 126, 127] == out.tolist()
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_cycle_8bit_3sample(self):
-         """Test an encode/decode cycle for 8-bit 3 sample/pixel."""
-         ds = dcmread(EXPL_8_3_1F)
-@@ -176,6 +180,7 @@ class TestEncodeFrame:
+     def test_rescale_empty(self):
+         """Test RescaleSlope and RescaleIntercept being empty."""
+         ds = dcmread(WIN_12_1F)
+@@ -1876,6 +1910,7 @@ class TestNumpy_ApplyWindowing:
+         assert 4095.0 == pytest.approx(out[316, 481], abs=0.1)
  
-         assert np.array_equal(ref, arr)
+ 
++ at pytest.mark.skip("When building a Debian package we can not download anything")
+ @pytest.mark.skipif(not HAVE_NP, reason="Numpy is not available")
+ class TestNumpy_ApplyVOI:
+     """Tests for util.apply_voi()."""
+@@ -1905,6 +1940,7 @@ class TestNumpy_ApplyVOI:
+         assert 45746 == out[186, 389]
+         assert 65535 == out[129, 79]
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_cycle_16bit_3sample(self):
-         """Test an encode/decode cycle for 16-bit 3 sample/pixel."""
-         ds = dcmread(EXPL_16_3_1F)
-@@ -351,6 +356,7 @@ class TestEncodeFrame:
+     def test_voi_multi_view(self):
+         """Test VOI LUT with multiple views."""
+         ds = dcmread(VOI_08_1F)
+@@ -1936,6 +1972,7 @@ class TestNumpy_ApplyVOI:
+         assert 19789 == out1[186, 389]
+         assert 0 == out1[129, 79]
  
- class TestEncodeSegment:
-     """Tests for rle_handler._encode_segment."""
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     @pytest.mark.skipif(not HAVE_NP, reason="Numpy not available")
-     def test_one_row(self):
-         """Test encoding data that contains only a single row."""
-@@ -372,6 +378,7 @@ class TestEncodeSegment:
-         assert ds.Columns == len(redecoded)
-         assert decoded[:ds.Columns] == redecoded
+     def test_voi_multi_frame(self):
+         """Test VOI with a multiple frames."""
+         ds = dcmread(VOI_08_1F)
+@@ -1957,6 +1994,7 @@ class TestNumpy_ApplyVOI:
+         assert 19789 == out[1, 186, 389]
+         assert 0 == out[1, 129, 79]
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_cycle(self):
-         """Test the decoded data remains the same after encoding/decoding."""
-         ds = dcmread(RLE_8_1_1F)
-@@ -404,6 +411,7 @@ class TestRLEEncodeFrame:
-         with pytest.raises(ValueError, match=msg):
-             rle_encode_frame(arr)
+     def test_voi_zero_entries(self):
+         """Test that 0 entries is interpreted correctly."""
+         ds = dcmread(VOI_08_1F)
+@@ -2029,6 +2067,7 @@ class TestNumpy_ApplyVOI:
+         assert 'uint16' == out.dtype
+         assert [0, 0, 32768, 0, 65535] == out.tolist()
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_encoding_multiple_frames_raises(self):
-         """Test encoding multiple framed pixel data raises exception."""
-         # Note: only works with multi-sample data
-@@ -418,6 +426,7 @@ class TestRLEEncodeFrame:
-         with pytest.raises(ValueError, match=msg):
-             rle_encode_frame(ds.pixel_array)
+     def test_voi_bad_depth(self):
+         """Test bad LUT depth raises exception."""
+         ds = dcmread(VOI_08_1F)
+@@ -2364,6 +2403,7 @@ class TestNumpy_PackBits:
+         """Test packing data that isn't a full byte long."""
+         assert output == pack_bits(np.asarray(input), pad=False)
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
      def test_functional(self):
-         """Test function works OK."""
-         ds = dcmread(EXPL_16_3_1F)
-@@ -436,6 +445,7 @@ class TestRLEEncodeFrame:
+         """Test against a real dataset."""
+         ds = dcmread(EXPL_1_1_3F)
+diff --git a/pydicom/tests/test_jpeg_ls_pixel_data.py b/pydicom/tests/test_jpeg_ls_pixel_data.py
+index 396c7e0..b0ae9bb 100644
+--- a/pydicom/tests/test_jpeg_ls_pixel_data.py
++++ b/pydicom/tests/test_jpeg_ls_pixel_data.py
+@@ -22,44 +22,44 @@ have_jpeg_ls_handler = jpeg_ls_handler.is_available()
  
-         assert np.array_equal(ref, arr)
+ test_jpeg_ls_decoder = have_numpy_handler and have_jpeg_ls_handler
  
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_big_endian_arr(self):
-         """Test using a big endian array works."""
-         ds = dcmread(EXPL_16_3_1F)
---- a/pydicom/tests/test_filewriter.py
-+++ b/pydicom/tests/test_filewriter.py
-@@ -246,6 +246,7 @@ class TestWriteFile:
-         ds = dcmread(fp, force=True)
-         assert ds[0xFFFFFFFF].value == b'123456'
+-empty_number_tags_name = get_testdata_file(
+-    "reportsi_with_empty_number_tags.dcm")
+-rtplan_name = get_testdata_file("rtplan.dcm")
+-rtdose_name = get_testdata_file("rtdose.dcm")
+-ct_name = get_testdata_file("CT_small.dcm")
+-mr_name = get_testdata_file("MR_small.dcm")
+-truncated_mr_name = get_testdata_file("MR_truncated.dcm")
+-jpeg2000_name = get_testdata_file("JPEG2000.dcm")
+-jpeg2000_lossless_name = get_testdata_file(
+-    "MR_small_jp2klossless.dcm")
+-jpeg_ls_lossless_name = get_testdata_file(
+-    "MR_small_jpeg_ls_lossless.dcm")
+-jpeg_lossy_name = get_testdata_file("JPEG-lossy.dcm")
+-jpeg_lossless_name = get_testdata_file("JPEG-LL.dcm")
+-deflate_name = get_testdata_file("image_dfl.dcm")
+-rtstruct_name = get_testdata_file("rtstruct.dcm")
+-priv_SQ_name = get_testdata_file("priv_SQ.dcm")
+-nested_priv_SQ_name = get_testdata_file("nested_priv_SQ.dcm")
+-meta_missing_tsyntax_name = get_testdata_file(
+-    "meta_missing_tsyntax.dcm")
+-no_meta_group_length = get_testdata_file(
+-    "no_meta_group_length.dcm")
+-gzip_name = get_testdata_file("zipMR.gz")
+-color_px_name = get_testdata_file("color-px.dcm")
+-color_pl_name = get_testdata_file("color-pl.dcm")
+-explicit_vr_le_no_meta = get_testdata_file(
+-    "ExplVR_LitEndNoMeta.dcm")
+-explicit_vr_be_no_meta = get_testdata_file(
+-    "ExplVR_BigEndNoMeta.dcm")
+-emri_name = get_testdata_file("emri_small.dcm")
+-emri_big_endian_name = get_testdata_file(
+-    "emri_small_big_endian.dcm")
+-emri_jpeg_ls_lossless = get_testdata_file(
+-    "emri_small_jpeg_ls_lossless.dcm")
+-emri_jpeg_2k_lossless = get_testdata_file(
+-    "emri_small_jpeg_2k_lossless.dcm")
+-color_3d_jpeg_baseline = get_testdata_file(
+-    "color3d_jpeg_baseline.dcm")
++#empty_number_tags_name = get_testdata_file(
++#    "reportsi_with_empty_number_tags.dcm")
++#rtplan_name = get_testdata_file("rtplan.dcm")
++#rtdose_name = get_testdata_file("rtdose.dcm")
++#ct_name = get_testdata_file("CT_small.dcm")
++#mr_name = get_testdata_file("MR_small.dcm")
++#truncated_mr_name = get_testdata_file("MR_truncated.dcm")
++#jpeg2000_name = get_testdata_file("JPEG2000.dcm")
++#jpeg2000_lossless_name = get_testdata_file(
++#    "MR_small_jp2klossless.dcm")
++#jpeg_ls_lossless_name = get_testdata_file(
++#    "MR_small_jpeg_ls_lossless.dcm")
++#jpeg_lossy_name = get_testdata_file("JPEG-lossy.dcm")
++#jpeg_lossless_name = get_testdata_file("JPEG-LL.dcm")
++#deflate_name = get_testdata_file("image_dfl.dcm")
++#rtstruct_name = get_testdata_file("rtstruct.dcm")
++#priv_SQ_name = get_testdata_file("priv_SQ.dcm")
++#nested_priv_SQ_name = get_testdata_file("nested_priv_SQ.dcm")
++#meta_missing_tsyntax_name = get_testdata_file(
++#    "meta_missing_tsyntax.dcm")
++#no_meta_group_length = get_testdata_file(
++#    "no_meta_group_length.dcm")
++#gzip_name = get_testdata_file("zipMR.gz")
++#color_px_name = get_testdata_file("color-px.dcm")
++#color_pl_name = get_testdata_file("color-pl.dcm")
++#explicit_vr_le_no_meta = get_testdata_file(
++#    "ExplVR_LitEndNoMeta.dcm")
++#explicit_vr_be_no_meta = get_testdata_file(
++#    "ExplVR_BigEndNoMeta.dcm")
++#emri_name = get_testdata_file("emri_small.dcm")
++#emri_big_endian_name = get_testdata_file(
++#    "emri_small_big_endian.dcm")
++#emri_jpeg_ls_lossless = get_testdata_file(
++#    "emri_small_jpeg_ls_lossless.dcm")
++#emri_jpeg_2k_lossless = get_testdata_file(
++#    "emri_small_jpeg_2k_lossless.dcm")
++#color_3d_jpeg_baseline = get_testdata_file(
++#    "color3d_jpeg_baseline.dcm")
+ dir_name = os.path.dirname(sys.argv[0])
+ save_dir = os.getcwd()
  
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_write_removes_grouplength(self):
-         ds = dcmread(color_pl_name)
-         assert 0x00080000 in ds
-@@ -1395,6 +1396,7 @@ class TestWriteToStandard:
-         assert ds.get_item(0x300A0006).is_raw  # RT Plan Date
-         assert ds.get_item(0x300A0010).is_raw  # Dose Reference Sequence
+@@ -67,6 +67,7 @@ SUPPORTED_HANDLER_NAMES = (
+     'jpegls', 'jpeg_ls', 'JPEG_LS', 'jpegls_handler', 'JPEG_LS_Handler'
+ )
  
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_raw_elements_preserved_explicit_vr(self):
-         """Test writing the dataset preserves raw elements."""
-         ds = dcmread(color_pl_name)
-@@ -1583,6 +1585,7 @@ class TestWriteToStandard:
-         assert ds_expl[(0x0009, 0x10e7)].VR == 'UL'
-         assert ds_expl[(0x0043, 0x1010)].VR == 'US'
++ at pytest.mark.skip("Ignore test due to wrong gdcm usage. (See https://lists.debian.org/debian-med/2021/12/msg00061.html)")
+ class TestJPEGLS_no_jpeg_ls:
+     def setup_method(self):
+         self.jpeg_ls_lossless = dcmread(jpeg_ls_lossless_name)
+@@ -84,6 +85,7 @@ class TestJPEGLS_no_jpeg_ls:
+             self.jpeg_ls_lossless.pixel_array
  
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_convert_rgb_from_implicit_to_explicit_vr(self, no_numpy_use):
-         """Test converting an RGB dataset from implicit to explicit VR
-         and vice verse."""
---- a/pydicom/tests/test_handler_util.py
-+++ b/pydicom/tests/test_handler_util.py
-@@ -43,32 +43,32 @@ from pydicom.uid import (
- )
  
++ at pytest.mark.skip("Ignore test due to wrong gdcm usage. (See https://lists.debian.org/debian-med/2021/12/msg00061.html)")
+ class TestJPEGLS_JPEG2000_no_jpeg_ls:
+     def setup_method(self):
+         self.jpeg_2k = dcmread(jpeg2000_name)
+@@ -108,6 +110,7 @@ class TestJPEGLS_JPEG2000_no_jpeg_ls:
+             self.emri_jpeg_2k_lossless.pixel_array
  
--# PAL: PALETTE COLOR Photometric Interpretation
--# SEG: Segmented Palette Color
--# SUP: Supplemental Palette Color
--# LE, BE: little endian, big endian encoding
--# 8/8, 1 sample/pixel, 1 frame
--PAL_08_256_0_16_1F = get_testdata_file("OBXXXX1A.dcm")
--PAL_08_200_0_16_1F = get_testdata_file("OT-PAL-8-face.dcm")
--# 8/8, 1 sample/pixel, 2 frame
--PAL_08_256_0_16_2F = get_testdata_file("OBXXXX1A_2frame.dcm")
--# PALETTE COLOR with 16-bit LUTs (no indirect segments)
--PAL_SEG_LE_16_1F = get_testdata_file("gdcm-US-ALOKA-16.dcm")
--PAL_SEG_BE_16_1F = get_testdata_file("gdcm-US-ALOKA-16_big.dcm")
--# Supplemental palette colour + VOI windowing
--SUP_16_16_2F = get_testdata_file("eCT_Supplemental.dcm")
--# 8 bit, 3 samples/pixel, 1 and 2 frame datasets
--# RGB colorspace, uncompressed
--RGB_8_3_1F = get_testdata_file("SC_rgb.dcm")
--RGB_8_3_2F = get_testdata_file("SC_rgb_2frame.dcm")
--# MOD: Modality LUT
--# SEQ: Modality LUT Sequence
--MOD_16 = get_testdata_file("CT_small.dcm")
--MOD_16_SEQ = get_testdata_file("mlut_18.dcm")
--# VOI: VOI LUT Sequence
--# WIN: Windowing operation
--WIN_12_1F = get_testdata_file("MR-SIEMENS-DICOM-WithOverlays.dcm")
--VOI_08_1F = get_testdata_file("vlut_04.dcm")
-+## PAL: PALETTE COLOR Photometric Interpretation
-+## SEG: Segmented Palette Color
-+## SUP: Supplemental Palette Color
-+## LE, BE: little endian, big endian encoding
-+## 8/8, 1 sample/pixel, 1 frame
-+#PAL_08_256_0_16_1F = get_testdata_file("OBXXXX1A.dcm")
-+#PAL_08_200_0_16_1F = get_testdata_file("OT-PAL-8-face.dcm")
-+## 8/8, 1 sample/pixel, 2 frame
-+#PAL_08_256_0_16_2F = get_testdata_file("OBXXXX1A_2frame.dcm")
-+## PALETTE COLOR with 16-bit LUTs (no indirect segments)
-+#PAL_SEG_LE_16_1F = get_testdata_file("gdcm-US-ALOKA-16.dcm")
-+#PAL_SEG_BE_16_1F = get_testdata_file("gdcm-US-ALOKA-16_big.dcm")
-+## Supplemental palette colour + VOI windowing
-+#SUP_16_16_2F = get_testdata_file("eCT_Supplemental.dcm")
-+## 8 bit, 3 samples/pixel, 1 and 2 frame datasets
-+## RGB colorspace, uncompressed
-+#RGB_8_3_1F = get_testdata_file("SC_rgb.dcm")
-+#RGB_8_3_2F = get_testdata_file("SC_rgb_2frame.dcm")
-+## MOD: Modality LUT
-+## SEQ: Modality LUT Sequence
-+#MOD_16 = get_testdata_file("CT_small.dcm")
-+#MOD_16_SEQ = get_testdata_file("mlut_18.dcm")
-+## VOI: VOI LUT Sequence
-+## WIN: Windowing operation
-+#WIN_12_1F = get_testdata_file("MR-SIEMENS-DICOM-WithOverlays.dcm")
-+#VOI_08_1F = get_testdata_file("vlut_04.dcm")
- # 1/1, 1 sample/pixel, 3 frame
- EXPL_1_1_3F = get_testdata_file("liver.dcm")
- # Uncompressed YBR_FULL_422
-@@ -568,6 +568,7 @@ class TestNumpy_ConvertColourSpace:
-         arr = np.ones((2, 3))
-         assert np.array_equal(arr, convert_color_space(arr, current, desired))
  
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_rgb_ybr_rgb_single_frame(self):
-         """Test round trip conversion of single framed pixel data."""
-         ds = dcmread(RGB_8_3_1F)
-@@ -602,6 +603,7 @@ class TestNumpy_ConvertColourSpace:
-         assert np.allclose(rgb, arr, atol=1)
-         assert rgb.shape == arr.shape
++ at pytest.mark.skip("Ignore test due to wrong gdcm usage. (See https://lists.debian.org/debian-med/2021/12/msg00061.html)")
+ class TestJPEGLS_JPEGlossy_no_jpeg_ls:
+     def setup_method(self):
+         self.jpeg_lossy = dcmread(jpeg_lossy_name)
+@@ -133,6 +136,7 @@ class TestJPEGLS_JPEGlossy_no_jpeg_ls:
+             self.color_3d_jpeg.pixel_array
+ 
+ 
++ at pytest.mark.skip("Ignore test due to wrong gdcm usage. (See https://lists.debian.org/debian-med/2021/12/msg00061.html)")
+ class TestJPEGLS_JPEGlossless_no_jpeg_ls:
+     def setup_method(self):
+         self.jpeg_lossless = dcmread(jpeg_lossless_name)
+@@ -156,6 +160,7 @@ class TestJPEGLS_JPEGlossless_no_jpeg_ls:
+             self.jpeg_lossless.pixel_array
+ 
  
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_rgb_ybr_rgb_multi_frame(self):
-         """Test round trip conversion of multi-framed pixel data."""
-         ds = dcmread(RGB_8_3_2F)
-@@ -649,6 +651,7 @@ class TestNumpy_ConvertColourSpace:
-         assert np.allclose(rgb, arr, atol=1)
-         assert rgb.shape == arr.shape
++ at pytest.mark.skip("Ignore test due to wrong gdcm usage. (See https://lists.debian.org/debian-med/2021/12/msg00061.html)")
+ @pytest.mark.skipif(not test_jpeg_ls_decoder, reason=jpeg_ls_missing_message)
+ class TestJPEGLS_JPEG_LS_with_jpeg_ls:
+     def setup_method(self):
+@@ -189,6 +194,7 @@ class TestJPEGLS_JPEG_LS_with_jpeg_ls:
+         assert b.mean() == a.mean()
  
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_frame_by_frame(self):
-         """Test processing frame-by-frame."""
-         ds = dcmread(RGB_8_3_2F)
-@@ -828,6 +831,7 @@ class TestGetExpectedLength:
-         assert length[2] == get_expected_length(ds, unit='bytes')
  
++ at pytest.mark.skip("Ignore test due to wrong gdcm usage. (See https://lists.debian.org/debian-med/2021/12/msg00061.html)")
+ @pytest.mark.skipif(not test_jpeg_ls_decoder, reason=jpeg_ls_missing_message)
+ class TestJPEGLS_JPEG2000_with_jpeg_ls:
+     def setup_method(self):
+@@ -212,6 +218,7 @@ class TestJPEGLS_JPEG2000_with_jpeg_ls:
+             self.emri_jpeg_2k_lossless.pixel_array
  
-+ at pytest.mark.skip("When building a Debian package we can not download anything")
- @pytest.mark.skipif(not HAVE_NP, reason="Numpy is not available")
- class TestNumpy_ModalityLUT:
-     """Tests for util.apply_modality_lut()."""
-@@ -848,6 +852,7 @@ class TestNumpy_ModalityLUT:
-         out = apply_modality_lut(arr, ds)
-         assert np.array_equal(arr * 2.5 - 2048, out)
  
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_lut_sequence(self):
-         """Test the LUT Sequence transform."""
-         ds = dcmread(MOD_16_SEQ)
-@@ -875,6 +880,7 @@ class TestNumpy_ModalityLUT:
-         assert 52428 == out[228, 385]
-         assert 58974 == out[291, 385]
++ at pytest.mark.skip("Ignore test due to wrong gdcm usage. (See https://lists.debian.org/debian-med/2021/12/msg00061.html)")
+ @pytest.mark.skipif(not test_jpeg_ls_decoder, reason=jpeg_ls_missing_message)
+ class TestJPEGLS_JPEGlossy_with_jpeg_ls:
+     def setup_method(self):
+@@ -237,6 +244,7 @@ class TestJPEGLS_JPEGlossy_with_jpeg_ls:
+             self.color_3d_jpeg.pixel_array
  
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_lut_sequence_zero_entries(self):
-         """Test that 0 entries is interpreted correctly."""
-         # LUTDescriptor[0] of 0 -> 65536, but only 4096 entries so any
-@@ -906,6 +912,7 @@ class TestNumpy_ModalityLUT:
-         out = apply_modality_lut(arr, ds)
-         assert arr is out
  
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_lutdata_ow(self):
-         """Test LUT Data with VR OW."""
-         ds = dcmread(MOD_16_SEQ)
-@@ -950,6 +957,7 @@ class TestNumpy_PaletteColor:
-         if os.path.exists(self.n_palette):
-             os.rename(self.n_palette, self.o_palette)
++ at pytest.mark.skip("Ignore test due to wrong gdcm usage. (See https://lists.debian.org/debian-med/2021/12/msg00061.html)")
+ @pytest.mark.skipif(not test_jpeg_ls_decoder, reason=jpeg_ls_missing_message)
+ class TestJPEGLS_JPEGlossless_with_jpeg_ls:
+     def setup_method(self):
+diff --git a/pydicom/tests/test_numpy_pixel_data.py b/pydicom/tests/test_numpy_pixel_data.py
+index 1dbf395..d4a83e9 100644
+--- a/pydicom/tests/test_numpy_pixel_data.py
++++ b/pydicom/tests/test_numpy_pixel_data.py
+@@ -66,11 +66,11 @@ except ImportError:
+ # DEFL: Deflated Explicit VR Little Endian
+ # EXPB: Explicit VR Big Endian
+ # 1/1, 1 sample/pixel, 1 frame
+-EXPL_1_1_1F = get_testdata_file("liver_1frame.dcm")
+-EXPB_1_1_1F = get_testdata_file("liver_expb_1frame.dcm")
++##EXPL_1_1_1F = get_testdata_file("liver_1frame.dcm")
++##EXPB_1_1_1F = get_testdata_file("liver_expb_1frame.dcm")
+ # 1/1, 1 sample/pixel, 3 frame
+-EXPL_1_1_3F = get_testdata_file("liver.dcm")
+-EXPB_1_1_3F = get_testdata_file("liver_expb.dcm")
++##EXPL_1_1_3F = get_testdata_file("liver.dcm")
++##EXPB_1_1_3F = get_testdata_file("liver_expb.dcm")
+ # 1/1, 3 sample/pixel, 1 frame
+ EXPL_1_3_1F = None
+ EXPB_1_3_1F = None
+@@ -78,74 +78,74 @@ EXPB_1_3_1F = None
+ EXPL_1_3_XF = None
+ EXPB_1_3_XF = None
+ # 8/8, 1 sample/pixel, 1 frame
+-DEFL_8_1_1F = get_testdata_file("image_dfl.dcm")
+-EXPL_8_1_1F = get_testdata_file("OBXXXX1A.dcm")
+-EXPB_8_1_1F = get_testdata_file("OBXXXX1A_expb.dcm")
++##DEFL_8_1_1F = get_testdata_file("image_dfl.dcm")
++##EXPL_8_1_1F = get_testdata_file("OBXXXX1A.dcm")
++##EXPB_8_1_1F = get_testdata_file("OBXXXX1A_expb.dcm")
+ # 8/8, 1 sample/pixel, 2 frame
+-EXPL_8_1_2F = get_testdata_file("OBXXXX1A_2frame.dcm")
+-EXPB_8_1_2F = get_testdata_file("OBXXXX1A_expb_2frame.dcm")
++##EXPL_8_1_2F = get_testdata_file("OBXXXX1A_2frame.dcm")
++##EXPB_8_1_2F = get_testdata_file("OBXXXX1A_expb_2frame.dcm")
+ # 8/8, 3 sample/pixel, 1 frame
+-EXPL_8_3_1F = get_testdata_file("SC_rgb.dcm")
+-EXPB_8_3_1F = get_testdata_file("SC_rgb_expb.dcm")
++##EXPL_8_3_1F = get_testdata_file("SC_rgb.dcm")
++##EXPB_8_3_1F = get_testdata_file("SC_rgb_expb.dcm")
+ # 8/8, 3 samples/pixel, 1 frame, 3 x 3
+-EXPL_8_3_1F_ODD = get_testdata_file('SC_rgb_small_odd.dcm')
+-EXPL_8_3_1F_ODD_BIGE = get_testdata_file('SC_rgb_small_odd_big_endian.dcm')
++##EXPL_8_3_1F_ODD = get_testdata_file('SC_rgb_small_odd.dcm')
++##EXPL_8_3_1F_ODD_BIGE = get_testdata_file('SC_rgb_small_odd_big_endian.dcm')
+ # 8/8, 3 sample/pixel, 1 frame, YBR_FULL_422
+-EXPL_8_3_1F_YBR422 = get_testdata_file('SC_ybr_full_422_uncompressed.dcm')
++##EXPL_8_3_1F_YBR422 = get_testdata_file('SC_ybr_full_422_uncompressed.dcm')
+ # 8/8, 3 sample/pixel, 1 frame, YBR_FULL
+-EXPL_8_3_1F_YBR = get_testdata_file('SC_ybr_full_uncompressed.dcm')
++##EXPL_8_3_1F_YBR = get_testdata_file('SC_ybr_full_uncompressed.dcm')
+ # 8/8, 3 sample/pixel, 2 frame
+-EXPL_8_3_2F = get_testdata_file("SC_rgb_2frame.dcm")
+-EXPB_8_3_2F = get_testdata_file("SC_rgb_expb_2frame.dcm")
++##EXPL_8_3_2F = get_testdata_file("SC_rgb_2frame.dcm")
++##EXPB_8_3_2F = get_testdata_file("SC_rgb_expb_2frame.dcm")
+ # 16/16, 1 sample/pixel, 1 frame
+-IMPL_16_1_1F = get_testdata_file("MR_small_implicit.dcm")
+-EXPL_16_1_1F = get_testdata_file("MR_small.dcm")
+-EXPB_16_1_1F = get_testdata_file("MR_small_expb.dcm")
++##IMPL_16_1_1F = get_testdata_file("MR_small_implicit.dcm")
++##EXPL_16_1_1F = get_testdata_file("MR_small.dcm")
++##EXPB_16_1_1F = get_testdata_file("MR_small_expb.dcm")
+ # Pixel Data with 128 bytes trailing padding
+-EXPL_16_1_1F_PAD = get_testdata_file("MR_small_padded.dcm")
++##EXPL_16_1_1F_PAD = get_testdata_file("MR_small_padded.dcm")
+ # 16/12, 1 sample/pixel, 10 frame
+-EXPL_16_1_10F = get_testdata_file("emri_small.dcm")
+-EXPB_16_1_10F = get_testdata_file("emri_small_big_endian.dcm")
++##EXPL_16_1_10F = get_testdata_file("emri_small.dcm")
++##EXPB_16_1_10F = get_testdata_file("emri_small_big_endian.dcm")
+ # 16/16, 3 sample/pixel, 1 frame
+-EXPL_16_3_1F = get_testdata_file("SC_rgb_16bit.dcm")
+-EXPB_16_3_1F = get_testdata_file("SC_rgb_expb_16bit.dcm")
++##EXPL_16_3_1F = get_testdata_file("SC_rgb_16bit.dcm")
++##EXPB_16_3_1F = get_testdata_file("SC_rgb_expb_16bit.dcm")
+ # 16/16, 3 sample/pixel, 2 frame
+-EXPL_16_3_2F = get_testdata_file("SC_rgb_16bit_2frame.dcm")
+-EXPB_16_3_2F = get_testdata_file("SC_rgb_expb_16bit_2frame.dcm")
++##EXPL_16_3_2F = get_testdata_file("SC_rgb_16bit_2frame.dcm")
++##EXPB_16_3_2F = get_testdata_file("SC_rgb_expb_16bit_2frame.dcm")
+ # 32/32, 1 sample/pixel, 1 frame
+-IMPL_32_1_1F = get_testdata_file("rtdose_1frame.dcm")
+-EXPB_32_1_1F = get_testdata_file("rtdose_expb_1frame.dcm")
++##IMPL_32_1_1F = get_testdata_file("rtdose_1frame.dcm")
++##EXPB_32_1_1F = get_testdata_file("rtdose_expb_1frame.dcm")
+ # 32/32, 1 sample/pixel, 15 frame
+-IMPL_32_1_15F = get_testdata_file("rtdose.dcm")
+-EXPB_32_1_15F = get_testdata_file("rtdose_expb.dcm")
++##IMPL_32_1_15F = get_testdata_file("rtdose.dcm")
++##EXPB_32_1_15F = get_testdata_file("rtdose_expb.dcm")
+ # 32/32, 3 sample/pixel, 1 frame
+-EXPL_32_3_1F = get_testdata_file("SC_rgb_32bit.dcm")
+-EXPB_32_3_1F = get_testdata_file("SC_rgb_expb_32bit.dcm")
++##EXPL_32_3_1F = get_testdata_file("SC_rgb_32bit.dcm")
++##EXPB_32_3_1F = get_testdata_file("SC_rgb_expb_32bit.dcm")
+ # 32/32, 3 sample/pixel, 2 frame
+-EXPL_32_3_2F = get_testdata_file("SC_rgb_32bit_2frame.dcm")
+-EXPB_32_3_2F = get_testdata_file("SC_rgb_expb_32bit_2frame.dcm")
++##EXPL_32_3_2F = get_testdata_file("SC_rgb_32bit_2frame.dcm")
++##EXPB_32_3_2F = get_testdata_file("SC_rgb_expb_32bit_2frame.dcm")
  
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_neither_ds_nor_palette_raises(self):
-         """Test missing `ds` and `palette` raise an exception."""
-         ds = dcmread(PAL_08_256_0_16_1F)
-@@ -957,6 +965,7 @@ class TestNumpy_PaletteColor:
-         with pytest.raises(ValueError, match=msg):
-             apply_color_lut(ds.pixel_array)
+ # Transfer syntaxes supported by other handlers
+ # JPEG Baseline (Process 1)
+-JPEG_BASELINE_1 = get_testdata_file("SC_rgb_jpeg_dcmtk.dcm")
++##JPEG_BASELINE_1 = get_testdata_file("SC_rgb_jpeg_dcmtk.dcm")
+ # JPEG Baseline (Process 2 and 4)
+-JPEG_EXTENDED_2 = get_testdata_file("JPEG-lossy.dcm")
++##JPEG_EXTENDED_2 = get_testdata_file("JPEG-lossy.dcm")
+ # JPEG Lossless (Process 14)
+ JPEG_LOSSLESS_14 = None
+ # JPEG Lossless (Process 14, Selection Value 1)
+-JPEG_LOSSLESS_14_1 = get_testdata_file("SC_rgb_jpeg_gdcm.dcm")
++##JPEG_LOSSLESS_14_1 = get_testdata_file("SC_rgb_jpeg_gdcm.dcm")
+ # JPEG-LS Lossless
+-JPEG_LS_LOSSLESS = get_testdata_file("MR_small_jpeg_ls_lossless.dcm")
++##JPEG_LS_LOSSLESS = get_testdata_file("MR_small_jpeg_ls_lossless.dcm")
+ # JPEG-LS Lossy
+ JPEG_LS_LOSSY = None
+ # JPEG2k Lossless
+-JPEG_2K_LOSSLESS = get_testdata_file("emri_small_jpeg_2k_lossless.dcm")
++##JPEG_2K_LOSSLESS = get_testdata_file("emri_small_jpeg_2k_lossless.dcm")
+ # JPEG2k
+-JPEG_2K = get_testdata_file("JPEG2000.dcm")
++##JPEG_2K = get_testdata_file("JPEG2000.dcm")
+ # RLE Lossless
+-RLE = get_testdata_file("MR_small_RLE.dcm")
++##RLE = get_testdata_file("MR_small_RLE.dcm")
+ # No Image Pixel module
+-NO_PIXEL = get_testdata_file("rtplan.dcm")
++##NO_PIXEL = get_testdata_file("rtplan.dcm")
  
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_palette_unknown_raises(self, disable_value_validation):
-         """Test using an unknown `palette` raise an exception."""
-         ds = dcmread(PAL_08_256_0_16_1F)
-@@ -970,6 +979,7 @@ class TestNumpy_PaletteColor:
-         with pytest.raises(ValueError, match=msg):
-             apply_color_lut(ds.pixel_array, palette='1.2.840.10008.1.1')
  
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_palette_unavailable_raises(self, disable_value_validation):
-         """Test using a missing `palette` raise an exception."""
-         os.rename(self.o_palette, self.n_palette)
-@@ -978,6 +988,7 @@ class TestNumpy_PaletteColor:
-         with pytest.raises(IndexError, match=msg):
-             apply_color_lut(ds.pixel_array, palette='PET')
+ # Transfer Syntaxes (non-retired + Explicit VR Big Endian)
+@@ -167,15 +167,15 @@ def test_unsupported_syntaxes():
  
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_supplemental_raises(self):
-         """Test that supplemental palette color LUT raises exception."""
-         ds = dcmread(SUP_16_16_2F)
-@@ -988,6 +999,7 @@ class TestNumpy_PaletteColor:
-         with pytest.raises(ValueError, match=msg):
-             apply_color_lut(ds.pixel_array, ds)
  
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_invalid_bit_depth_raises(self):
-         """Test that an invalid bit depth raises an exception."""
-         ds = dcmread(PAL_08_256_0_16_1F)
-@@ -996,6 +1008,7 @@ class TestNumpy_PaletteColor:
-         with pytest.raises(TypeError, match=msg):
-             apply_color_lut(ds.pixel_array, ds)
+ REFERENCE_DATA_UNSUPPORTED = [
+-    (JPEG_BASELINE_1, ('1.2.840.10008.1.2.4.50', 'Lestrade^G')),
+-    (JPEG_EXTENDED_2, ('1.2.840.10008.1.2.4.51', 'CompressedSamples^NM1')),
+-    # (JPEG_LOSSLESS_14, ('1.2.840.10008.1.2.4.57')),  # No dataset available
+-    (JPEG_LOSSLESS_14_1, ('1.2.840.10008.1.2.4.70', 'Lestrade^G')),
+-    (JPEG_LS_LOSSLESS, ('1.2.840.10008.1.2.4.80', 'CompressedSamples^MR1')),
+-    # (JPEG_LS_LOSSY, ('1.2.840.10008.1.2.4.81')),  # No dataset available
+-    (JPEG_2K_LOSSLESS, ('1.2.840.10008.1.2.4.90', '')),
+-    (JPEG_2K, ('1.2.840.10008.1.2.4.91', 'CompressedSamples^NM1')),
+-    (RLE, ('1.2.840.10008.1.2.5', 'CompressedSamples^MR1')),
++#    (JPEG_BASELINE_1, ('1.2.840.10008.1.2.4.50', 'Lestrade^G')),
++#    (JPEG_EXTENDED_2, ('1.2.840.10008.1.2.4.51', 'CompressedSamples^NM1')),
++#    # (JPEG_LOSSLESS_14, ('1.2.840.10008.1.2.4.57')),  # No dataset available
++#    (JPEG_LOSSLESS_14_1, ('1.2.840.10008.1.2.4.70', 'Lestrade^G')),
++#    (JPEG_LS_LOSSLESS, ('1.2.840.10008.1.2.4.80', 'CompressedSamples^MR1')),
++#    # (JPEG_LS_LOSSY, ('1.2.840.10008.1.2.4.81')),  # No dataset available
++#    (JPEG_2K_LOSSLESS, ('1.2.840.10008.1.2.4.90', '')),
++#    (JPEG_2K, ('1.2.840.10008.1.2.4.91', 'CompressedSamples^NM1')),
++#    (RLE, ('1.2.840.10008.1.2.5', 'CompressedSamples^MR1')),
+ ]
  
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_invalid_lut_bit_depth_raises(self):
-         """Test that an invalid LUT bit depth raises an exception."""
-         ds = dcmread(PAL_08_256_0_16_1F)
-@@ -1015,6 +1028,7 @@ class TestNumpy_PaletteColor:
-         with pytest.raises(ValueError, match=msg):
-             apply_color_lut(ds.pixel_array, ds)
+ SUPPORTED_HANDLER_NAMES = (
+@@ -338,6 +338,7 @@ class TestNumpy_NoNumpyHandler:
+         # We numpy handler should still be available
+         assert NP_HANDLER is not None
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_unequal_lut_length_raises(self):
-         """Test that an unequal LUT lengths raise an exception."""
-         ds = dcmread(PAL_08_256_0_16_1F)
-@@ -1025,6 +1039,7 @@ class TestNumpy_PaletteColor:
-         with pytest.raises(ValueError, match=msg):
-             apply_color_lut(ds.pixel_array, ds)
+     def test_can_access_supported_dataset(self):
+         """Test that we can read and access elements in dataset."""
+         # Explicit little
+@@ -360,6 +361,7 @@ class TestNumpy_NoNumpyHandler:
+         assert 'CompressedSamples^MR1' == ds.PatientName
+         assert 8192 == len(ds.PixelData)
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_no_palette_color(self):
-         """Test that an unequal LUT lengths raise an exception."""
-         ds = dcmread(PAL_08_256_0_16_1F)
-@@ -1033,6 +1048,7 @@ class TestNumpy_PaletteColor:
-         with pytest.raises(ValueError, match=msg):
-             apply_color_lut(ds.pixel_array, ds)
+     @pytest.mark.parametrize("fpath,data", REFERENCE_DATA_UNSUPPORTED)
+     def test_can_access_unsupported_dataset(self, fpath, data):
+         """Test can read and access elements in unsupported datasets."""
+@@ -367,6 +369,7 @@ class TestNumpy_NoNumpyHandler:
+         assert data[0] == ds.file_meta.TransferSyntaxUID
+         assert data[1] == ds.PatientName
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_uint08_16(self):
-         """Test uint8 Pixel Data with 16-bit LUT entries."""
-         ds = dcmread(PAL_08_200_0_16_1F, force=True)
-@@ -1053,6 +1069,7 @@ class TestNumpy_PaletteColor:
-         # original `arr` is unchanged
-         assert np.array_equal(orig, arr)
+     def test_pixel_array_raises(self):
+         """Test pixel_array raises exception for all syntaxes."""
+         ds = dcmread(EXPL_16_1_1F)
+@@ -378,42 +381,42 @@ class TestNumpy_NoNumpyHandler:
  
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_uint08_16_2frame(self):
-         """Test 2 frame uint8 Pixel Data with 16-bit LUT entries."""
-         ds = dcmread(PAL_08_256_0_16_2F)
-@@ -1086,6 +1103,7 @@ class TestNumpy_PaletteColor:
-         # original `arr` is unchanged
-         assert np.array_equal(orig, arr)
+ # Numpy and the numpy handler are available
+ MATCHING_DATASETS = [
+-    (EXPL_1_1_1F, EXPB_1_1_1F),
+-    (EXPL_1_1_3F, EXPB_1_1_3F),
+-    (EXPL_8_1_1F, EXPB_8_1_1F),
+-    (EXPL_8_1_2F, EXPB_8_1_2F),
+-    (EXPL_8_3_1F, EXPB_8_3_1F),
+-    (EXPL_8_3_2F, EXPB_8_3_2F),
+-    (EXPL_16_1_1F, EXPB_16_1_1F),
+-    (EXPL_16_1_10F, EXPB_16_1_10F),
+-    (EXPL_16_3_1F, EXPB_16_3_1F),
+-    (EXPL_16_3_2F, EXPB_16_3_2F),
+-    (IMPL_32_1_1F, EXPB_32_1_1F),
+-    (IMPL_32_1_15F, EXPB_32_1_15F),
+-    (EXPL_32_3_1F, EXPB_32_3_1F),
+-    (EXPL_32_3_2F, EXPB_32_3_2F)
++#    (EXPL_1_1_1F, EXPB_1_1_1F),
++#    (EXPL_1_1_3F, EXPB_1_1_3F),
++#    (EXPL_8_1_1F, EXPB_8_1_1F),
++#    (EXPL_8_1_2F, EXPB_8_1_2F),
++#    (EXPL_8_3_1F, EXPB_8_3_1F),
++#    (EXPL_8_3_2F, EXPB_8_3_2F),
++#    (EXPL_16_1_1F, EXPB_16_1_1F),
++#    (EXPL_16_1_10F, EXPB_16_1_10F),
++#    (EXPL_16_3_1F, EXPB_16_3_1F),
++#    (EXPL_16_3_2F, EXPB_16_3_2F),
++#    (IMPL_32_1_1F, EXPB_32_1_1F),
++#    (IMPL_32_1_15F, EXPB_32_1_15F),
++#    (EXPL_32_3_1F, EXPB_32_3_1F),
++#    (EXPL_32_3_2F, EXPB_32_3_2F)
+ ]
  
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_uint16_16_segmented_litle(self):
-         """Test uint16 Pixel Data with 16-bit LUT entries."""
-         ds = dcmread(PAL_SEG_LE_16_1F)
-@@ -1107,6 +1125,7 @@ class TestNumpy_PaletteColor:
+ EXPL = ExplicitVRLittleEndian
+ IMPL = ImplicitVRLittleEndian
+ REFERENCE_DATA_LITTLE = [
+-    # fpath, (syntax, bits, nr samples, pixel repr, nr frames, shape, dtype)
+-    (EXPL_1_1_1F, (EXPL, 1, 1, 0, 1, (512, 512), 'uint8')),
+-    (EXPL_1_1_3F, (EXPL, 1, 1, 0, 3, (3, 512, 512), 'uint8')),
+-    (EXPL_8_1_1F, (EXPL, 8, 1, 0, 1, (600, 800), 'uint8')),
+-    (EXPL_8_3_1F_ODD, (EXPL, 8, 3, 0, 1, (3, 3, 3), 'uint8')),
+-    (EXPL_8_3_1F_YBR422, (EXPL, 8, 3, 0, 1, (100, 100, 3), 'uint8')),
+-    (EXPL_8_1_2F, (EXPL, 8, 1, 0, 2, (2, 600, 800), 'uint8')),
+-    (EXPL_8_3_1F, (EXPL, 8, 3, 0, 1, (100, 100, 3), 'uint8')),
+-    (EXPL_8_3_2F, (EXPL, 8, 3, 0, 2, (2, 100, 100, 3), 'uint8')),
+-    (EXPL_16_1_1F, (EXPL, 16, 1, 1, 1, (64, 64), 'int16')),
+-    (EXPL_16_1_10F, (EXPL, 16, 1, 0, 10, (10, 64, 64), 'uint16')),
+-    (EXPL_16_3_1F, (EXPL, 16, 3, 0, 1, (100, 100, 3), 'uint16')),
+-    (EXPL_16_3_2F, (EXPL, 16, 3, 0, 2, (2, 100, 100, 3), 'uint16')),
+-    (IMPL_32_1_1F, (IMPL, 32, 1, 0, 1, (10, 10), 'uint32')),
+-    (IMPL_32_1_15F, (IMPL, 32, 1, 0, 15, (15, 10, 10), 'uint32')),
+-    (EXPL_32_3_1F, (EXPL, 32, 3, 0, 1, (100, 100, 3), 'uint32')),
+-    (EXPL_32_3_2F, (EXPL, 32, 3, 0, 2, (2, 100, 100, 3), 'uint32')),
++#    # fpath, (syntax, bits, nr samples, pixel repr, nr frames, shape, dtype)
++#    (EXPL_1_1_1F, (EXPL, 1, 1, 0, 1, (512, 512), 'uint8')),
++#    (EXPL_1_1_3F, (EXPL, 1, 1, 0, 3, (3, 512, 512), 'uint8')),
++#    (EXPL_8_1_1F, (EXPL, 8, 1, 0, 1, (600, 800), 'uint8')),
++#    (EXPL_8_3_1F_ODD, (EXPL, 8, 3, 0, 1, (3, 3, 3), 'uint8')),
++#    (EXPL_8_3_1F_YBR422, (EXPL, 8, 3, 0, 1, (100, 100, 3), 'uint8')),
++#    (EXPL_8_1_2F, (EXPL, 8, 1, 0, 2, (2, 600, 800), 'uint8')),
++#    (EXPL_8_3_1F, (EXPL, 8, 3, 0, 1, (100, 100, 3), 'uint8')),
++#    (EXPL_8_3_2F, (EXPL, 8, 3, 0, 2, (2, 100, 100, 3), 'uint8')),
++#    (EXPL_16_1_1F, (EXPL, 16, 1, 1, 1, (64, 64), 'int16')),
++#    (EXPL_16_1_10F, (EXPL, 16, 1, 0, 10, (10, 64, 64), 'uint16')),
++#    (EXPL_16_3_1F, (EXPL, 16, 3, 0, 1, (100, 100, 3), 'uint16')),
++#    (EXPL_16_3_2F, (EXPL, 16, 3, 0, 2, (2, 100, 100, 3), 'uint16')),
++#    (IMPL_32_1_1F, (IMPL, 32, 1, 0, 1, (10, 10), 'uint32')),
++#    (IMPL_32_1_15F, (IMPL, 32, 1, 0, 15, (15, 10, 10), 'uint32')),
++#    (EXPL_32_3_1F, (EXPL, 32, 3, 0, 1, (100, 100, 3), 'uint32')),
++#    (EXPL_32_3_2F, (EXPL, 32, 3, 0, 2, (2, 100, 100, 3), 'uint32')),
+ ]
  
-         assert (orig == arr).all()
  
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_uint16_16_segmented_big(self):
-         """Test big endian uint16 Pixel Data with 16-bit LUT entries."""
-         ds = dcmread(PAL_SEG_BE_16_1F)
-@@ -1126,6 +1145,7 @@ class TestNumpy_PaletteColor:
-         assert [10280, 11565, 16705] == list(rgb[479, 320, :])
-         assert [10280, 11565, 16705] == list(rgb[479, 639, :])
+@@ -435,6 +438,7 @@ class TestNumpy_NumpyHandler:
+         assert HAVE_NP
+         assert NP_HANDLER is not None
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_16_allocated_8_entries(self):
-         """Test LUT with 8-bit entries in 16 bits allocated."""
-         ds = dcmread(PAL_08_200_0_16_1F, force=True)
-@@ -1147,6 +1167,7 @@ class TestNumpy_PaletteColor:
-         assert np.array_equal(arr, out[:, :, 1])
-         assert np.array_equal(arr, out[:, :, 2])
+     def test_unsupported_syntax_raises(self):
+         """Test pixel_array raises exception for unsupported syntaxes."""
+         ds = dcmread(EXPL_16_1_1F)
+@@ -444,6 +448,7 @@ class TestNumpy_NumpyHandler:
+             with pytest.raises((NotImplementedError, RuntimeError)):
+                 ds.pixel_array
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_alpha(self):
-         """Test applying a color palette with an alpha channel."""
-         ds = dcmread(PAL_08_256_0_16_1F)
-@@ -1157,6 +1178,7 @@ class TestNumpy_PaletteColor:
-         assert 32768 == rgba[:, :, 3][0, 0]
-         assert (32768 == rgba[:, :, 3]).any()
+     def test_dataset_pixel_array_handler_needs_convert(self):
+         """Test Dataset.pixel_array when converting to RGB."""
+         ds = dcmread(EXPL_8_3_1F)
+@@ -472,6 +477,7 @@ class TestNumpy_NumpyHandler:
+         # Reset
+         NP_HANDLER.needs_to_convert_to_RGB = orig_fn
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_well_known_palette(self, disable_value_validation):
-         """Test using a well-known palette."""
-         ds = dcmread(PAL_08_256_0_16_1F)
-@@ -1190,6 +1212,7 @@ class TestNumpy_PaletteColor:
-         uid = apply_color_lut(arr, palette='1.2.840.10008.1.5.2')
-         assert np.array_equal(uid, rgb)
+     def test_dataset_pixel_array_no_pixels(self):
+         """Test good exception message if no pixel data in dataset."""
+         ds = dcmread(NO_PIXEL)
+@@ -483,6 +489,7 @@ class TestNumpy_NumpyHandler:
+         with pytest.raises(AttributeError, match=msg):
+             ds.pixel_array
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_first_map_positive(self):
-         """Test a positive first mapping value."""
-         ds = dcmread(PAL_08_200_0_16_1F, force=True)
-@@ -1208,6 +1231,7 @@ class TestNumpy_PaletteColor:
-         assert [50944, 16384, 27904] == list(rgb[arr == 149][0])
-         assert ([50944, 16384, 27904] == rgb[arr == 149]).all()
+     @pytest.mark.parametrize("fpath, data", REFERENCE_DATA_UNSUPPORTED)
+     def test_can_access_unsupported_dataset(self, fpath, data):
+         """Test can read and access elements in unsupported datasets."""
+@@ -490,6 +497,7 @@ class TestNumpy_NumpyHandler:
+         assert data[0] == ds.file_meta.TransferSyntaxUID
+         assert data[1] == ds.PatientName
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_first_map_negative(self):
-         """Test a negative first mapping value."""
-         ds = dcmread(PAL_08_200_0_16_1F, force=True)
-@@ -1227,6 +1251,7 @@ class TestNumpy_PaletteColor:
-         assert [60160, 25600, 37376] == list(rgb[arr == 130][0])
-         assert ([60160, 25600, 37376] == rgb[arr == 130]).all()
+     def test_pixel_array_8bit_un_signed(self):
+         """Test pixel_array for 8-bit unsigned -> signed data."""
+         ds = dcmread(EXPL_8_1_1F)
+@@ -505,6 +513,7 @@ class TestNumpy_NumpyHandler:
+         assert (1, -10, 1) == tuple(arr[300, 491:494])
+         assert 0 == arr[-1].min() == arr[-1].max()
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_unchanged(self):
-         """Test dataset with no LUT is unchanged."""
-         # Regression test for #1068
-@@ -1466,6 +1491,7 @@ class TestNumpy_ExpandSegmentedLUT:
- @pytest.mark.skipif(not HAVE_NP, reason="Numpy is not available")
- class TestNumpy_ApplyWindowing:
-     """Tests for util.apply_windowing()."""
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_window_single_view(self):
-         """Test windowing with a single view."""
-         # 12-bit unsigned
-@@ -1483,6 +1509,7 @@ class TestNumpy_ApplyWindowing:
-         out = apply_windowing(arr, ds)
-         assert 3046.6 == pytest.approx(out[326, 130], abs=0.1)
+     @pytest.mark.parametrize("handler_name", SUPPORTED_HANDLER_NAMES)
+     def test_decompress_using_handler(self, handler_name):
+         """Test different possibilities for the numpy handler name."""
+@@ -515,6 +524,7 @@ class TestNumpy_NumpyHandler:
+         assert (1, 246, 1) == tuple(ds.pixel_array[300, 491:494])
+         assert 0 == ds.pixel_array[-1].min() == ds.pixel_array[-1].max()
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_window_multi_view(self):
-         """Test windowing with multiple views."""
-         ds = dcmread(WIN_12_1F)
-@@ -1725,6 +1752,7 @@ class TestNumpy_ApplyWindowing:
-             )
-         )
+     def test_pixel_array_16bit_un_signed(self):
+         """Test pixel_array for 16-bit unsigned -> signed."""
+         ds = dcmread(EXPL_16_3_1F)
+@@ -529,6 +539,7 @@ class TestNumpy_NumpyHandler:
+         assert -1 == arr[0, :, 0].min() == arr[0, :, 0].max()
+         assert -32640 == arr[50, :, 0].min() == arr[50, :, 0].max()
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_window_multi_frame(self):
-         """Test windowing with a multiple frames."""
-         ds = dcmread(WIN_12_1F)
-@@ -1745,6 +1773,7 @@ class TestNumpy_ApplyWindowing:
-         assert 3046.6 == pytest.approx(out[0, 326, 130], abs=0.1)
-         assert 4095.0 == pytest.approx(out[1, 326, 130], abs=0.1)
+     def test_pixel_array_32bit_un_signed(self):
+         """Test pixel_array for 32-bit unsigned -> signed."""
+         ds = dcmread(EXPL_32_3_1F)
+@@ -544,6 +555,7 @@ class TestNumpy_NumpyHandler:
+         assert -2139062144 == arr[50, :, 0].min() == arr[50, :, 0].max()
  
+     # Endian independent datasets
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_window_rescale(self):
-         """Test windowing after a rescale operation."""
-         ds = dcmread(WIN_12_1F)
-@@ -1776,6 +1805,7 @@ class TestNumpy_ApplyWindowing:
-         assert 4455.6 == pytest.approx(out[326, 130], abs=0.1)
-         assert 4914.0 == pytest.approx(out[316, 481], abs=0.1)
+     def test_8bit_1sample_1frame(self):
+         """Test pixel_array for 8-bit, 1 sample/pixel, 1 frame."""
+         # Check supported syntaxes
+@@ -559,6 +571,7 @@ class TestNumpy_NumpyHandler:
+             assert (1, 246, 1) == tuple(arr[300, 491:494])
+             assert 0 == arr[-1].min() == arr[-1].max()
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_window_modality_lut(self):
-         """Test windowing after a modality LUT operation."""
-         ds = dcmread(MOD_16_SEQ)
-@@ -1806,6 +1836,7 @@ class TestNumpy_ApplyWindowing:
-         assert 65535 == out.max()
-         assert 0 == out.min()
+     def test_8bit_1sample_2frame(self):
+         """Test pixel_array for 8-bit, 1 sample/pixel, 2 frame."""
+         # Check supported syntaxes
+@@ -577,6 +590,7 @@ class TestNumpy_NumpyHandler:
+             # Frame 2 is frame 1 inverted
+             assert np.array_equal((2 ** ds.BitsAllocated - 1) - arr[1], arr[0])
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_window_bad_photometric_interp(self):
-         """Test bad photometric interpretation raises exception."""
-         ds = dcmread(WIN_12_1F)
-@@ -1814,6 +1845,7 @@ class TestNumpy_ApplyWindowing:
-         with pytest.raises(ValueError, match=msg):
-             apply_windowing(ds.pixel_array, ds)
+     def test_8bit_3sample_1frame_odd_size(self):
+         """Test pixel_array for odd sized (3x3) pixel data."""
+         # Check supported syntaxes
+@@ -595,6 +609,7 @@ class TestNumpy_NumpyHandler:
+                 [158, 158, 158], [158, 158, 158], [158, 158, 158]
+             ]
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_window_bad_parameters(self):
-         """Test bad windowing parameters raise exceptions."""
-         ds = dcmread(WIN_12_1F)
-@@ -1838,6 +1870,7 @@ class TestNumpy_ApplyWindowing:
-         with pytest.raises(ValueError, match=msg):
-             apply_windowing(ds.pixel_array, ds)
+     def test_8bit_3sample_1frame_ybr422(self):
+         """Test pixel_array for YBR_FULL_422 pixel data."""
+         ds = dcmread(EXPL_8_3_1F_YBR422)
+@@ -620,6 +635,7 @@ class TestNumpy_NumpyHandler:
+         assert (192, 128, 128) == tuple(arr[85, 50, :])
+         assert (255, 128, 128) == tuple(arr[95, 50, :])
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_window_bad_index(self, no_numpy_use):
-         """Test windowing with a bad view index."""
-         ds = dcmread(WIN_12_1F)
-@@ -1860,6 +1893,7 @@ class TestNumpy_ApplyWindowing:
-         out = apply_windowing(arr, ds)
-         assert [-128, -127, -1, 0, 1, 126, 127] == out.tolist()
+     def test_8bit_3sample_1frame(self):
+         """Test pixel_array for 8-bit, 3 sample/pixel, 1 frame."""
+         # Check supported syntaxes
+@@ -641,6 +657,7 @@ class TestNumpy_NumpyHandler:
+             assert (192, 192, 192) == tuple(arr[85, 50, :])
+             assert (255, 255, 255) == tuple(arr[95, 50, :])
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_rescale_empty(self):
-         """Test RescaleSlope and RescaleIntercept being empty."""
-         ds = dcmread(WIN_12_1F)
-@@ -1876,6 +1910,7 @@ class TestNumpy_ApplyWindowing:
-         assert 4095.0 == pytest.approx(out[316, 481], abs=0.1)
- 
- 
-+ at pytest.mark.skip("When building a Debian package we can not download anything")
- @pytest.mark.skipif(not HAVE_NP, reason="Numpy is not available")
- class TestNumpy_ApplyVOI:
-     """Tests for util.apply_voi()."""
-@@ -1905,6 +1940,7 @@ class TestNumpy_ApplyVOI:
-         assert 45746 == out[186, 389]
-         assert 65535 == out[129, 79]
+     def test_8bit_3sample_2frame(self):
+         """Test pixel_array for 8-bit, 3 sample/pixel, 2 frame."""
+         # Check supported syntaxes
+@@ -667,6 +684,7 @@ class TestNumpy_NumpyHandler:
+             assert np.array_equal((2 ** ds.BitsAllocated - 1) - arr[1], arr[0])
  
+     # Little endian datasets
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_voi_multi_view(self):
-         """Test VOI LUT with multiple views."""
-         ds = dcmread(VOI_08_1F)
-@@ -1936,6 +1972,7 @@ class TestNumpy_ApplyVOI:
-         assert 19789 == out1[186, 389]
-         assert 0 == out1[129, 79]
+     @pytest.mark.parametrize('fpath, data', REFERENCE_DATA_LITTLE)
+     def test_properties(self, fpath, data):
+         """Test dataset and pixel array properties are as expected."""
+@@ -695,6 +713,7 @@ class TestNumpy_NumpyHandler:
+             if size % 2:
+                 assert ds.PixelData[-1] == b'\x00'[0]
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_voi_multi_frame(self):
-         """Test VOI with a multiple frames."""
-         ds = dcmread(VOI_08_1F)
-@@ -1957,6 +1994,7 @@ class TestNumpy_ApplyVOI:
-         assert 19789 == out[1, 186, 389]
-         assert 0 == out[1, 129, 79]
+     def test_little_1bit_1sample_1frame(self):
+         """Test pixel_array for little 1-bit, 1 sample/pixel, 1 frame."""
+         # Check all little endian syntaxes
+@@ -713,6 +732,7 @@ class TestNumpy_NumpyHandler:
+             assert (0, 1, 1) == tuple(arr[254, 78:81])
+             assert (1, 0, 0, 1, 1, 0) == tuple(arr[254, 304:310])
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_voi_zero_entries(self):
-         """Test that 0 entries is interpreted correctly."""
-         ds = dcmread(VOI_08_1F)
-@@ -2029,6 +2067,7 @@ class TestNumpy_ApplyVOI:
-         assert 'uint16' == out.dtype
-         assert [0, 0, 32768, 0, 65535] == out.tolist()
+     def test_little_1bit_1sample_3frame(self):
+         """Test pixel_array for little 1-bit, 1 sample/pixel, 3 frame."""
+         # Check all little endian syntaxes
+@@ -774,6 +794,7 @@ class TestNumpy_NumpyHandler:
+             ds.file_meta.TransferSyntaxUID = uid
+             arr = ds.pixel_array
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_voi_bad_depth(self):
-         """Test bad LUT depth raises exception."""
-         ds = dcmread(VOI_08_1F)
-@@ -2364,6 +2403,7 @@ class TestNumpy_PackBits:
-         """Test packing data that isn't a full byte long."""
-         assert output == pack_bits(np.asarray(input), pad=False)
+     def test_little_16bit_1sample_1frame(self):
+         """Test pixel_array for little 16-bit, 1 sample/pixel, 1 frame."""
+         # Check all little endian syntaxes
+@@ -790,6 +811,7 @@ class TestNumpy_NumpyHandler:
+             # Last pixel
+             assert 862 == arr[-1, -1]
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_functional(self):
-         """Test against a real dataset."""
-         ds = dcmread(EXPL_1_1_3F)
---- a/pydicom/tests/test_numpy_pixel_data.py
-+++ b/pydicom/tests/test_numpy_pixel_data.py
-@@ -66,11 +66,11 @@ except ImportError:
- # DEFL: Deflated Explicit VR Little Endian
- # EXPB: Explicit VR Big Endian
- # 1/1, 1 sample/pixel, 1 frame
--EXPL_1_1_1F = get_testdata_file("liver_1frame.dcm")
--EXPB_1_1_1F = get_testdata_file("liver_expb_1frame.dcm")
-+##EXPL_1_1_1F = get_testdata_file("liver_1frame.dcm")
-+##EXPB_1_1_1F = get_testdata_file("liver_expb_1frame.dcm")
- # 1/1, 1 sample/pixel, 3 frame
--EXPL_1_1_3F = get_testdata_file("liver.dcm")
--EXPB_1_1_3F = get_testdata_file("liver_expb.dcm")
-+##EXPL_1_1_3F = get_testdata_file("liver.dcm")
-+##EXPB_1_1_3F = get_testdata_file("liver_expb.dcm")
- # 1/1, 3 sample/pixel, 1 frame
- EXPL_1_3_1F = None
- EXPB_1_3_1F = None
-@@ -78,74 +78,74 @@ EXPB_1_3_1F = None
- EXPL_1_3_XF = None
- EXPB_1_3_XF = None
- # 8/8, 1 sample/pixel, 1 frame
--DEFL_8_1_1F = get_testdata_file("image_dfl.dcm")
--EXPL_8_1_1F = get_testdata_file("OBXXXX1A.dcm")
--EXPB_8_1_1F = get_testdata_file("OBXXXX1A_expb.dcm")
-+##DEFL_8_1_1F = get_testdata_file("image_dfl.dcm")
-+##EXPL_8_1_1F = get_testdata_file("OBXXXX1A.dcm")
-+##EXPB_8_1_1F = get_testdata_file("OBXXXX1A_expb.dcm")
- # 8/8, 1 sample/pixel, 2 frame
--EXPL_8_1_2F = get_testdata_file("OBXXXX1A_2frame.dcm")
--EXPB_8_1_2F = get_testdata_file("OBXXXX1A_expb_2frame.dcm")
-+##EXPL_8_1_2F = get_testdata_file("OBXXXX1A_2frame.dcm")
-+##EXPB_8_1_2F = get_testdata_file("OBXXXX1A_expb_2frame.dcm")
- # 8/8, 3 sample/pixel, 1 frame
--EXPL_8_3_1F = get_testdata_file("SC_rgb.dcm")
--EXPB_8_3_1F = get_testdata_file("SC_rgb_expb.dcm")
-+##EXPL_8_3_1F = get_testdata_file("SC_rgb.dcm")
-+##EXPB_8_3_1F = get_testdata_file("SC_rgb_expb.dcm")
- # 8/8, 3 samples/pixel, 1 frame, 3 x 3
--EXPL_8_3_1F_ODD = get_testdata_file('SC_rgb_small_odd.dcm')
--EXPL_8_3_1F_ODD_BIGE = get_testdata_file('SC_rgb_small_odd_big_endian.dcm')
-+##EXPL_8_3_1F_ODD = get_testdata_file('SC_rgb_small_odd.dcm')
-+##EXPL_8_3_1F_ODD_BIGE = get_testdata_file('SC_rgb_small_odd_big_endian.dcm')
- # 8/8, 3 sample/pixel, 1 frame, YBR_FULL_422
--EXPL_8_3_1F_YBR422 = get_testdata_file('SC_ybr_full_422_uncompressed.dcm')
-+##EXPL_8_3_1F_YBR422 = get_testdata_file('SC_ybr_full_422_uncompressed.dcm')
- # 8/8, 3 sample/pixel, 1 frame, YBR_FULL
--EXPL_8_3_1F_YBR = get_testdata_file('SC_ybr_full_uncompressed.dcm')
-+##EXPL_8_3_1F_YBR = get_testdata_file('SC_ybr_full_uncompressed.dcm')
- # 8/8, 3 sample/pixel, 2 frame
--EXPL_8_3_2F = get_testdata_file("SC_rgb_2frame.dcm")
--EXPB_8_3_2F = get_testdata_file("SC_rgb_expb_2frame.dcm")
-+##EXPL_8_3_2F = get_testdata_file("SC_rgb_2frame.dcm")
-+##EXPB_8_3_2F = get_testdata_file("SC_rgb_expb_2frame.dcm")
- # 16/16, 1 sample/pixel, 1 frame
--IMPL_16_1_1F = get_testdata_file("MR_small_implicit.dcm")
--EXPL_16_1_1F = get_testdata_file("MR_small.dcm")
--EXPB_16_1_1F = get_testdata_file("MR_small_expb.dcm")
-+##IMPL_16_1_1F = get_testdata_file("MR_small_implicit.dcm")
-+##EXPL_16_1_1F = get_testdata_file("MR_small.dcm")
-+##EXPB_16_1_1F = get_testdata_file("MR_small_expb.dcm")
- # Pixel Data with 128 bytes trailing padding
--EXPL_16_1_1F_PAD = get_testdata_file("MR_small_padded.dcm")
-+##EXPL_16_1_1F_PAD = get_testdata_file("MR_small_padded.dcm")
- # 16/12, 1 sample/pixel, 10 frame
--EXPL_16_1_10F = get_testdata_file("emri_small.dcm")
--EXPB_16_1_10F = get_testdata_file("emri_small_big_endian.dcm")
-+##EXPL_16_1_10F = get_testdata_file("emri_small.dcm")
-+##EXPB_16_1_10F = get_testdata_file("emri_small_big_endian.dcm")
- # 16/16, 3 sample/pixel, 1 frame
--EXPL_16_3_1F = get_testdata_file("SC_rgb_16bit.dcm")
--EXPB_16_3_1F = get_testdata_file("SC_rgb_expb_16bit.dcm")
-+##EXPL_16_3_1F = get_testdata_file("SC_rgb_16bit.dcm")
-+##EXPB_16_3_1F = get_testdata_file("SC_rgb_expb_16bit.dcm")
- # 16/16, 3 sample/pixel, 2 frame
--EXPL_16_3_2F = get_testdata_file("SC_rgb_16bit_2frame.dcm")
--EXPB_16_3_2F = get_testdata_file("SC_rgb_expb_16bit_2frame.dcm")
-+##EXPL_16_3_2F = get_testdata_file("SC_rgb_16bit_2frame.dcm")
-+##EXPB_16_3_2F = get_testdata_file("SC_rgb_expb_16bit_2frame.dcm")
- # 32/32, 1 sample/pixel, 1 frame
--IMPL_32_1_1F = get_testdata_file("rtdose_1frame.dcm")
--EXPB_32_1_1F = get_testdata_file("rtdose_expb_1frame.dcm")
-+##IMPL_32_1_1F = get_testdata_file("rtdose_1frame.dcm")
-+##EXPB_32_1_1F = get_testdata_file("rtdose_expb_1frame.dcm")
- # 32/32, 1 sample/pixel, 15 frame
--IMPL_32_1_15F = get_testdata_file("rtdose.dcm")
--EXPB_32_1_15F = get_testdata_file("rtdose_expb.dcm")
-+##IMPL_32_1_15F = get_testdata_file("rtdose.dcm")
-+##EXPB_32_1_15F = get_testdata_file("rtdose_expb.dcm")
- # 32/32, 3 sample/pixel, 1 frame
--EXPL_32_3_1F = get_testdata_file("SC_rgb_32bit.dcm")
--EXPB_32_3_1F = get_testdata_file("SC_rgb_expb_32bit.dcm")
-+##EXPL_32_3_1F = get_testdata_file("SC_rgb_32bit.dcm")
-+##EXPB_32_3_1F = get_testdata_file("SC_rgb_expb_32bit.dcm")
- # 32/32, 3 sample/pixel, 2 frame
--EXPL_32_3_2F = get_testdata_file("SC_rgb_32bit_2frame.dcm")
--EXPB_32_3_2F = get_testdata_file("SC_rgb_expb_32bit_2frame.dcm")
-+##EXPL_32_3_2F = get_testdata_file("SC_rgb_32bit_2frame.dcm")
-+##EXPB_32_3_2F = get_testdata_file("SC_rgb_expb_32bit_2frame.dcm")
- 
- # Transfer syntaxes supported by other handlers
- # JPEG Baseline (Process 1)
--JPEG_BASELINE_1 = get_testdata_file("SC_rgb_jpeg_dcmtk.dcm")
-+##JPEG_BASELINE_1 = get_testdata_file("SC_rgb_jpeg_dcmtk.dcm")
- # JPEG Baseline (Process 2 and 4)
--JPEG_EXTENDED_2 = get_testdata_file("JPEG-lossy.dcm")
-+##JPEG_EXTENDED_2 = get_testdata_file("JPEG-lossy.dcm")
- # JPEG Lossless (Process 14)
- JPEG_LOSSLESS_14 = None
- # JPEG Lossless (Process 14, Selection Value 1)
--JPEG_LOSSLESS_14_1 = get_testdata_file("SC_rgb_jpeg_gdcm.dcm")
-+##JPEG_LOSSLESS_14_1 = get_testdata_file("SC_rgb_jpeg_gdcm.dcm")
- # JPEG-LS Lossless
--JPEG_LS_LOSSLESS = get_testdata_file("MR_small_jpeg_ls_lossless.dcm")
-+##JPEG_LS_LOSSLESS = get_testdata_file("MR_small_jpeg_ls_lossless.dcm")
- # JPEG-LS Lossy
- JPEG_LS_LOSSY = None
- # JPEG2k Lossless
--JPEG_2K_LOSSLESS = get_testdata_file("emri_small_jpeg_2k_lossless.dcm")
-+##JPEG_2K_LOSSLESS = get_testdata_file("emri_small_jpeg_2k_lossless.dcm")
- # JPEG2k
--JPEG_2K = get_testdata_file("JPEG2000.dcm")
-+##JPEG_2K = get_testdata_file("JPEG2000.dcm")
- # RLE Lossless
--RLE = get_testdata_file("MR_small_RLE.dcm")
-+##RLE = get_testdata_file("MR_small_RLE.dcm")
- # No Image Pixel module
--NO_PIXEL = get_testdata_file("rtplan.dcm")
-+##NO_PIXEL = get_testdata_file("rtplan.dcm")
+     def test_little_16bit_1sample_1frame_padded(self):
+         """Test with padded little 16-bit, 1 sample/pixel, 1 frame."""
+         ds = dcmread(EXPL_16_1_1F_PAD)
+@@ -824,6 +846,7 @@ class TestNumpy_NumpyHandler:
+         # Last pixel
+         assert 862 == arr[-1, -1]
  
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     def test_little_16bit_1sample_10frame(self):
+         """Test pixel_array for little 16-bit, 1 sample/pixel, 10 frame."""
+         # Check all little endian syntaxes
+@@ -847,6 +870,7 @@ class TestNumpy_NumpyHandler:
+             assert (25, 4, 9) == tuple(arr[-1, 31, :3])
+             assert (227, 300, 147) == tuple(arr[-1, -1, -3:])
  
- # Transfer Syntaxes (non-retired + Explicit VR Big Endian)
-@@ -167,15 +167,15 @@ def test_unsupported_syntaxes():
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     def test_little_16bit_3sample_1frame(self):
+         """Test pixel_array for little 16-bit, 3 sample/pixel, 1 frame."""
+         # Check all little endian syntaxes
+@@ -868,6 +892,7 @@ class TestNumpy_NumpyHandler:
+             assert (49344, 49344, 49344) == tuple(arr[85, 50, :])
+             assert (65535, 65535, 65535) == tuple(arr[95, 50, :])
  
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     def test_little_16bit_3sample_2frame(self):
+         """Test pixel_array for little 16-bit, 3 sample/pixel, 2 frame."""
+         # Check all little endian syntaxes
+@@ -892,6 +917,7 @@ class TestNumpy_NumpyHandler:
+             # Frame 2 is frame 1 inverted
+             assert np.array_equal((2 ** ds.BitsAllocated - 1) - arr[1], arr[0])
  
- REFERENCE_DATA_UNSUPPORTED = [
--    (JPEG_BASELINE_1, ('1.2.840.10008.1.2.4.50', 'Lestrade^G')),
--    (JPEG_EXTENDED_2, ('1.2.840.10008.1.2.4.51', 'CompressedSamples^NM1')),
--    # (JPEG_LOSSLESS_14, ('1.2.840.10008.1.2.4.57')),  # No dataset available
--    (JPEG_LOSSLESS_14_1, ('1.2.840.10008.1.2.4.70', 'Lestrade^G')),
--    (JPEG_LS_LOSSLESS, ('1.2.840.10008.1.2.4.80', 'CompressedSamples^MR1')),
--    # (JPEG_LS_LOSSY, ('1.2.840.10008.1.2.4.81')),  # No dataset available
--    (JPEG_2K_LOSSLESS, ('1.2.840.10008.1.2.4.90', '')),
--    (JPEG_2K, ('1.2.840.10008.1.2.4.91', 'CompressedSamples^NM1')),
--    (RLE, ('1.2.840.10008.1.2.5', 'CompressedSamples^MR1')),
-+#    (JPEG_BASELINE_1, ('1.2.840.10008.1.2.4.50', 'Lestrade^G')),
-+#    (JPEG_EXTENDED_2, ('1.2.840.10008.1.2.4.51', 'CompressedSamples^NM1')),
-+#    # (JPEG_LOSSLESS_14, ('1.2.840.10008.1.2.4.57')),  # No dataset available
-+#    (JPEG_LOSSLESS_14_1, ('1.2.840.10008.1.2.4.70', 'Lestrade^G')),
-+#    (JPEG_LS_LOSSLESS, ('1.2.840.10008.1.2.4.80', 'CompressedSamples^MR1')),
-+#    # (JPEG_LS_LOSSY, ('1.2.840.10008.1.2.4.81')),  # No dataset available
-+#    (JPEG_2K_LOSSLESS, ('1.2.840.10008.1.2.4.90', '')),
-+#    (JPEG_2K, ('1.2.840.10008.1.2.4.91', 'CompressedSamples^NM1')),
-+#    (RLE, ('1.2.840.10008.1.2.5', 'CompressedSamples^MR1')),
- ]
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     def test_little_32bit_1sample_1frame(self):
+         """Test pixel_array for little 32-bit, 1 sample/pixel, 1 frame."""
+         # Check all little endian syntaxes
+@@ -906,6 +932,7 @@ class TestNumpy_NumpyHandler:
+             assert (1031000, 1029000, 1027000) == tuple(arr[4, 3:6])
+             assert (803000, 801000, 798000) == tuple(arr[-1, -3:])
  
- SUPPORTED_HANDLER_NAMES = (
-@@ -338,6 +338,7 @@ class TestNumpy_NoNumpyHandler:
-         # We numpy handler should still be available
-         assert NP_HANDLER is not None
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     def test_little_32bit_1sample_15frame(self):
+         """Test pixel_array for little 32-bit, 1 sample/pixel, 15 frame."""
+         # Check all little endian syntaxes
+@@ -929,6 +956,7 @@ class TestNumpy_NumpyHandler:
+             assert (1031000, 1031000, 1031000) == tuple(arr[-1, 4, 3:6])
+             assert (801000, 800000, 799000) == tuple(arr[-1, -1, -3:])
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_can_access_supported_dataset(self):
-         """Test that we can read and access elements in dataset."""
-         # Explicit little
-@@ -360,6 +361,7 @@ class TestNumpy_NoNumpyHandler:
-         assert 'CompressedSamples^MR1' == ds.PatientName
-         assert 8192 == len(ds.PixelData)
+     def test_little_32bit_3sample_1frame(self):
+         """Test pixel_array for little 32-bit, 3 sample/pixel, 1 frame."""
+         # Check all little endian syntaxes
+@@ -950,6 +978,7 @@ class TestNumpy_NumpyHandler:
+             assert (3233857728, 3233857728, 3233857728) == tuple(ar[85, 50, :])
+             assert (4294967295, 4294967295, 4294967295) == tuple(ar[95, 50, :])
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     @pytest.mark.parametrize("fpath,data", REFERENCE_DATA_UNSUPPORTED)
-     def test_can_access_unsupported_dataset(self, fpath, data):
-         """Test can read and access elements in unsupported datasets."""
-@@ -367,6 +369,7 @@ class TestNumpy_NoNumpyHandler:
-         assert data[0] == ds.file_meta.TransferSyntaxUID
-         assert data[1] == ds.PatientName
+     def test_little_32bit_3sample_2frame(self):
+         """Test pixel_array for little 32-bit, 3 sample/pixel, 10 frame."""
+         # Check all little endian syntaxes
+@@ -986,6 +1015,7 @@ class TestNumpy_NumpyHandler:
+             # Frame 2 is frame 1 inverted
+             assert np.array_equal((2 ** ds.BitsAllocated - 1) - arr[1], arr[0])
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_pixel_array_raises(self):
-         """Test pixel_array raises exception for all syntaxes."""
-         ds = dcmread(EXPL_16_1_1F)
-@@ -378,42 +381,42 @@ class TestNumpy_NoNumpyHandler:
+     def test_little_32bit_float_1frame(self):
+         """Test pixel_array for float pixel data, 1 frame."""
+         ds = dcmread(IMPL_32_1_1F)
+@@ -1002,6 +1032,7 @@ class TestNumpy_NumpyHandler:
+             assert 1.44e-39 == pytest.approx(arr[4, 3], abs=0.01e-39)
+             assert 1.13e-39 == pytest.approx(arr[-1, -3], abs=0.01e-39)
  
- # Numpy and the numpy handler are available
- MATCHING_DATASETS = [
--    (EXPL_1_1_1F, EXPB_1_1_1F),
--    (EXPL_1_1_3F, EXPB_1_1_3F),
--    (EXPL_8_1_1F, EXPB_8_1_1F),
--    (EXPL_8_1_2F, EXPB_8_1_2F),
--    (EXPL_8_3_1F, EXPB_8_3_1F),
--    (EXPL_8_3_2F, EXPB_8_3_2F),
--    (EXPL_16_1_1F, EXPB_16_1_1F),
--    (EXPL_16_1_10F, EXPB_16_1_10F),
--    (EXPL_16_3_1F, EXPB_16_3_1F),
--    (EXPL_16_3_2F, EXPB_16_3_2F),
--    (IMPL_32_1_1F, EXPB_32_1_1F),
--    (IMPL_32_1_15F, EXPB_32_1_15F),
--    (EXPL_32_3_1F, EXPB_32_3_1F),
--    (EXPL_32_3_2F, EXPB_32_3_2F)
-+#    (EXPL_1_1_1F, EXPB_1_1_1F),
-+#    (EXPL_1_1_3F, EXPB_1_1_3F),
-+#    (EXPL_8_1_1F, EXPB_8_1_1F),
-+#    (EXPL_8_1_2F, EXPB_8_1_2F),
-+#    (EXPL_8_3_1F, EXPB_8_3_1F),
-+#    (EXPL_8_3_2F, EXPB_8_3_2F),
-+#    (EXPL_16_1_1F, EXPB_16_1_1F),
-+#    (EXPL_16_1_10F, EXPB_16_1_10F),
-+#    (EXPL_16_3_1F, EXPB_16_3_1F),
-+#    (EXPL_16_3_2F, EXPB_16_3_2F),
-+#    (IMPL_32_1_1F, EXPB_32_1_1F),
-+#    (IMPL_32_1_15F, EXPB_32_1_15F),
-+#    (EXPL_32_3_1F, EXPB_32_3_1F),
-+#    (EXPL_32_3_2F, EXPB_32_3_2F)
- ]
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     def test_little_32bit_float_15frame(self):
+         """Test pixel_array for float pixel data, 15 frames."""
+         ds = dcmread(IMPL_32_1_15F)
+@@ -1018,6 +1049,7 @@ class TestNumpy_NumpyHandler:
+             assert 1.44e-39 == pytest.approx(arr[0, 4, 3], abs=0.01e-39)
+             assert 1.13e-39 == pytest.approx(arr[0, -1, -3], abs=0.01e-39)
  
- EXPL = ExplicitVRLittleEndian
- IMPL = ImplicitVRLittleEndian
- REFERENCE_DATA_LITTLE = [
--    # fpath, (syntax, bits, nr samples, pixel repr, nr frames, shape, dtype)
--    (EXPL_1_1_1F, (EXPL, 1, 1, 0, 1, (512, 512), 'uint8')),
--    (EXPL_1_1_3F, (EXPL, 1, 1, 0, 3, (3, 512, 512), 'uint8')),
--    (EXPL_8_1_1F, (EXPL, 8, 1, 0, 1, (600, 800), 'uint8')),
--    (EXPL_8_3_1F_ODD, (EXPL, 8, 3, 0, 1, (3, 3, 3), 'uint8')),
--    (EXPL_8_3_1F_YBR422, (EXPL, 8, 3, 0, 1, (100, 100, 3), 'uint8')),
--    (EXPL_8_1_2F, (EXPL, 8, 1, 0, 2, (2, 600, 800), 'uint8')),
--    (EXPL_8_3_1F, (EXPL, 8, 3, 0, 1, (100, 100, 3), 'uint8')),
--    (EXPL_8_3_2F, (EXPL, 8, 3, 0, 2, (2, 100, 100, 3), 'uint8')),
--    (EXPL_16_1_1F, (EXPL, 16, 1, 1, 1, (64, 64), 'int16')),
--    (EXPL_16_1_10F, (EXPL, 16, 1, 0, 10, (10, 64, 64), 'uint16')),
--    (EXPL_16_3_1F, (EXPL, 16, 3, 0, 1, (100, 100, 3), 'uint16')),
--    (EXPL_16_3_2F, (EXPL, 16, 3, 0, 2, (2, 100, 100, 3), 'uint16')),
--    (IMPL_32_1_1F, (IMPL, 32, 1, 0, 1, (10, 10), 'uint32')),
--    (IMPL_32_1_15F, (IMPL, 32, 1, 0, 15, (15, 10, 10), 'uint32')),
--    (EXPL_32_3_1F, (EXPL, 32, 3, 0, 1, (100, 100, 3), 'uint32')),
--    (EXPL_32_3_2F, (EXPL, 32, 3, 0, 2, (2, 100, 100, 3), 'uint32')),
-+#    # fpath, (syntax, bits, nr samples, pixel repr, nr frames, shape, dtype)
-+#    (EXPL_1_1_1F, (EXPL, 1, 1, 0, 1, (512, 512), 'uint8')),
-+#    (EXPL_1_1_3F, (EXPL, 1, 1, 0, 3, (3, 512, 512), 'uint8')),
-+#    (EXPL_8_1_1F, (EXPL, 8, 1, 0, 1, (600, 800), 'uint8')),
-+#    (EXPL_8_3_1F_ODD, (EXPL, 8, 3, 0, 1, (3, 3, 3), 'uint8')),
-+#    (EXPL_8_3_1F_YBR422, (EXPL, 8, 3, 0, 1, (100, 100, 3), 'uint8')),
-+#    (EXPL_8_1_2F, (EXPL, 8, 1, 0, 2, (2, 600, 800), 'uint8')),
-+#    (EXPL_8_3_1F, (EXPL, 8, 3, 0, 1, (100, 100, 3), 'uint8')),
-+#    (EXPL_8_3_2F, (EXPL, 8, 3, 0, 2, (2, 100, 100, 3), 'uint8')),
-+#    (EXPL_16_1_1F, (EXPL, 16, 1, 1, 1, (64, 64), 'int16')),
-+#    (EXPL_16_1_10F, (EXPL, 16, 1, 0, 10, (10, 64, 64), 'uint16')),
-+#    (EXPL_16_3_1F, (EXPL, 16, 3, 0, 1, (100, 100, 3), 'uint16')),
-+#    (EXPL_16_3_2F, (EXPL, 16, 3, 0, 2, (2, 100, 100, 3), 'uint16')),
-+#    (IMPL_32_1_1F, (IMPL, 32, 1, 0, 1, (10, 10), 'uint32')),
-+#    (IMPL_32_1_15F, (IMPL, 32, 1, 0, 15, (15, 10, 10), 'uint32')),
-+#    (EXPL_32_3_1F, (EXPL, 32, 3, 0, 1, (100, 100, 3), 'uint32')),
-+#    (EXPL_32_3_2F, (EXPL, 32, 3, 0, 2, (2, 100, 100, 3), 'uint32')),
- ]
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     def test_little_64bit_float_1frame(self):
+         """Test pixel_array for double float pixel data, 1 frame."""
+         ds = dcmread(IMPL_32_1_1F)
+@@ -1035,6 +1067,7 @@ class TestNumpy_NumpyHandler:
+             assert 1.80e-308 == pytest.approx(arr[4, 3], abs=0.01e-308)
+             assert 1.69e-308 == pytest.approx(arr[-1, -3], abs=0.01e-308)
  
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     def test_little_64bit_float_15frame(self):
+         """Test pixel_array for double float pixel data, 15 frames."""
+         ds = dcmread(IMPL_32_1_15F)
+@@ -1080,6 +1113,7 @@ class TestNumpy_NumpyHandler:
  
-@@ -435,6 +438,7 @@ class TestNumpy_NumpyHandler:
-         assert HAVE_NP
-         assert NP_HANDLER is not None
+         assert ds.pixel_array.max() == 1
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_unsupported_syntax_raises(self):
-         """Test pixel_array raises exception for unsupported syntaxes."""
+     def test_read_only(self):
+         """Test for #717, returned array read-only."""
+         ds = dcmread(EXPL_8_1_1F)
+@@ -1094,6 +1128,7 @@ class TestNumpy_NumpyHandler:
+ @pytest.mark.skipif(not HAVE_NP, reason='Numpy is not available')
+ class TestNumpy_GetPixelData:
+     """Tests for numpy_handler.get_pixeldata with numpy."""
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     def test_no_pixel_data_raises(self):
+         """Test get_pixeldata raises if dataset has no PixelData."""
          ds = dcmread(EXPL_16_1_1F)
-@@ -444,6 +448,7 @@ class TestNumpy_NumpyHandler:
-             with pytest.raises((NotImplementedError, RuntimeError)):
-                 ds.pixel_array
+@@ -1109,6 +1144,7 @@ class TestNumpy_GetPixelData:
+         with pytest.raises(AttributeError, match=msg):
+             get_pixeldata(ds)
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_dataset_pixel_array_handler_needs_convert(self):
-         """Test Dataset.pixel_array when converting to RGB."""
+     def test_missing_required_elem_pixel_data_monochrome(self):
+         """Tet get_pixeldata raises if dataset missing required element."""
+         required_attrs = (
+@@ -1130,6 +1166,7 @@ class TestNumpy_GetPixelData:
+             with pytest.raises(AttributeError, match=msg):
+                 get_pixeldata(ds)
+ 
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     def test_missing_required_elem_pixel_data_color(self):
+         """Tet get_pixeldata raises if dataset missing required element."""
          ds = dcmread(EXPL_8_3_1F)
-@@ -472,6 +477,7 @@ class TestNumpy_NumpyHandler:
-         # Reset
-         NP_HANDLER.needs_to_convert_to_RGB = orig_fn
+@@ -1142,6 +1179,7 @@ class TestNumpy_GetPixelData:
+         with pytest.raises(AttributeError, match=msg):
+             get_pixeldata(ds)
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_dataset_pixel_array_no_pixels(self):
-         """Test good exception message if no pixel data in dataset."""
-         ds = dcmread(NO_PIXEL)
-@@ -483,6 +489,7 @@ class TestNumpy_NumpyHandler:
+     def test_missing_conditionally_required_elem_pixel_data_color(self):
+         """Tet get_pixeldata raises if dataset missing required element."""
+         ds = dcmread(EXPL_8_3_1F)
+@@ -1154,6 +1192,7 @@ class TestNumpy_GetPixelData:
          with pytest.raises(AttributeError, match=msg):
-             ds.pixel_array
+             get_pixeldata(ds)
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     @pytest.mark.parametrize("fpath, data", REFERENCE_DATA_UNSUPPORTED)
-     def test_can_access_unsupported_dataset(self, fpath, data):
-         """Test can read and access elements in unsupported datasets."""
-@@ -490,6 +497,7 @@ class TestNumpy_NumpyHandler:
-         assert data[0] == ds.file_meta.TransferSyntaxUID
-         assert data[1] == ds.PatientName
+     def test_missing_required_elem_float_pixel_data_monochrome(self):
+         """Tet get_pixeldata raises if dataset missing required element."""
+         ds = dcmread(IMPL_32_1_1F)
+@@ -1167,6 +1206,7 @@ class TestNumpy_GetPixelData:
+         with pytest.raises(AttributeError, match=msg):
+             get_pixeldata(ds)
+ 
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     def test_unknown_pixel_representation_raises(self):
+         """Test get_pixeldata raises if unsupported PixelRepresentation."""
+         ds = dcmread(EXPL_16_1_1F)
+@@ -1175,6 +1215,7 @@ class TestNumpy_GetPixelData:
+                            match=r"value of '2' for '\(0028,0103"):
+             get_pixeldata(ds)
+ 
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     def test_unsupported_syntaxes_raises(self):
+         """Test get_pixeldata raises if unsupported Transfer Syntax."""
+         ds = dcmread(EXPL_16_1_1F)
+@@ -1183,6 +1224,7 @@ class TestNumpy_GetPixelData:
+                            match=' the transfer syntax is not supported'):
+             get_pixeldata(ds)
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_pixel_array_8bit_un_signed(self):
-         """Test pixel_array for 8-bit unsigned -> signed data."""
+     def test_bad_length_raises(self):
+         """Test bad pixel data length raises exception."""
          ds = dcmread(EXPL_8_1_1F)
-@@ -505,6 +513,7 @@ class TestNumpy_NumpyHandler:
-         assert (1, -10, 1) == tuple(arr[300, 491:494])
-         assert 0 == arr[-1].min() == arr[-1].max()
+@@ -1197,6 +1239,7 @@ class TestNumpy_GetPixelData:
+         with pytest.raises(ValueError, match=msg):
+             get_pixeldata(ds)
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     @pytest.mark.parametrize("handler_name", SUPPORTED_HANDLER_NAMES)
-     def test_decompress_using_handler(self, handler_name):
-         """Test different possibilities for the numpy handler name."""
-@@ -515,6 +524,7 @@ class TestNumpy_NumpyHandler:
-         assert (1, 246, 1) == tuple(ds.pixel_array[300, 491:494])
-         assert 0 == ds.pixel_array[-1].min() == ds.pixel_array[-1].max()
+     def test_missing_padding_warns(self):
+         """A warning shall be issued if the padding for odd data is missing."""
+         ds = dcmread(EXPL_8_3_1F_ODD)
+@@ -1206,6 +1249,7 @@ class TestNumpy_GetPixelData:
+         with pytest.warns(UserWarning, match=msg):
+             get_pixeldata(ds)
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_pixel_array_16bit_un_signed(self):
-         """Test pixel_array for 16-bit unsigned -> signed."""
-         ds = dcmread(EXPL_16_3_1F)
-@@ -529,6 +539,7 @@ class TestNumpy_NumpyHandler:
-         assert -1 == arr[0, :, 0].min() == arr[0, :, 0].max()
-         assert -32640 == arr[50, :, 0].min() == arr[50, :, 0].max()
+     def test_change_photometric_interpretation(self):
+         """Test get_pixeldata changes PhotometricInterpretation if required."""
  
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_pixel_array_32bit_un_signed(self):
-         """Test pixel_array for 32-bit unsigned -> signed."""
-         ds = dcmread(EXPL_32_3_1F)
-@@ -544,6 +555,7 @@ class TestNumpy_NumpyHandler:
-         assert -2139062144 == arr[50, :, 0].min() == arr[50, :, 0].max()
+@@ -1229,6 +1273,7 @@ class TestNumpy_GetPixelData:
  
-     # Endian independent datasets
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_8bit_1sample_1frame(self):
-         """Test pixel_array for 8-bit, 1 sample/pixel, 1 frame."""
-         # Check supported syntaxes
-@@ -559,6 +571,7 @@ class TestNumpy_NumpyHandler:
-             assert (1, 246, 1) == tuple(arr[300, 491:494])
-             assert 0 == arr[-1].min() == arr[-1].max()
+         NP_HANDLER.should_change_PhotometricInterpretation_to_RGB = orig_fn
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_8bit_1sample_2frame(self):
-         """Test pixel_array for 8-bit, 1 sample/pixel, 2 frame."""
-         # Check supported syntaxes
-@@ -577,6 +590,7 @@ class TestNumpy_NumpyHandler:
-             # Frame 2 is frame 1 inverted
-             assert np.array_equal((2 ** ds.BitsAllocated - 1) - arr[1], arr[0])
+     def test_array_read_only(self):
+         """Test returning a read only array for BitsAllocated > 8."""
+         ds = dcmread(EXPL_8_1_1F)
+@@ -1243,6 +1288,7 @@ class TestNumpy_GetPixelData:
+         with pytest.raises(ValueError, match="is read-only"):
+             arr[10] = 0
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_8bit_3sample_1frame_odd_size(self):
-         """Test pixel_array for odd sized (3x3) pixel data."""
-         # Check supported syntaxes
-@@ -595,6 +609,7 @@ class TestNumpy_NumpyHandler:
-                 [158, 158, 158], [158, 158, 158], [158, 158, 158]
-             ]
+     def test_array_read_only_bit_packed(self):
+         """Test returning a read only array for BitsAllocated = 1."""
+         ds = dcmread(EXPL_1_1_1F)
+@@ -1252,6 +1298,7 @@ class TestNumpy_GetPixelData:
+         arr = get_pixeldata(ds, read_only=True)
+         assert arr.flags.writeable
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_8bit_3sample_1frame_ybr422(self):
-         """Test pixel_array for YBR_FULL_422 pixel data."""
+     def test_ybr422_excess_padding(self):
+         """Test YBR data with excess padding."""
          ds = dcmread(EXPL_8_3_1F_YBR422)
-@@ -620,6 +635,7 @@ class TestNumpy_NumpyHandler:
+@@ -1276,6 +1323,7 @@ class TestNumpy_GetPixelData:
          assert (192, 128, 128) == tuple(arr[85, 50, :])
          assert (255, 128, 128) == tuple(arr[95, 50, :])
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_8bit_3sample_1frame(self):
-         """Test pixel_array for 8-bit, 3 sample/pixel, 1 frame."""
-         # Check supported syntaxes
-@@ -641,6 +657,7 @@ class TestNumpy_NumpyHandler:
-             assert (192, 192, 192) == tuple(arr[85, 50, :])
-             assert (255, 255, 255) == tuple(arr[95, 50, :])
+     def test_ybr422_wrong_interpretation(self):
+         """Test YBR data with wrong Photometric Interpretation."""
+         ds = dcmread(EXPL_8_3_1F_YBR)
+@@ -1289,6 +1337,7 @@ class TestNumpy_GetPixelData:
+         # Resulting data will be nonsense but of correct shape
+         assert (100, 100, 3) == arr.shape
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_8bit_3sample_2frame(self):
-         """Test pixel_array for 8-bit, 3 sample/pixel, 2 frame."""
-         # Check supported syntaxes
-@@ -667,6 +684,7 @@ class TestNumpy_NumpyHandler:
-             assert np.array_equal((2 ** ds.BitsAllocated - 1) - arr[1], arr[0])
+     def test_float_pixel_data(self):
+         """Test handling of Float Pixel Data."""
+         # Only 1 sample per pixel allowed
+@@ -1299,6 +1348,7 @@ class TestNumpy_GetPixelData:
+         arr = get_pixeldata(ds)
+         assert 'float32' == arr.dtype
  
-     # Little endian datasets
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     @pytest.mark.parametrize('fpath, data', REFERENCE_DATA_LITTLE)
-     def test_properties(self, fpath, data):
-         """Test dataset and pixel array properties are as expected."""
-@@ -695,6 +713,7 @@ class TestNumpy_NumpyHandler:
-             if size % 2:
-                 assert ds.PixelData[-1] == b'\x00'[0]
+     def test_double_float_pixel_data(self):
+         """Test handling of Double Float Pixel Data."""
+         # Only 1 sample per pixel allowed
+@@ -1309,6 +1359,7 @@ class TestNumpy_GetPixelData:
+         arr = get_pixeldata(ds)
+         assert 'float64' == arr.dtype
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_little_1bit_1sample_1frame(self):
-         """Test pixel_array for little 1-bit, 1 sample/pixel, 1 frame."""
-         # Check all little endian syntaxes
-@@ -713,6 +732,7 @@ class TestNumpy_NumpyHandler:
-             assert (0, 1, 1) == tuple(arr[254, 78:81])
-             assert (1, 0, 0, 1, 1, 0) == tuple(arr[254, 304:310])
+     def test_big_endian_rgb_data(self):
+         """RGB data encoded as OW in Big Endian transfer syntax shall
+         yield the same data as if encoded in Little Endian."""
+diff --git a/pydicom/tests/test_overlay_np.py b/pydicom/tests/test_overlay_np.py
+index d3ba235..43a24b5 100644
+--- a/pydicom/tests/test_overlay_np.py
++++ b/pydicom/tests/test_overlay_np.py
+@@ -55,13 +55,13 @@ except ImportError:
+ # Paths to the test datasets
+ # EXPL: Explicit VR Little Endian
+ # Overlay Data
+-# 1/1, 1 sample/pixel, 1 frame
+-EXPL_1_1_1F = get_testdata_file("MR-SIEMENS-DICOM-WithOverlays.dcm")
++## 1/1, 1 sample/pixel, 1 frame
++#EXPL_1_1_1F = get_testdata_file("MR-SIEMENS-DICOM-WithOverlays.dcm")
+ # 1/1, 1 sample/pixel, N frame
+ EXPL_1_1_3F = None
+ # No Overlay Data
+-# 16/16, 1 sample/pixel, 1 frame
+-EXPL_16_1_1F = get_testdata_file("MR_small.dcm")
++## 16/16, 1 sample/pixel, 1 frame
++#EXPL_16_1_1F = get_testdata_file("MR_small.dcm")
  
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_little_1bit_1sample_3frame(self):
-         """Test pixel_array for little 1-bit, 1 sample/pixel, 3 frame."""
-         # Check all little endian syntaxes
-@@ -774,6 +794,7 @@ class TestNumpy_NumpyHandler:
-             ds.file_meta.TransferSyntaxUID = uid
-             arr = ds.pixel_array
  
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_little_16bit_1sample_1frame(self):
-         """Test pixel_array for little 16-bit, 1 sample/pixel, 1 frame."""
-         # Check all little endian syntaxes
-@@ -790,6 +811,7 @@ class TestNumpy_NumpyHandler:
-             # Last pixel
-             assert 862 == arr[-1, -1]
+ # Numpy unavailable and the numpy handler is available
+@@ -82,6 +82,7 @@ class TestNoNumpy_NumpyHandler:
+         assert not HAVE_NP
+         assert NP_HANDLER is not None
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_little_16bit_1sample_1frame_padded(self):
-         """Test with padded little 16-bit, 1 sample/pixel, 1 frame."""
-         ds = dcmread(EXPL_16_1_1F_PAD)
-@@ -824,6 +846,7 @@ class TestNumpy_NumpyHandler:
-         # Last pixel
-         assert 862 == arr[-1, -1]
+     def test_overlay_array_raises(self):
+         """Test overlay_array raises exception"""
+         ds = dcmread(EXPL_1_1_1F)
+@@ -89,6 +90,7 @@ class TestNoNumpy_NumpyHandler:
+         with pytest.raises(RuntimeError, match=msg):
+             ds.overlay_array(0x6000)
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_little_16bit_1sample_10frame(self):
-         """Test pixel_array for little 16-bit, 1 sample/pixel, 10 frame."""
-         # Check all little endian syntaxes
-@@ -847,6 +870,7 @@ class TestNumpy_NumpyHandler:
-             assert (25, 4, 9) == tuple(arr[-1, 31, :3])
-             assert (227, 300, 147) == tuple(arr[-1, -1, -3:])
+     def test_get_overlay_array_raises(self):
+         """Test get_overlay_array raises exception"""
+         ds = dcmread(EXPL_1_1_1F)
+@@ -110,7 +112,7 @@ IMPL = ImplicitVRLittleEndian
+ REFERENCE_DATA_LITTLE = [
+     # fpath, (syntax, bits, nr samples, pixel repr, nr frames, shape, dtype,
+     #   group)
+-    (EXPL_1_1_1F, (EXPL, 1, 1, 0, 1, (484, 484), 'uint8', 0x6000)),
++#    (EXPL_1_1_1F, (EXPL, 1, 1, 0, 1, (484, 484), 'uint8', 0x6000)),
+     # (EXPL_1_1_3F, (EXPL, 1, 1, 0, 3, (3, 512, 512), 'uint8', 0x6000)),
+ ]
  
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_little_16bit_3sample_1frame(self):
-         """Test pixel_array for little 16-bit, 3 sample/pixel, 1 frame."""
-         # Check all little endian syntaxes
-@@ -868,6 +892,7 @@ class TestNumpy_NumpyHandler:
-             assert (49344, 49344, 49344) == tuple(arr[85, 50, :])
-             assert (65535, 65535, 65535) == tuple(arr[95, 50, :])
+@@ -154,6 +156,7 @@ class TestNumpy_NumpyHandler:
+         if size % 2:
+             assert ds[group, 0x3000].value[-1] == b'\x00'[0]
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_little_16bit_3sample_2frame(self):
-         """Test pixel_array for little 16-bit, 3 sample/pixel, 2 frame."""
-         # Check all little endian syntaxes
-@@ -892,6 +917,7 @@ class TestNumpy_NumpyHandler:
-             # Frame 2 is frame 1 inverted
-             assert np.array_equal((2 ** ds.BitsAllocated - 1) - arr[1], arr[0])
+     def test_little_1bit_1sample_1frame(self):
+         """Test pixel_array for little 1-bit, 1 sample/pixel, 1 frame."""
+         ds = dcmread(EXPL_1_1_1F)
+@@ -170,6 +173,7 @@ class TestNumpy_NumpyHandler:
+         ds = dcmread(EXPL_1_1_3F)
+         arr = ds.overlay_array(0x6000)
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_little_32bit_1sample_1frame(self):
-         """Test pixel_array for little 32-bit, 1 sample/pixel, 1 frame."""
-         # Check all little endian syntaxes
-@@ -906,6 +932,7 @@ class TestNumpy_NumpyHandler:
-             assert (1031000, 1029000, 1027000) == tuple(arr[4, 3:6])
-             assert (803000, 801000, 798000) == tuple(arr[-1, -3:])
+     def test_read_only(self):
+         """Test for #717, returned array read-only."""
+         ds = dcmread(EXPL_1_1_1F)
+@@ -179,6 +183,7 @@ class TestNumpy_NumpyHandler:
+         assert 1 == arr[0, 0]
+         assert arr.flags.writeable
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_little_32bit_1sample_15frame(self):
-         """Test pixel_array for little 32-bit, 1 sample/pixel, 15 frame."""
-         # Check all little endian syntaxes
-@@ -929,6 +956,7 @@ class TestNumpy_NumpyHandler:
-             assert (1031000, 1031000, 1031000) == tuple(arr[-1, 4, 3:6])
-             assert (801000, 800000, 799000) == tuple(arr[-1, -1, -3:])
+     def test_bad_group_raises(self):
+         """Test that using a bad group raises exception."""
+         ds = dcmread(EXPL_1_1_1F)
+@@ -191,6 +196,7 @@ class TestNumpy_NumpyHandler:
+         with pytest.raises(ValueError, match=msg):
+             ds.overlay_array(0x6100)
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_little_32bit_3sample_1frame(self):
-         """Test pixel_array for little 32-bit, 3 sample/pixel, 1 frame."""
-         # Check all little endian syntaxes
-@@ -950,6 +978,7 @@ class TestNumpy_NumpyHandler:
-             assert (3233857728, 3233857728, 3233857728) == tuple(ar[85, 50, :])
-             assert (4294967295, 4294967295, 4294967295) == tuple(ar[95, 50, :])
- 
+     def test_no_frames(self):
+         """Test handler with no NumberOfFramesInOverlay element."""
+         ds = dcmread(EXPL_1_1_1F)
+@@ -206,6 +212,7 @@ class TestNumpy_NumpyHandler:
+ @pytest.mark.skipif(not HAVE_NP, reason='Numpy is not available')
+ class TestNumpy_GetOverlayArray:
+     """Tests for numpy_handler.get_overlay_array with numpy."""
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_little_32bit_3sample_2frame(self):
-         """Test pixel_array for little 32-bit, 3 sample/pixel, 10 frame."""
-         # Check all little endian syntaxes
-@@ -986,6 +1015,7 @@ class TestNumpy_NumpyHandler:
-             # Frame 2 is frame 1 inverted
-             assert np.array_equal((2 ** ds.BitsAllocated - 1) - arr[1], arr[0])
+     def test_no_overlay_data_raises(self):
+         """Test get_overlay_array raises if dataset has no OverlayData."""
+         ds = dcmread(EXPL_1_1_1F)
+@@ -214,6 +221,7 @@ class TestNumpy_GetOverlayArray:
+         with pytest.raises(AttributeError, match=r' dataset: OverlayData'):
+             get_overlay_array(ds, 0x6000)
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_little_32bit_float_1frame(self):
-         """Test pixel_array for float pixel data, 1 frame."""
-         ds = dcmread(IMPL_32_1_1F)
-@@ -1002,6 +1032,7 @@ class TestNumpy_NumpyHandler:
-             assert 1.44e-39 == pytest.approx(arr[4, 3], abs=0.01e-39)
-             assert 1.13e-39 == pytest.approx(arr[-1, -3], abs=0.01e-39)
+     def test_bad_length_raises(self):
+         """Test bad pixel data length raises exception."""
+         ds = dcmread(EXPL_1_1_1F)
+@@ -228,6 +236,7 @@ class TestNumpy_GetOverlayArray:
+         with pytest.raises(ValueError, match=msg):
+             get_overlay_array(ds, 0x6000)
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_little_32bit_float_15frame(self):
-         """Test pixel_array for float pixel data, 15 frames."""
-         ds = dcmread(IMPL_32_1_15F)
-@@ -1018,6 +1049,7 @@ class TestNumpy_NumpyHandler:
-             assert 1.44e-39 == pytest.approx(arr[0, 4, 3], abs=0.01e-39)
-             assert 1.13e-39 == pytest.approx(arr[0, -1, -3], abs=0.01e-39)
+     def test_missing_padding_warns(self):
+         """A warning shall be issued if the padding for odd data is missing."""
+         ds = dcmread(EXPL_1_1_1F)
+@@ -239,6 +248,7 @@ class TestNumpy_GetOverlayArray:
+         with pytest.warns(UserWarning, match=msg):
+             get_overlay_array(ds, 0x6000)
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_little_64bit_float_1frame(self):
-         """Test pixel_array for double float pixel data, 1 frame."""
-         ds = dcmread(IMPL_32_1_1F)
-@@ -1035,6 +1067,7 @@ class TestNumpy_NumpyHandler:
-             assert 1.80e-308 == pytest.approx(arr[4, 3], abs=0.01e-308)
-             assert 1.69e-308 == pytest.approx(arr[-1, -3], abs=0.01e-308)
+     def test_excess_padding(self):
+         """A warning shall be issued excess padding present."""
+         ds = dcmread(EXPL_1_1_1F)
+@@ -254,6 +264,7 @@ class TestNumpy_GetOverlayArray:
+         with pytest.warns(UserWarning, match=msg):
+             get_overlay_array(ds, 0x6000)
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_little_64bit_float_15frame(self):
-         """Test pixel_array for double float pixel data, 15 frames."""
-         ds = dcmread(IMPL_32_1_15F)
-@@ -1080,6 +1113,7 @@ class TestNumpy_NumpyHandler:
+     def test_old_import(self):
+         """Test that can import using the old path."""
+         from pydicom.overlay_data_handlers import numpy_handler as np_old
+diff --git a/pydicom/tests/test_pillow_pixel_data.py b/pydicom/tests/test_pillow_pixel_data.py
+index b662af7..9a509ac 100644
+--- a/pydicom/tests/test_pillow_pixel_data.py
++++ b/pydicom/tests/test_pillow_pixel_data.py
+@@ -54,52 +54,53 @@ TEST_JPEG2K = TEST_PIL and HAVE_JPEG2K
+ # FRAMES: NumberOfFrames
+ # PI: PhotometricInterpretation
+ # FMT_BA_BV_SPX_PR_FRAMESF_PI
+-# JPGB: 1.2.840.10008.1.2.4.50 - JPEG Baseline (8-bit only)
+-JPGB_08_08_3_0_1F_YBR_FULL = get_testdata_file("SC_rgb_small_odd_jpeg.dcm")
+-JPGB_08_08_3_0_120F_YBR_FULL_422 = get_testdata_file("color3d_jpeg_baseline.dcm")  # noqa
+-# Different subsampling 411, 422, 444
+-JPGB_08_08_3_0_1F_YBR_FULL_422_411 = get_testdata_file("SC_rgb_dcmtk_+eb+cy+np.dcm")  # noqa
+-JPGB_08_08_3_0_1F_YBR_FULL_422_422 = get_testdata_file("SC_rgb_dcmtk_+eb+cy+s2.dcm")  # noqa
+-JPGB_08_08_3_0_1F_YBR_FULL_411 = get_testdata_file("SC_rgb_dcmtk_+eb+cy+n1.dcm")  # noqa
+-JPGB_08_08_3_0_1F_YBR_FULL_422 = get_testdata_file("SC_rgb_dcmtk_+eb+cy+n2.dcm")  # noqa
+-JPGB_08_08_3_0_1F_YBR_FULL_444 = get_testdata_file("SC_rgb_dcmtk_+eb+cy+s4.dcm")  # noqa
+-JPGB_08_08_3_0_1F_RGB = get_testdata_file("SC_jpeg_no_color_transform.dcm")
+-JPGB_08_08_3_0_1F_RGB_APP14 = get_testdata_file("SC_jpeg_no_color_transform_2.dcm")  # noqa
+-# JPGE: 1.2.840.10008.1.2.4.51 - JPEG Extended (Process 2 and 4) (8 and 12-bit)
+-# No supported datasets available
+-
+-# JPEG 2000 - ISO/IEC 15444 Standard
+-# J2KR: 1.2.840.100008.1.2.4.90 - JPEG 2000 Lossless
+-J2KR_08_08_3_0_1F_YBR_ICT = get_testdata_file("US1_J2KR.dcm")
+-J2KR_16_10_1_0_1F_M1 = get_testdata_file("RG3_J2KR.dcm")
+-J2KR_16_12_1_0_1F_M2 = get_testdata_file("MR2_J2KR.dcm")
+-J2KR_16_15_1_0_1F_M1 = get_testdata_file("RG1_J2KR.dcm")
+-J2KR_16_16_1_0_10F_M2 = get_testdata_file("emri_small_jpeg_2k_lossless.dcm")
+-J2KR_16_14_1_1_1F_M2 = get_testdata_file("693_J2KR.dcm")
+-J2KR_16_16_1_1_1F_M2 = get_testdata_file("MR_small_jp2klossless.dcm")
+-J2KR_16_13_1_1_1F_M2_MISMATCH = get_testdata_file("J2K_pixelrep_mismatch.dcm")
+-# J2KI: 1.2.840.10008.1.2.4.91 - JPEG 2000
+-J2KI_08_08_3_0_1F_RGB = get_testdata_file("SC_rgb_gdcm_KY.dcm")
+-J2KI_08_08_3_0_1F_YBR_ICT = get_testdata_file("US1_J2KI.dcm")
+-J2KI_16_10_1_0_1F_M1 = get_testdata_file("RG3_J2KI.dcm")
+-J2KI_16_12_1_0_1F_M2 = get_testdata_file("MR2_J2KI.dcm")
+-J2KI_16_15_1_0_1F_M1 = get_testdata_file("RG1_J2KI.dcm")
+-J2KI_16_14_1_1_1F_M2 = get_testdata_file("693_J2KI.dcm")
+-J2KI_16_16_1_1_1F_M2 = get_testdata_file("JPEG2000.dcm")
+-
+-# Transfer syntaxes supported by other handlers
+-IMPL = get_testdata_file("MR_small_implicit.dcm")
+-EXPL = get_testdata_file("OBXXXX1A.dcm")
+-EXPB = get_testdata_file("OBXXXX1A_expb.dcm")
+-DEFL = get_testdata_file("image_dfl.dcm")
+-JPEG_LS_LOSSLESS = get_testdata_file("MR_small_jpeg_ls_lossless.dcm")
+-RLE = get_testdata_file("MR_small_RLE.dcm")
+-JPGE_16_12_1_0_1F_M2 = get_testdata_file("JPEG-lossy.dcm")
+-JPGL_16_16_1_1_1F_M2 = get_testdata_file("JPEG-LL.dcm")
+-# JPGL14: 1.2.840.10008.1.2.4.57 - JPEG Lossless P14
+-# No datasets available
+-# JPGL: 1.2.840.10008.1.2.4.70 - JPEG Lossless, Non-hierarchical, 1st Order
+-JPGL_08_08_1_0_1F = get_testdata_file("JPGLosslessP14SV1_1s_1f_8b.dcm")
++## JPGB: 1.2.840.10008.1.2.4.50 - JPEG Baseline (8-bit only)
++#JPGB_08_08_3_0_1F_YBR_FULL = get_testdata_file("SC_rgb_small_odd_jpeg.dcm")
++#JPGB_08_08_3_0_120F_YBR_FULL_422 = get_testdata_file("color3d_jpeg_baseline.dcm")  # noqa
++## Different subsampling 411, 422, 444
++#JPGB_08_08_3_0_1F_YBR_FULL_422_411 = get_testdata_file("SC_rgb_dcmtk_+eb+cy+np.dcm")  # noqa
++#JPGB_08_08_3_0_1F_YBR_FULL_422_422 = get_testdata_file("SC_rgb_dcmtk_+eb+cy+s2.dcm")  # noqa
++#JPGB_08_08_3_0_1F_YBR_FULL_411 = get_testdata_file("SC_rgb_dcmtk_+eb+cy+n1.dcm")  # noqa
++#JPGB_08_08_3_0_1F_YBR_FULL_422 = get_testdata_file("SC_rgb_dcmtk_+eb+cy+n2.dcm")  # noqa
++#JPGB_08_08_3_0_1F_YBR_FULL_444 = get_testdata_file("SC_rgb_dcmtk_+eb+cy+s4.dcm")  # noqa
++#JPGB_08_08_3_0_1F_RGB = get_testdata_file("SC_jpeg_no_color_transform.dcm")
++#JPGB_08_08_3_0_1F_RGB_APP14 = get_testdata_file("SC_jpeg_no_color_transform_2.dcm")  # noqa
++## JPGE: 1.2.840.10008.1.2.4.51 - JPEG Extended (Process 2 and 4) (8 and 12-bit)
++## No supported datasets available
++#
++## JPEG 2000 - ISO/IEC 15444 Standard
++## J2KR: 1.2.840.100008.1.2.4.90 - JPEG 2000 Lossless
++#J2KR_08_08_3_0_1F_YBR_ICT = get_testdata_file("US1_J2KR.dcm")
++#J2KR_16_10_1_0_1F_M1 = get_testdata_file("RG3_J2KR.dcm")
++#J2KR_16_12_1_0_1F_M2 = get_testdata_file("MR2_J2KR.dcm")
++#J2KR_16_15_1_0_1F_M1 = get_testdata_file("RG1_J2KR.dcm")
++#J2KR_16_16_1_0_10F_M2 = get_testdata_file("emri_small_jpeg_2k_lossless.dcm")
++#J2KR_16_14_1_1_1F_M2 = get_testdata_file("693_J2KR.dcm")
++#J2KR_16_16_1_1_1F_M2 = get_testdata_file("MR_small_jp2klossless.dcm")
++#J2KR_16_13_1_1_1F_M2_MISMATCH = get_testdata_file("J2K_pixelrep_mismatch.dcm")
++## J2KI: 1.2.840.10008.1.2.4.91 - JPEG 2000
++#J2KI_08_08_3_0_1F_RGB = get_testdata_file("SC_rgb_gdcm_KY.dcm")
++#J2KI_08_08_3_0_1F_YBR_ICT = get_testdata_file("US1_J2KI.dcm")
++#J2KI_16_10_1_0_1F_M1 = get_testdata_file("RG3_J2KI.dcm")
++#J2KI_16_12_1_0_1F_M2 = get_testdata_file("MR2_J2KI.dcm")
++#J2KI_16_15_1_0_1F_M1 = get_testdata_file("RG1_J2KI.dcm")
++#J2KI_16_14_1_1_1F_M2 = get_testdata_file("693_J2KI.dcm")
++#J2KI_16_16_1_1_1F_M2 = get_testdata_file("JPEG2000.dcm")
++#
++## Transfer syntaxes supported by other handlers
++#IMPL = get_testdata_file("MR_small_implicit.dcm")
++#EXPL = get_testdata_file("OBXXXX1A.dcm")
++EXPL = None
++#EXPB = get_testdata_file("OBXXXX1A_expb.dcm")
++#DEFL = get_testdata_file("image_dfl.dcm")
++#JPEG_LS_LOSSLESS = get_testdata_file("MR_small_jpeg_ls_lossless.dcm")
++#RLE = get_testdata_file("MR_small_RLE.dcm")
++#JPGE_16_12_1_0_1F_M2 = get_testdata_file("JPEG-lossy.dcm")
++#JPGL_16_16_1_1_1F_M2 = get_testdata_file("JPEG-LL.dcm")
++## JPGL14: 1.2.840.10008.1.2.4.57 - JPEG Lossless P14
++## No datasets available
++## JPGL: 1.2.840.10008.1.2.4.70 - JPEG Lossless, Non-hierarchical, 1st Order
++#JPGL_08_08_1_0_1F = get_testdata_file("JPGLosslessP14SV1_1s_1f_8b.dcm")
  
-         assert ds.pixel_array.max() == 1
  
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_read_only(self):
-         """Test for #717, returned array read-only."""
-         ds = dcmread(EXPL_8_1_1F)
-@@ -1094,6 +1128,7 @@ class TestNumpy_NumpyHandler:
- @pytest.mark.skipif(not HAVE_NP, reason='Numpy is not available')
- class TestNumpy_GetPixelData:
-     """Tests for numpy_handler.get_pixeldata with numpy."""
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_no_pixel_data_raises(self):
-         """Test get_pixeldata raises if dataset has no PixelData."""
-         ds = dcmread(EXPL_16_1_1F)
-@@ -1109,6 +1144,7 @@ class TestNumpy_GetPixelData:
-         with pytest.raises(AttributeError, match=msg):
-             get_pixeldata(ds)
+ # Transfer Syntaxes (non-retired + Explicit VR Big Endian)
+@@ -124,13 +125,13 @@ def test_unsupported_syntaxes():
  
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_missing_required_elem_pixel_data_monochrome(self):
-         """Tet get_pixeldata raises if dataset missing required element."""
-         required_attrs = (
-@@ -1130,6 +1166,7 @@ class TestNumpy_GetPixelData:
-             with pytest.raises(AttributeError, match=msg):
-                 get_pixeldata(ds)
  
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_missing_required_elem_pixel_data_color(self):
-         """Tet get_pixeldata raises if dataset missing required element."""
-         ds = dcmread(EXPL_8_3_1F)
-@@ -1142,6 +1179,7 @@ class TestNumpy_GetPixelData:
-         with pytest.raises(AttributeError, match=msg):
-             get_pixeldata(ds)
+ REFERENCE_DATA_UNSUPPORTED = [
+-    (IMPL, ('1.2.840.10008.1.2', 'CompressedSamples^MR1')),
+-    (EXPL, ('1.2.840.10008.1.2.1', 'OB^^^^')),
+-    (EXPB, ('1.2.840.10008.1.2.2', 'OB^^^^')),
+-    (DEFL, ('1.2.840.10008.1.2.1.99', '^^^^')),
+-    (JPEG_LS_LOSSLESS, ('1.2.840.10008.1.2.4.80', 'CompressedSamples^MR1')),
+-    (JPGL_08_08_1_0_1F, ('1.2.840.10008.1.2.4.70', 'Citizen^Jan')),
+-    (RLE, ('1.2.840.10008.1.2.5', 'CompressedSamples^MR1')),
++#    (IMPL, ('1.2.840.10008.1.2', 'CompressedSamples^MR1')),
++#    (EXPL, ('1.2.840.10008.1.2.1', 'OB^^^^')),
++#    (EXPB, ('1.2.840.10008.1.2.2', 'OB^^^^')),
++#    (DEFL, ('1.2.840.10008.1.2.1.99', '^^^^')),
++#    (JPEG_LS_LOSSLESS, ('1.2.840.10008.1.2.4.80', 'CompressedSamples^MR1')),
++#    (JPGL_08_08_1_0_1F, ('1.2.840.10008.1.2.4.70', 'Citizen^Jan')),
++#    (RLE, ('1.2.840.10008.1.2.5', 'CompressedSamples^MR1')),
+ ]
+ 
+ 
+@@ -210,171 +211,171 @@ JPGL = JPEGLosslessSV1
+ J2KI = JPEG2000
+ J2KR = JPEG2000Lossless
+ REFERENCE_DATA = [
+-    # fpath, (syntax, bits, nr samples, pixel repr, nr frames, shape, dtype)
+-    (JPGB_08_08_3_0_120F_YBR_FULL_422, (JPGB, 8, 3, 0, 120, (120, 480, 640, 3), 'uint8')),  # noqa
+-    (JPGB_08_08_3_0_1F_YBR_FULL_422_411, (JPGB, 8, 3, 0, 1, (100, 100, 3), 'uint8')),  # noqa
+-    (JPGB_08_08_3_0_1F_YBR_FULL_422_422, (JPGB, 8, 3, 0, 1, (100, 100, 3), 'uint8')),  # noqa
+-    (JPGB_08_08_3_0_1F_YBR_FULL_411, (JPGB, 8, 3, 0, 1, (100, 100, 3), 'uint8')),  # noqa
+-    (JPGB_08_08_3_0_1F_YBR_FULL_422, (JPGB, 8, 3, 0, 1, (100, 100, 3), 'uint8')),  # noqa
+-    (JPGB_08_08_3_0_1F_YBR_FULL_444, (JPGB, 8, 3, 0, 1, (100, 100, 3), 'uint8')),  # noqa
+-    (JPGB_08_08_3_0_1F_RGB, (JPGB, 8, 3, 0, 1, (256, 256, 3), 'uint8')),
+-    (JPGB_08_08_3_0_1F_RGB_APP14, (JPGB, 8, 3, 0, 1, (256, 256, 3), 'uint8')),
+-    (J2KR_08_08_3_0_1F_YBR_ICT, (J2KR, 8, 3, 0, 1, (480, 640, 3), 'uint8')),
+-    (J2KR_16_10_1_0_1F_M1, (J2KR, 16, 1, 0, 1, (1760, 1760), 'uint16')),
+-    (J2KR_16_12_1_0_1F_M2, (J2KR, 16, 1, 0, 1, (1024, 1024), 'uint16')),
+-    (J2KR_16_15_1_0_1F_M1, (J2KR, 16, 1, 0, 1, (1955, 1841), 'uint16')),
+-    (J2KR_16_16_1_0_10F_M2, (J2KR, 16, 1, 0, 10, (10, 64, 64), 'uint16')),
+-    (J2KR_16_14_1_1_1F_M2, (J2KR, 16, 1, 1, 1, (512, 512), 'int16')),
+-    (J2KR_16_16_1_1_1F_M2, (J2KR, 16, 1, 1, 1, (64, 64), 'int16')),
+-    (J2KI_08_08_3_0_1F_RGB, (J2KI, 8, 3, 0, 1, (100, 100, 3), 'uint8')),
+-    (J2KI_08_08_3_0_1F_YBR_ICT, (J2KI, 8, 3, 0, 1, (480, 640, 3), 'uint8')),
+-    (J2KI_16_10_1_0_1F_M1, (J2KI, 16, 1, 0, 1, (1760, 1760), 'uint16')),
+-    (J2KI_16_12_1_0_1F_M2, (J2KI, 16, 1, 0, 1, (1024, 1024), 'uint16')),
+-    (J2KI_16_15_1_0_1F_M1, (J2KI, 16, 1, 0, 1, (1955, 1841), 'uint16')),
+-    (J2KI_16_14_1_1_1F_M2, (J2KI, 16, 1, 1, 1, (512, 512), 'int16')),
+-    (J2KI_16_16_1_1_1F_M2, (J2KI, 16, 1, 1, 1, (1024, 256), 'int16')),
++#    # fpath, (syntax, bits, nr samples, pixel repr, nr frames, shape, dtype)
++#    (JPGB_08_08_3_0_120F_YBR_FULL_422, (JPGB, 8, 3, 0, 120, (120, 480, 640, 3), 'uint8')),  # noqa
++#    (JPGB_08_08_3_0_1F_YBR_FULL_422_411, (JPGB, 8, 3, 0, 1, (100, 100, 3), 'uint8')),  # noqa
++#    (JPGB_08_08_3_0_1F_YBR_FULL_422_422, (JPGB, 8, 3, 0, 1, (100, 100, 3), 'uint8')),  # noqa
++#    (JPGB_08_08_3_0_1F_YBR_FULL_411, (JPGB, 8, 3, 0, 1, (100, 100, 3), 'uint8')),  # noqa
++#    (JPGB_08_08_3_0_1F_YBR_FULL_422, (JPGB, 8, 3, 0, 1, (100, 100, 3), 'uint8')),  # noqa
++#    (JPGB_08_08_3_0_1F_YBR_FULL_444, (JPGB, 8, 3, 0, 1, (100, 100, 3), 'uint8')),  # noqa
++#    (JPGB_08_08_3_0_1F_RGB, (JPGB, 8, 3, 0, 1, (256, 256, 3), 'uint8')),
++#    (JPGB_08_08_3_0_1F_RGB_APP14, (JPGB, 8, 3, 0, 1, (256, 256, 3), 'uint8')),
++#    (J2KR_08_08_3_0_1F_YBR_ICT, (J2KR, 8, 3, 0, 1, (480, 640, 3), 'uint8')),
++#    (J2KR_16_10_1_0_1F_M1, (J2KR, 16, 1, 0, 1, (1760, 1760), 'uint16')),
++#    (J2KR_16_12_1_0_1F_M2, (J2KR, 16, 1, 0, 1, (1024, 1024), 'uint16')),
++#    (J2KR_16_15_1_0_1F_M1, (J2KR, 16, 1, 0, 1, (1955, 1841), 'uint16')),
++#    (J2KR_16_16_1_0_10F_M2, (J2KR, 16, 1, 0, 10, (10, 64, 64), 'uint16')),
++#    (J2KR_16_14_1_1_1F_M2, (J2KR, 16, 1, 1, 1, (512, 512), 'int16')),
++#    (J2KR_16_16_1_1_1F_M2, (J2KR, 16, 1, 1, 1, (64, 64), 'int16')),
++#    (J2KI_08_08_3_0_1F_RGB, (J2KI, 8, 3, 0, 1, (100, 100, 3), 'uint8')),
++#    (J2KI_08_08_3_0_1F_YBR_ICT, (J2KI, 8, 3, 0, 1, (480, 640, 3), 'uint8')),
++#    (J2KI_16_10_1_0_1F_M1, (J2KI, 16, 1, 0, 1, (1760, 1760), 'uint16')),
++#    (J2KI_16_12_1_0_1F_M2, (J2KI, 16, 1, 0, 1, (1024, 1024), 'uint16')),
++#    (J2KI_16_15_1_0_1F_M1, (J2KI, 16, 1, 0, 1, (1955, 1841), 'uint16')),
++#    (J2KI_16_14_1_1_1F_M2, (J2KI, 16, 1, 1, 1, (512, 512), 'int16')),
++#    (J2KI_16_16_1_1_1F_M2, (J2KI, 16, 1, 1, 1, (1024, 256), 'int16')),
+ ]
+-
++#
+ JPEG_MATCHING_DATASETS = [
+-    # (compressed, reference, hard coded check values)
+-    pytest.param(
+-        JPGB_08_08_3_0_1F_YBR_FULL_422_411,
+-        get_testdata_file("SC_rgb_dcmtk_ebcynp_dcmd.dcm"),
+-        [
+-            (253, 1, 0), (253, 128, 132), (0, 255, 5), (127, 255, 127),
+-            (1, 0, 254), (127, 128, 255), (0, 0, 0), (64, 64, 64),
+-            (192, 192, 192), (255, 255, 255),
+-        ],
+-        marks=pytest.mark.xfail(reason="Resulting image is a bad match")
+-    ),
+-    pytest.param(
+-        JPGB_08_08_3_0_1F_YBR_FULL_422_422,
+-        get_testdata_file("SC_rgb_dcmtk_ebcys2_dcmd.dcm"),
+-        [
+-            (254, 0, 0), (255, 127, 127), (0, 255, 5), (129, 255, 129),
+-            (0, 0, 254), (128, 127, 255), (0, 0, 0), (64, 64, 64),
+-            (192, 192, 192), (255, 255, 255),
+-        ],
+-    ),
+-    pytest.param(
+-        JPGB_08_08_3_0_1F_YBR_FULL_411,
+-        get_testdata_file("SC_rgb_dcmtk_ebcyn1_dcmd.dcm"),
+-        [
+-            (253, 1, 0), (253, 128, 132), (0, 255, 5), (127, 255, 127),
+-            (1, 0, 254), (127, 128, 255), (0, 0, 0), (64, 64, 64),
+-            (192, 192, 192), (255, 255, 255),
+-        ],
+-        marks=pytest.mark.xfail(reason="Resulting image is a bad match")
+-    ),
+-    pytest.param(
+-        JPGB_08_08_3_0_1F_YBR_FULL_422,
+-        get_testdata_file("SC_rgb_dcmtk_ebcyn2_dcmd.dcm"),
+-        [
+-            (254, 0, 0), (255, 127, 127), (0, 255, 5), (129, 255, 129),
+-            (0, 0, 254), (128, 127, 255), (0, 0, 0), (64, 64, 64),
+-            (192, 192, 192), (255, 255, 255),
+-        ],
+-    ),
+-    pytest.param(
+-        JPGB_08_08_3_0_1F_YBR_FULL_444,
+-        get_testdata_file("SC_rgb_dcmtk_ebcys4_dcmd.dcm"),
+-        [
+-            (254, 0, 0), (255, 127, 127), (0, 255, 5), (129, 255, 129),
+-            (0, 0, 254), (128, 127, 255), (0, 0, 0), (64, 64, 64),
+-            (192, 192, 192), (255, 255, 255),
+-        ],
+-    ),
+-    pytest.param(
+-        JPGB_08_08_3_0_1F_RGB,
+-        get_testdata_file("SC_rgb_jpeg_dcmd.dcm"),
+-        [
+-            (244, 244, 244), (244, 244, 244), (244, 244, 244), (244, 244, 244),
+-            (236, 237, 234), (244, 244, 244), (244, 244, 244), (244, 244, 244),
+-            (244, 244, 244), (244, 244, 244),
+-        ],
+-    ),
+-    pytest.param(
+-        JPGB_08_08_3_0_1F_RGB_APP14,
+-        get_testdata_file("SC_rgb_jpeg_app14_dcmd.dcm"),
+-        [
+-            (246, 246, 246), (246, 246, 246), (246, 246, 246), (246, 246, 246),
+-            (246, 246, 246), (244, 244, 246), (246, 246, 246), (246, 246, 246),
+-            (246, 246, 246), (246, 246, 246),
+-        ],
+-    ),
++#    # (compressed, reference, hard coded check values)
++#    pytest.param(
++#        JPGB_08_08_3_0_1F_YBR_FULL_422_411,
++#        get_testdata_file("SC_rgb_dcmtk_ebcynp_dcmd.dcm"),
++#        [
++#            (253, 1, 0), (253, 128, 132), (0, 255, 5), (127, 255, 127),
++#            (1, 0, 254), (127, 128, 255), (0, 0, 0), (64, 64, 64),
++#            (192, 192, 192), (255, 255, 255),
++#        ],
++#        marks=pytest.mark.xfail(reason="Resulting image is a bad match")
++#    ),
++#    pytest.param(
++#        JPGB_08_08_3_0_1F_YBR_FULL_422_422,
++#        get_testdata_file("SC_rgb_dcmtk_ebcys2_dcmd.dcm"),
++#        [
++#            (254, 0, 0), (255, 127, 127), (0, 255, 5), (129, 255, 129),
++#            (0, 0, 254), (128, 127, 255), (0, 0, 0), (64, 64, 64),
++#            (192, 192, 192), (255, 255, 255),
++#        ],
++#    ),
++#    pytest.param(
++#        JPGB_08_08_3_0_1F_YBR_FULL_411,
++#        get_testdata_file("SC_rgb_dcmtk_ebcyn1_dcmd.dcm"),
++#        [
++#            (253, 1, 0), (253, 128, 132), (0, 255, 5), (127, 255, 127),
++#            (1, 0, 254), (127, 128, 255), (0, 0, 0), (64, 64, 64),
++#            (192, 192, 192), (255, 255, 255),
++#        ],
++#        marks=pytest.mark.xfail(reason="Resulting image is a bad match")
++#    ),
++#    pytest.param(
++#        JPGB_08_08_3_0_1F_YBR_FULL_422,
++#        get_testdata_file("SC_rgb_dcmtk_ebcyn2_dcmd.dcm"),
++#        [
++#            (254, 0, 0), (255, 127, 127), (0, 255, 5), (129, 255, 129),
++#            (0, 0, 254), (128, 127, 255), (0, 0, 0), (64, 64, 64),
++#            (192, 192, 192), (255, 255, 255),
++#        ],
++#    ),
++#    pytest.param(
++#        JPGB_08_08_3_0_1F_YBR_FULL_444,
++#        get_testdata_file("SC_rgb_dcmtk_ebcys4_dcmd.dcm"),
++#        [
++#            (254, 0, 0), (255, 127, 127), (0, 255, 5), (129, 255, 129),
++#            (0, 0, 254), (128, 127, 255), (0, 0, 0), (64, 64, 64),
++#            (192, 192, 192), (255, 255, 255),
++#        ],
++#    ),
++#    pytest.param(
++#        JPGB_08_08_3_0_1F_RGB,
++#        get_testdata_file("SC_rgb_jpeg_dcmd.dcm"),
++#        [
++#            (244, 244, 244), (244, 244, 244), (244, 244, 244), (244, 244, 244),
++#            (236, 237, 234), (244, 244, 244), (244, 244, 244), (244, 244, 244),
++#            (244, 244, 244), (244, 244, 244),
++#        ],
++#    ),
++#    pytest.param(
++#        JPGB_08_08_3_0_1F_RGB_APP14,
++#        get_testdata_file("SC_rgb_jpeg_app14_dcmd.dcm"),
++#        [
++#            (246, 246, 246), (246, 246, 246), (246, 246, 246), (246, 246, 246),
++#            (246, 246, 246), (244, 244, 246), (246, 246, 246), (246, 246, 246),
++#            (246, 246, 246), (246, 246, 246),
++#        ],
++#    ),
+ ]
+ JPEG2K_MATCHING_DATASETS = [
+-    # (compressed, reference, fixes)
+-    pytest.param(
+-        J2KR_08_08_3_0_1F_YBR_ICT,
+-        get_testdata_file("US1_UNCR.dcm"),
+-        {},
+-    ),
+-    pytest.param(
+-        J2KR_16_10_1_0_1F_M1,
+-        get_testdata_file("RG3_UNCR.dcm"),
+-        {},
+-    ),
+-    pytest.param(
+-        J2KR_16_12_1_0_1F_M2,
+-        get_testdata_file("MR2_UNCR.dcm"),
+-        {},
+-    ),
+-    pytest.param(
+-        J2KR_16_15_1_0_1F_M1,
+-        get_testdata_file("RG1_UNCR.dcm"),
+-        {},
+-    ),
+-    pytest.param(
+-        J2KR_16_16_1_0_10F_M2,
+-        get_testdata_file("emri_small.dcm"),
+-        {'BitsStored': 16},
+-    ),
+-    pytest.param(
+-        J2KR_16_14_1_1_1F_M2,
+-        get_testdata_file("693_UNCR.dcm"),
+-        {'BitsStored': 14},
+-    ),
+-    pytest.param(
+-        J2KR_16_16_1_1_1F_M2,
+-        get_testdata_file("MR_small.dcm"),
+-        {},
+-    ),
+-    pytest.param(
+-        J2KI_08_08_3_0_1F_RGB,
+-        get_testdata_file("SC_rgb_gdcm2k_uncompressed.dcm"),
+-        {},
+-    ),
+-    pytest.param(
+-        J2KI_08_08_3_0_1F_YBR_ICT,
+-        get_testdata_file("US1_UNCI.dcm"),
+-        {},
+-    ),
+-    pytest.param(
+-        J2KI_16_10_1_0_1F_M1,
+-        get_testdata_file("RG3_UNCI.dcm"),
+-        {},
+-    ),
+-    pytest.param(
+-        J2KI_16_12_1_0_1F_M2,
+-        get_testdata_file("MR2_UNCI.dcm"),
+-        {},
+-    ),
+-    pytest.param(
+-        J2KI_16_15_1_0_1F_M1,
+-        get_testdata_file("RG1_UNCI.dcm"),
+-        {},
+-    ),
+-    pytest.param(
+-        J2KI_16_14_1_1_1F_M2,
+-        get_testdata_file("693_UNCI.dcm"),
+-        {'BitsStored': 16},
+-    ),
+-    pytest.param(
+-        J2KI_16_16_1_1_1F_M2,
+-        get_testdata_file("JPEG2000_UNC.dcm"),
+-        {},
+-    ),
++#    # (compressed, reference, fixes)
++#    pytest.param(
++#        J2KR_08_08_3_0_1F_YBR_ICT,
++#        get_testdata_file("US1_UNCR.dcm"),
++#        {},
++#    ),
++#    pytest.param(
++#        J2KR_16_10_1_0_1F_M1,
++#        get_testdata_file("RG3_UNCR.dcm"),
++#        {},
++#    ),
++#    pytest.param(
++#        J2KR_16_12_1_0_1F_M2,
++#        get_testdata_file("MR2_UNCR.dcm"),
++#        {},
++#    ),
++#    pytest.param(
++#        J2KR_16_15_1_0_1F_M1,
++#        get_testdata_file("RG1_UNCR.dcm"),
++#        {},
++#    ),
++#    pytest.param(
++#        J2KR_16_16_1_0_10F_M2,
++#        get_testdata_file("emri_small.dcm"),
++#        {'BitsStored': 16},
++#    ),
++#    pytest.param(
++#        J2KR_16_14_1_1_1F_M2,
++#        get_testdata_file("693_UNCR.dcm"),
++#        {'BitsStored': 14},
++#    ),
++#    pytest.param(
++#        J2KR_16_16_1_1_1F_M2,
++#        get_testdata_file("MR_small.dcm"),
++#        {},
++#    ),
++#    pytest.param(
++#        J2KI_08_08_3_0_1F_RGB,
++#        get_testdata_file("SC_rgb_gdcm2k_uncompressed.dcm"),
++#        {},
++#    ),
++#    pytest.param(
++#        J2KI_08_08_3_0_1F_YBR_ICT,
++#        get_testdata_file("US1_UNCI.dcm"),
++#        {},
++#    ),
++#    pytest.param(
++#        J2KI_16_10_1_0_1F_M1,
++#        get_testdata_file("RG3_UNCI.dcm"),
++#        {},
++#    ),
++#    pytest.param(
++#        J2KI_16_12_1_0_1F_M2,
++#        get_testdata_file("MR2_UNCI.dcm"),
++#        {},
++#    ),
++#    pytest.param(
++#        J2KI_16_15_1_0_1F_M1,
++#        get_testdata_file("RG1_UNCI.dcm"),
++#        {},
++#    ),
++#    pytest.param(
++#        J2KI_16_14_1_1_1F_M2,
++#        get_testdata_file("693_UNCI.dcm"),
++#        {'BitsStored': 16},
++#    ),
++#    pytest.param(
++#        J2KI_16_16_1_1_1F_M2,
++#        get_testdata_file("JPEG2000_UNC.dcm"),
++#        {},
++#    ),
+ ]
+ 
  
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_missing_conditionally_required_elem_pixel_data_color(self):
-         """Tet get_pixeldata raises if dataset missing required element."""
-         ds = dcmread(EXPL_8_3_1F)
-@@ -1154,6 +1192,7 @@ class TestNumpy_GetPixelData:
-         with pytest.raises(AttributeError, match=msg):
-             get_pixeldata(ds)
+@@ -398,6 +399,7 @@ class TestPillowHandler_JPEG2K:
+         assert HAVE_PIL
+         assert PIL_HANDLER is not None
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_missing_required_elem_float_pixel_data_monochrome(self):
-         """Tet get_pixeldata raises if dataset missing required element."""
-         ds = dcmread(IMPL_32_1_1F)
-@@ -1167,6 +1206,7 @@ class TestNumpy_GetPixelData:
-         with pytest.raises(AttributeError, match=msg):
-             get_pixeldata(ds)
+     def test_unsupported_syntax_raises(self):
+         """Test pixel_array raises exception for unsupported syntaxes."""
+         pydicom.config.pixel_data_handlers = [PIL_HANDLER]
+@@ -408,6 +410,7 @@ class TestPillowHandler_JPEG2K:
+             with pytest.raises((NotImplementedError, RuntimeError)):
+                 ds.pixel_array
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_unknown_pixel_representation_raises(self):
-         """Test get_pixeldata raises if unsupported PixelRepresentation."""
-         ds = dcmread(EXPL_16_1_1F)
-@@ -1175,6 +1215,7 @@ class TestNumpy_GetPixelData:
-                            match=r"value of '2' for '\(0028,0103"):
-             get_pixeldata(ds)
+     @pytest.mark.parametrize("fpath, data", REFERENCE_DATA_UNSUPPORTED)
+     def test_can_access_unsupported_dataset(self, fpath, data):
+         """Test can read and access elements in unsupported datasets."""
+@@ -415,6 +418,7 @@ class TestPillowHandler_JPEG2K:
+         assert data[0] == ds.file_meta.TransferSyntaxUID
+         assert data[1] == ds.PatientName
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_unsupported_syntaxes_raises(self):
-         """Test get_pixeldata raises if unsupported Transfer Syntax."""
-         ds = dcmread(EXPL_16_1_1F)
-@@ -1183,6 +1224,7 @@ class TestNumpy_GetPixelData:
-                            match=' the transfer syntax is not supported'):
-             get_pixeldata(ds)
+     @pytest.mark.parametrize('fpath, data', REFERENCE_DATA)
+     def test_properties(self, fpath, data):
+         """Test dataset and pixel array properties are as expected."""
+@@ -439,6 +443,7 @@ class TestPillowHandler_JPEG2K:
+         assert data[5] == arr.shape
+         assert arr.dtype == data[6]
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_bad_length_raises(self):
-         """Test bad pixel data length raises exception."""
-         ds = dcmread(EXPL_8_1_1F)
-@@ -1197,6 +1239,7 @@ class TestNumpy_GetPixelData:
-         with pytest.raises(ValueError, match=msg):
-             get_pixeldata(ds)
+     @pytest.mark.parametrize('fpath, rpath, fixes', JPEG2K_MATCHING_DATASETS)
+     def test_array(self, fpath, rpath, fixes):
+         """Test pixel_array returns correct values."""
+@@ -453,6 +458,7 @@ class TestPillowHandler_JPEG2K:
+         ref = dcmread(rpath).pixel_array
+         assert np.array_equal(arr, ref)
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_missing_padding_warns(self):
-         """A warning shall be issued if the padding for odd data is missing."""
-         ds = dcmread(EXPL_8_3_1F_ODD)
-@@ -1206,6 +1249,7 @@ class TestNumpy_GetPixelData:
+     def test_warning(self):
+         """Test that the precision warning works OK."""
+         ds = dcmread(J2KR_16_14_1_1_1F_M2)
+@@ -464,6 +470,7 @@ class TestPillowHandler_JPEG2K:
          with pytest.warns(UserWarning, match=msg):
-             get_pixeldata(ds)
- 
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_change_photometric_interpretation(self):
-         """Test get_pixeldata changes PhotometricInterpretation if required."""
- 
-@@ -1229,6 +1273,7 @@ class TestNumpy_GetPixelData:
- 
-         NP_HANDLER.should_change_PhotometricInterpretation_to_RGB = orig_fn
- 
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_array_read_only(self):
-         """Test returning a read only array for BitsAllocated > 8."""
-         ds = dcmread(EXPL_8_1_1F)
-@@ -1243,6 +1288,7 @@ class TestNumpy_GetPixelData:
-         with pytest.raises(ValueError, match="is read-only"):
-             arr[10] = 0
- 
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_array_read_only_bit_packed(self):
-         """Test returning a read only array for BitsAllocated = 1."""
-         ds = dcmread(EXPL_1_1_1F)
-@@ -1252,6 +1298,7 @@ class TestNumpy_GetPixelData:
-         arr = get_pixeldata(ds, read_only=True)
-         assert arr.flags.writeable
+             ds.pixel_array
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_ybr422_excess_padding(self):
-         """Test YBR data with excess padding."""
-         ds = dcmread(EXPL_8_3_1F_YBR422)
-@@ -1276,6 +1323,7 @@ class TestNumpy_GetPixelData:
-         assert (192, 128, 128) == tuple(arr[85, 50, :])
-         assert (255, 128, 128) == tuple(arr[95, 50, :])
+     def test_decompress_using_pillow(self):
+         """Test decompressing JPEG2K with pillow handler succeeds."""
+         ds = dcmread(J2KR_16_14_1_1_1F_M2)
+@@ -474,6 +481,8 @@ class TestPillowHandler_JPEG2K:
+         ref = ds.pixel_array
+         assert np.array_equal(arr, ref)
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_ybr422_wrong_interpretation(self):
-         """Test YBR data with wrong Photometric Interpretation."""
-         ds = dcmread(EXPL_8_3_1F_YBR)
-@@ -1289,6 +1337,7 @@ class TestNumpy_GetPixelData:
-         # Resulting data will be nonsense but of correct shape
-         assert (100, 100, 3) == arr.shape
- 
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_float_pixel_data(self):
-         """Test handling of Float Pixel Data."""
-         # Only 1 sample per pixel allowed
-@@ -1299,6 +1348,7 @@ class TestNumpy_GetPixelData:
-         arr = get_pixeldata(ds)
-         assert 'float32' == arr.dtype
+     def test_changing_bits_stored(self):
+         """Test changing BitsStored affects the pixel data."""
+         pydicom.config.APPLY_J2K_CORRECTIONS = False
+@@ -486,6 +495,7 @@ class TestPillowHandler_JPEG2K:
+         arr_14 = ds.pixel_array
+         assert not np.array_equal(arr, arr_14)
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_double_float_pixel_data(self):
-         """Test handling of Double Float Pixel Data."""
-         # Only 1 sample per pixel allowed
-@@ -1309,6 +1359,7 @@ class TestNumpy_GetPixelData:
-         arr = get_pixeldata(ds)
-         assert 'float64' == arr.dtype
+     def test_pixel_rep_mismatch(self):
+         """Test mismatched j2k sign and Pixel Representation."""
+         ds = dcmread(J2KR_16_13_1_1_1F_M2_MISMATCH)
+@@ -529,6 +539,7 @@ class TestPillowHandler_JPEG:
+         assert HAVE_PIL
+         assert PIL_HANDLER is not None
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_big_endian_rgb_data(self):
-         """RGB data encoded as OW in Big Endian transfer syntax shall
-         yield the same data as if encoded in Little Endian."""
---- a/pydicom/tests/test_encoders.py
-+++ b/pydicom/tests/test_encoders.py
-@@ -270,6 +270,7 @@ class TestEncoder:
-         assert 'foo - requires bar' == s[0]
- 
- 
-+ at pytest.mark.skip("When building a Debian package we can not download anything")
- @pytest.mark.skipif(not HAVE_NP, reason="Numpy not available")
- class TestEncoder_Encode:
-     """Tests for Encoder.encode() and related methods."""
---- a/pydicom/tests/test_encoders_gdcm.py
-+++ b/pydicom/tests/test_encoders_gdcm.py
-@@ -21,18 +21,19 @@ except ImportError:
-     HAVE_GDCM = False
-     GDCM_VERSION = [0, 0, 0]
- 
--# EXPL: Explicit VR Little Endian
--EXPL_8_1_1F = get_testdata_file("OBXXXX1A.dcm")
--EXPL_8_3_1F = get_testdata_file("SC_rgb.dcm")
--EXPL_16_1_1F = get_testdata_file("MR_small.dcm")
--EXPL_16_3_1F = get_testdata_file("SC_rgb_16bit.dcm")
--EXPL_32_1_1F = get_testdata_file("rtdose_1frame.dcm")
--EXPL_32_3_1F = get_testdata_file("SC_rgb_32bit.dcm")
-+## EXPL: Explicit VR Little Endian
-+#EXPL_8_1_1F = get_testdata_file("OBXXXX1A.dcm")
-+#EXPL_8_3_1F = get_testdata_file("SC_rgb.dcm")
-+#EXPL_16_1_1F = get_testdata_file("MR_small.dcm")
-+#EXPL_16_3_1F = get_testdata_file("SC_rgb_16bit.dcm")
-+#EXPL_32_1_1F = get_testdata_file("rtdose_1frame.dcm")
-+#EXPL_32_3_1F = get_testdata_file("SC_rgb_32bit.dcm")
- 
+     def test_unsupported_syntax_raises(self):
+         """Test pixel_array raises exception for unsupported syntaxes."""
+         pydicom.config.pixel_data_handlers = [PIL_HANDLER]
+@@ -546,6 +557,7 @@ class TestPillowHandler_JPEG:
+         assert data[0] == ds.file_meta.TransferSyntaxUID
+         assert data[1] == ds.PatientName
  
- @pytest.mark.skipif(not HAVE_GDCM, reason='GDCM plugin is not available')
- class TestRLELossless:
-     """Tests for encoding RLE Lossless."""
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_cycle_u8_1s_1f(self):
-         """Test an encode/decode cycle for 8-bit 1 sample/pixel."""
-         ds = dcmread(EXPL_8_1_1F)
-@@ -51,6 +52,7 @@ class TestRLELossless:
- 
-         assert np.array_equal(ref.ravel(), arr)
+     @pytest.mark.parametrize('fpath, data', REFERENCE_DATA)
+     def test_properties(self, fpath, data):
+         """Test dataset and pixel array properties are as expected."""
+@@ -564,6 +576,7 @@ class TestPillowHandler_JPEG:
+         assert data[5] == arr.shape
+         assert arr.dtype == data[6]
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_cycle_u8_3s_1f(self):
-         """Test an encode/decode cycle for 8-bit 3 sample/pixel."""
-         ds = dcmread(EXPL_8_3_1F)
-@@ -73,6 +75,7 @@ class TestRLELossless:
+     @pytest.mark.parametrize('fpath, rpath, values', JPEG_MATCHING_DATASETS)
+     def test_array(self, fpath, rpath, values):
+         """Test pixel_array returns correct values."""
+@@ -588,6 +601,7 @@ class TestPillowHandler_JPEG:
  
-         assert np.array_equal(ref, arr)
+         assert np.array_equal(arr, ref)
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_cycle_i16_1s_1f(self):
-         """Test an encode/decode cycle for 16-bit 1 sample/pixel."""
-         ds = dcmread(EXPL_16_1_1F)
-@@ -93,6 +96,7 @@ class TestRLELossless:
+     def test_color_3d(self):
+         """Test decoding JPEG with pillow handler succeeds."""
+         ds = dcmread(JPGB_08_08_3_0_120F_YBR_FULL_422)
+@@ -602,6 +616,7 @@ class TestPillowHandler_JPEG:
  
-         assert np.array_equal(ref, arr)
+         assert "YBR_FULL_422" == ds.PhotometricInterpretation
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_cycle_u16_3s_1f(self):
-         """Test an encode/decode cycle for 16-bit 3 sample/pixel."""
-         ds = dcmread(EXPL_16_3_1F)
-@@ -115,6 +119,7 @@ class TestRLELossless:
- 
-         assert np.array_equal(ref, arr)
+     def test_JPGE_16bit_raises(self):
+         """Test decoding JPEG lossy with pillow handler fails."""
+         ds = dcmread(JPGE_16_12_1_0_1F_M2)
+@@ -612,6 +627,7 @@ class TestPillowHandler_JPEG:
+         with pytest.raises(NotImplementedError, match=msg):
+             ds.pixel_array
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_cycle_u32_1s_1f(self):
-         """Test an encode/decode cycle for 32-bit 1 sample/pixel."""
-         ds = dcmread(EXPL_32_1_1F)
-@@ -135,6 +140,7 @@ class TestRLELossless:
- 
-         assert np.array_equal(ref, arr)
+     def test_JPGL_raises(self):
+         """Test decoding JPEG Lossless with pillow handler fails."""
+         ds = dcmread(JPGL_16_16_1_1_1F_M2)
+@@ -619,6 +635,7 @@ class TestPillowHandler_JPEG:
+         with pytest.raises(NotImplementedError, match=msg):
+             ds.pixel_array
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     @pytest.mark.skipif(GDCM_VERSION < [3, 0, 10], reason="GDCM bug")
-     def test_cycle_u32_3s_1f(self):
-         """Test an encode/decode cycle for 32-bit 3 sample/pixel."""
-@@ -159,6 +165,7 @@ class TestRLELossless:
+     def test_JPGB_odd_data_size(self):
+         """Test decoding JPEG Baseline with pillow handler succeeds."""
+         ds = dcmread(JPGB_08_08_3_0_1F_YBR_FULL)
+diff --git a/pydicom/tests/test_pylibjpeg.py b/pydicom/tests/test_pylibjpeg.py
+index c388b59..a3e67e8 100644
+--- a/pydicom/tests/test_pylibjpeg.py
++++ b/pydicom/tests/test_pylibjpeg.py
+@@ -71,258 +71,258 @@ UNSUPPORTED_SYNTAXES = list(
+     set(AllTransferSyntaxes) ^ set(SUPPORTED_SYNTAXES)
+ )
  
-         assert np.array_equal(ref, arr)
+-# Transfer syntaxes supported by other handlers
+-IMPL = get_testdata_file("MR_small_implicit.dcm")
+-EXPL = get_testdata_file("OBXXXX1A.dcm")
+-EXPB = get_testdata_file("OBXXXX1A_expb.dcm")
+-DEFL = get_testdata_file("image_dfl.dcm")
+-
+-REFERENCE_DATA_UNSUPPORTED = [
+-    (IMPL, ('1.2.840.10008.1.2', 'CompressedSamples^MR1')),
+-    (EXPL, ('1.2.840.10008.1.2.1', 'OB^^^^')),
+-    (EXPB, ('1.2.840.10008.1.2.2', 'OB^^^^')),
+-    (DEFL, ('1.2.840.10008.1.2.1.99', '^^^^')),
+-]
+-
+-# RLE Lossless - PackBits algorithm
+-RLE_8_1_1F = get_testdata_file("OBXXXX1A_rle.dcm")
+-RLE_8_1_2F = get_testdata_file("OBXXXX1A_rle_2frame.dcm")
+-RLE_8_3_1F = get_testdata_file("SC_rgb_rle.dcm")
+-RLE_8_3_2F = get_testdata_file("SC_rgb_rle_2frame.dcm")
+-RLE_16_1_1F = get_testdata_file("MR_small_RLE.dcm")
+-RLE_16_1_10F = get_testdata_file("emri_small_RLE.dcm")
+-RLE_16_3_1F = get_testdata_file("SC_rgb_rle_16bit.dcm")
+-RLE_16_3_2F = get_testdata_file("SC_rgb_rle_16bit_2frame.dcm")
+-RLE_32_1_1F = get_testdata_file("rtdose_rle_1frame.dcm")
+-RLE_32_1_15F = get_testdata_file("rtdose_rle.dcm")
+-RLE_32_3_1F = get_testdata_file("SC_rgb_rle_32bit.dcm")
+-RLE_32_3_2F = get_testdata_file("SC_rgb_rle_32bit_2frame.dcm")
+-
+-# JPEG - ISO/IEC 10918 Standard
+-# FMT_BA_BV_SPX_PR_FRAMESF_PI
+-# JPGB: 1.2.840.10008.1.2.4.50 - JPEG Baseline (8-bit only)
+-JPGB_08_08_3_0_1F_YBR_FULL = get_testdata_file("SC_rgb_small_odd_jpeg.dcm")
+-JPGB_08_08_3_0_120F_YBR_FULL_422 = get_testdata_file("color3d_jpeg_baseline.dcm")  # noqa
+-# Different subsampling 411, 422, 444
+-JPGB_08_08_3_0_1F_YBR_FULL_422_411 = get_testdata_file("SC_rgb_dcmtk_+eb+cy+np.dcm")  # noqa
+-JPGB_08_08_3_0_1F_YBR_FULL_422_422 = get_testdata_file("SC_rgb_dcmtk_+eb+cy+s2.dcm")  # noqa
+-JPGB_08_08_3_0_1F_YBR_FULL_411 = get_testdata_file("SC_rgb_dcmtk_+eb+cy+n1.dcm")  # noqa
+-JPGB_08_08_3_0_1F_YBR_FULL_422 = get_testdata_file("SC_rgb_dcmtk_+eb+cy+n2.dcm")  # noqa
+-JPGB_08_08_3_0_1F_YBR_FULL_444 = get_testdata_file("SC_rgb_dcmtk_+eb+cy+s4.dcm")  # noqa
+-JPGB_08_08_3_0_1F_RGB = get_testdata_file("SC_rgb_dcmtk_+eb+cr.dcm")
+-# JPGE: 1.2.840.1.2.4.51 - JPEG Extended
+-JPGE_BAD = get_testdata_file("JPEG-lossy.dcm")  # Bad JPEG file
+-JPGE_16_12_1_0_1F_M2 = get_testdata_file("JPGExtended.dcm")  # Fixed version
+-# JPGL: 1.2.840.10008.1.2.4.70 - JPEG Lossless, Non-hierarchical, 1st Order
+-JPGL_08_08_1_0_1F = get_testdata_file("JPGLosslessP14SV1_1s_1f_8b.dcm")
+-JPGL_16_16_1_1_1F_M2 = get_testdata_file("JPEG-LL.dcm")
+-
+-JPGB = JPEGBaseline8Bit
+-JPGE = JPEGExtended12Bit
+-JPGL = JPEGLosslessSV1
+-
++## Transfer syntaxes supported by other handlers
++#IMPL = get_testdata_file("MR_small_implicit.dcm")
++#EXPL = get_testdata_file("OBXXXX1A.dcm")
++#EXPB = get_testdata_file("OBXXXX1A_expb.dcm")
++#DEFL = get_testdata_file("image_dfl.dcm")
++#
++#REFERENCE_DATA_UNSUPPORTED = [
++#    (IMPL, ('1.2.840.10008.1.2', 'CompressedSamples^MR1')),
++#    (EXPL, ('1.2.840.10008.1.2.1', 'OB^^^^')),
++#    (EXPB, ('1.2.840.10008.1.2.2', 'OB^^^^')),
++#    (DEFL, ('1.2.840.10008.1.2.1.99', '^^^^')),
++#]
++#
++## RLE Lossless - PackBits algorithm
++#RLE_8_1_1F = get_testdata_file("OBXXXX1A_rle.dcm")
++#RLE_8_1_2F = get_testdata_file("OBXXXX1A_rle_2frame.dcm")
++#RLE_8_3_1F = get_testdata_file("SC_rgb_rle.dcm")
++#RLE_8_3_2F = get_testdata_file("SC_rgb_rle_2frame.dcm")
++#RLE_16_1_1F = get_testdata_file("MR_small_RLE.dcm")
++#RLE_16_1_10F = get_testdata_file("emri_small_RLE.dcm")
++#RLE_16_3_1F = get_testdata_file("SC_rgb_rle_16bit.dcm")
++#RLE_16_3_2F = get_testdata_file("SC_rgb_rle_16bit_2frame.dcm")
++#RLE_32_1_1F = get_testdata_file("rtdose_rle_1frame.dcm")
++#RLE_32_1_15F = get_testdata_file("rtdose_rle.dcm")
++#RLE_32_3_1F = get_testdata_file("SC_rgb_rle_32bit.dcm")
++#RLE_32_3_2F = get_testdata_file("SC_rgb_rle_32bit_2frame.dcm")
++#
++## JPEG - ISO/IEC 10918 Standard
++## FMT_BA_BV_SPX_PR_FRAMESF_PI
++## JPGB: 1.2.840.10008.1.2.4.50 - JPEG Baseline (8-bit only)
++#JPGB_08_08_3_0_1F_YBR_FULL = get_testdata_file("SC_rgb_small_odd_jpeg.dcm")
++#JPGB_08_08_3_0_120F_YBR_FULL_422 = get_testdata_file("color3d_jpeg_baseline.dcm")  # noqa
++## Different subsampling 411, 422, 444
++#JPGB_08_08_3_0_1F_YBR_FULL_422_411 = get_testdata_file("SC_rgb_dcmtk_+eb+cy+np.dcm")  # noqa
++#JPGB_08_08_3_0_1F_YBR_FULL_422_422 = get_testdata_file("SC_rgb_dcmtk_+eb+cy+s2.dcm")  # noqa
++#JPGB_08_08_3_0_1F_YBR_FULL_411 = get_testdata_file("SC_rgb_dcmtk_+eb+cy+n1.dcm")  # noqa
++#JPGB_08_08_3_0_1F_YBR_FULL_422 = get_testdata_file("SC_rgb_dcmtk_+eb+cy+n2.dcm")  # noqa
++#JPGB_08_08_3_0_1F_YBR_FULL_444 = get_testdata_file("SC_rgb_dcmtk_+eb+cy+s4.dcm")  # noqa
++#JPGB_08_08_3_0_1F_RGB = get_testdata_file("SC_rgb_dcmtk_+eb+cr.dcm")
++## JPGE: 1.2.840.1.2.4.51 - JPEG Extended
++#JPGE_BAD = get_testdata_file("JPEG-lossy.dcm")  # Bad JPEG file
++#JPGE_16_12_1_0_1F_M2 = get_testdata_file("JPGExtended.dcm")  # Fixed version
++## JPGL: 1.2.840.10008.1.2.4.70 - JPEG Lossless, Non-hierarchical, 1st Order
++#JPGL_08_08_1_0_1F = get_testdata_file("JPGLosslessP14SV1_1s_1f_8b.dcm")
++#JPGL_16_16_1_1_1F_M2 = get_testdata_file("JPEG-LL.dcm")
++#
++#JPGB = JPEGBaseline8Bit
++#JPGE = JPEGExtended12Bit
++#JPGL = JPEGLosslessSV1
++#
+ JPG_REFERENCE_DATA = [
+-    # fpath, (syntax, bits, nr samples, pixel repr, nr frames, shape, dtype)
+-    (JPGB_08_08_3_0_120F_YBR_FULL_422, (JPGB, 8, 3, 0, 120, (120, 480, 640, 3), 'uint8')),  # noqa
+-    (JPGB_08_08_3_0_1F_YBR_FULL_422_411, (JPGB, 8, 3, 0, 1, (100, 100, 3), 'uint8')),  # noqa
+-    (JPGB_08_08_3_0_1F_YBR_FULL_422_422, (JPGB, 8, 3, 0, 1, (100, 100, 3), 'uint8')),  # noqa
+-    (JPGB_08_08_3_0_1F_YBR_FULL_411, (JPGB, 8, 3, 0, 1, (100, 100, 3), 'uint8')),  # noqa
+-    (JPGB_08_08_3_0_1F_YBR_FULL_422, (JPGB, 8, 3, 0, 1, (100, 100, 3), 'uint8')),  # noqa
+-    (JPGB_08_08_3_0_1F_YBR_FULL_444, (JPGB, 8, 3, 0, 1, (100, 100, 3), 'uint8')),  # noqa
+-    (JPGB_08_08_3_0_1F_RGB, (JPGB, 8, 3, 0, 1, (100, 100, 3), 'uint8')),
+-    (JPGE_16_12_1_0_1F_M2, (JPGE, 16, 1, 0, 1, (1024, 256), 'uint16')),
+-    (JPGL_08_08_1_0_1F, (JPGL, 8, 1, 0, 1, (768, 1024), 'uint8')),
+-    (JPGL_16_16_1_1_1F_M2, (JPGL, 16, 1, 1, 1, (1024, 256), 'int16')),
++#    # fpath, (syntax, bits, nr samples, pixel repr, nr frames, shape, dtype)
++#    (JPGB_08_08_3_0_120F_YBR_FULL_422, (JPGB, 8, 3, 0, 120, (120, 480, 640, 3), 'uint8')),  # noqa
++#    (JPGB_08_08_3_0_1F_YBR_FULL_422_411, (JPGB, 8, 3, 0, 1, (100, 100, 3), 'uint8')),  # noqa
++#    (JPGB_08_08_3_0_1F_YBR_FULL_422_422, (JPGB, 8, 3, 0, 1, (100, 100, 3), 'uint8')),  # noqa
++#    (JPGB_08_08_3_0_1F_YBR_FULL_411, (JPGB, 8, 3, 0, 1, (100, 100, 3), 'uint8')),  # noqa
++#    (JPGB_08_08_3_0_1F_YBR_FULL_422, (JPGB, 8, 3, 0, 1, (100, 100, 3), 'uint8')),  # noqa
++#    (JPGB_08_08_3_0_1F_YBR_FULL_444, (JPGB, 8, 3, 0, 1, (100, 100, 3), 'uint8')),  # noqa
++#    (JPGB_08_08_3_0_1F_RGB, (JPGB, 8, 3, 0, 1, (100, 100, 3), 'uint8')),
++#    (JPGE_16_12_1_0_1F_M2, (JPGE, 16, 1, 0, 1, (1024, 256), 'uint16')),
++#    (JPGL_08_08_1_0_1F, (JPGL, 8, 1, 0, 1, (768, 1024), 'uint8')),
++#    (JPGL_16_16_1_1_1F_M2, (JPGL, 16, 1, 1, 1, (1024, 256), 'int16')),
+ ]
+ JPG_MATCHING_DATASETS = [
+-    # (compressed, reference, hard coded check values), px tolerance
+-    pytest.param(
+-        JPGB_08_08_3_0_1F_YBR_FULL_422_411,
+-        get_testdata_file("SC_rgb_dcmtk_ebcynp_dcmd.dcm"),
+-        [
+-            (253, 1, 0), (253, 129, 131), (0, 255, 5), (127, 255, 129),
+-            (0, 0, 254), (127, 128, 255), (0, 0, 0), (64, 64, 64),
+-            (192, 192, 192), (255, 255, 255),
+-        ],
+-        2
+-    ),
+-    pytest.param(
+-        JPGB_08_08_3_0_1F_YBR_FULL_422_422,
+-        get_testdata_file("SC_rgb_dcmtk_ebcys2_dcmd.dcm"),
+-        [
+-            (254, 0, 0), (255, 127, 127), (0, 255, 5), (129, 255, 129),
+-            (0, 0, 254), (128, 127, 255), (0, 0, 0), (64, 64, 64),
+-            (192, 192, 192), (255, 255, 255),
+-        ],
+-        0
+-    ),
+-    pytest.param(
+-        JPGB_08_08_3_0_1F_YBR_FULL_411,
+-        get_testdata_file("SC_rgb_dcmtk_ebcyn1_dcmd.dcm"),
+-        [
+-            (253, 1, 0), (253, 129, 131), (0, 255, 5), (127, 255, 129),
+-            (0, 0, 254), (127, 128, 255), (0, 0, 0), (64, 64, 64),
+-            (192, 192, 192), (255, 255, 255),
+-        ],
+-        2
+-    ),
+-    pytest.param(
+-        JPGB_08_08_3_0_1F_YBR_FULL_422,
+-        get_testdata_file("SC_rgb_dcmtk_ebcyn2_dcmd.dcm"),
+-        [
+-            (254, 0, 0), (255, 127, 127), (0, 255, 5), (129, 255, 129),
+-            (0, 0, 254), (128, 127, 255), (0, 0, 0), (64, 64, 64),
+-            (192, 192, 192), (255, 255, 255),
+-        ],
+-        0
+-    ),
+-    pytest.param(
+-        JPGB_08_08_3_0_1F_YBR_FULL_444,
+-        get_testdata_file("SC_rgb_dcmtk_ebcys4_dcmd.dcm"),
+-        [
+-            (254, 0, 0), (255, 127, 127), (0, 255, 5), (129, 255, 129),
+-            (0, 0, 254), (128, 127, 255), (0, 0, 0), (64, 64, 64),
+-            (192, 192, 192), (255, 255, 255),
+-        ],
+-        0
+-    ),
+-    pytest.param(
+-        JPGB_08_08_3_0_1F_RGB,
+-        get_testdata_file("SC_rgb_dcmtk_ebcr_dcmd.dcm"),
+-        [
+-            (255, 0, 0), (255, 128, 128), (0, 255, 0), (128, 255, 128),
+-            (0, 0, 255), (128, 128, 255), (0, 0, 0), (64, 64, 64),
+-            (192, 192, 192), (255, 255, 255),
+-        ],
+-        1
+-    ),
++#    # (compressed, reference, hard coded check values), px tolerance
++#    pytest.param(
++#        JPGB_08_08_3_0_1F_YBR_FULL_422_411,
++#        get_testdata_file("SC_rgb_dcmtk_ebcynp_dcmd.dcm"),
++#        [
++#            (253, 1, 0), (253, 129, 131), (0, 255, 5), (127, 255, 129),
++#            (0, 0, 254), (127, 128, 255), (0, 0, 0), (64, 64, 64),
++#            (192, 192, 192), (255, 255, 255),
++#        ],
++#        2
++#    ),
++#    pytest.param(
++#        JPGB_08_08_3_0_1F_YBR_FULL_422_422,
++#        get_testdata_file("SC_rgb_dcmtk_ebcys2_dcmd.dcm"),
++#        [
++#            (254, 0, 0), (255, 127, 127), (0, 255, 5), (129, 255, 129),
++#            (0, 0, 254), (128, 127, 255), (0, 0, 0), (64, 64, 64),
++#            (192, 192, 192), (255, 255, 255),
++#        ],
++#        0
++#    ),
++#    pytest.param(
++#        JPGB_08_08_3_0_1F_YBR_FULL_411,
++#        get_testdata_file("SC_rgb_dcmtk_ebcyn1_dcmd.dcm"),
++#        [
++#            (253, 1, 0), (253, 129, 131), (0, 255, 5), (127, 255, 129),
++#            (0, 0, 254), (127, 128, 255), (0, 0, 0), (64, 64, 64),
++#            (192, 192, 192), (255, 255, 255),
++#        ],
++#        2
++#    ),
++#    pytest.param(
++#        JPGB_08_08_3_0_1F_YBR_FULL_422,
++#        get_testdata_file("SC_rgb_dcmtk_ebcyn2_dcmd.dcm"),
++#        [
++#            (254, 0, 0), (255, 127, 127), (0, 255, 5), (129, 255, 129),
++#            (0, 0, 254), (128, 127, 255), (0, 0, 0), (64, 64, 64),
++#            (192, 192, 192), (255, 255, 255),
++#        ],
++#        0
++#    ),
++#    pytest.param(
++#        JPGB_08_08_3_0_1F_YBR_FULL_444,
++#        get_testdata_file("SC_rgb_dcmtk_ebcys4_dcmd.dcm"),
++#        [
++#            (254, 0, 0), (255, 127, 127), (0, 255, 5), (129, 255, 129),
++#            (0, 0, 254), (128, 127, 255), (0, 0, 0), (64, 64, 64),
++#            (192, 192, 192), (255, 255, 255),
++#        ],
++#        0
++#    ),
++#    pytest.param(
++#        JPGB_08_08_3_0_1F_RGB,
++#        get_testdata_file("SC_rgb_dcmtk_ebcr_dcmd.dcm"),
++#        [
++#            (255, 0, 0), (255, 128, 128), (0, 255, 0), (128, 255, 128),
++#            (0, 0, 255), (128, 128, 255), (0, 0, 0), (64, 64, 64),
++#            (192, 192, 192), (255, 255, 255),
++#        ],
++#        1
++#    ),
+ ]
+-
+-
+-# JPEG-LS - ISO/IEC 14495 Standard
+-JLSL = JPEGLSNearLossless
+-JLSN = JPEGLSLossless
+-JPEG_LS_LOSSLESS = get_testdata_file("MR_small_jpeg_ls_lossless.dcm")
++#
++#
++## JPEG-LS - ISO/IEC 14495 Standard
++#JLSL = JPEGLSNearLossless
++#JLSN = JPEGLSLossless
++#JPEG_LS_LOSSLESS = get_testdata_file("MR_small_jpeg_ls_lossless.dcm")
+ JLS_REFERENCE_DATA = [
+-    # fpath, (syntax, bits, nr samples, pixel repr, nr frames, shape, dtype)
+-    (JPEG_LS_LOSSLESS, (JLSN, 16, 1, 1, 1, (64, 64), 'int16')),
++#    # fpath, (syntax, bits, nr samples, pixel repr, nr frames, shape, dtype)
++#    (JPEG_LS_LOSSLESS, (JLSN, 16, 1, 1, 1, (64, 64), 'int16')),
+ ]
  
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     @pytest.mark.skipif(GDCM_VERSION >= [3, 0, 10], reason="GDCM bug fixed")
-     def test_cycle_u32_3s_1f_raises(self):
-         """Test that 32-bit, 3 sample/px data raises exception."""
-@@ -176,6 +183,7 @@ class TestRLELossless:
-         with pytest.raises(RuntimeError, match=msg):
-             gdcm_rle_encode(ds.PixelData, **kwargs)
+ # JPEG 2000 - ISO/IEC 15444 Standard
+ J2KR = JPEG2000Lossless
+ J2KI = JPEG2000
+-# J2KR: 1.2.840.100008.1.2.4.90 - JPEG 2000 Lossless
+-J2KR_08_08_3_0_1F_YBR_ICT = get_testdata_file("US1_J2KR.dcm")
+-J2KR_16_10_1_0_1F_M1 = get_testdata_file("RG3_J2KR.dcm")
+-J2KR_16_12_1_0_1F_M2 = get_testdata_file("MR2_J2KR.dcm")
+-J2KR_16_15_1_0_1F_M1 = get_testdata_file("RG1_J2KR.dcm")
+-J2KR_16_16_1_0_10F_M2 = get_testdata_file("emri_small_jpeg_2k_lossless.dcm")
+-J2KR_16_14_1_1_1F_M2 = get_testdata_file("693_J2KR.dcm")
+-J2KR_16_16_1_1_1F_M2 = get_testdata_file("MR_small_jp2klossless.dcm")
+-J2KR_16_13_1_1_1F_M2_MISMATCH = get_testdata_file("J2K_pixelrep_mismatch.dcm")
+-# Non-conformant pixel data -> JP2 header present
+-J2KR_08_08_3_0_1F_YBR_RCT = get_testdata_file("GDCMJ2K_TextGBR.dcm")
+-# J2KI: 1.2.840.10008.1.2.4.91 - JPEG 2000
+-J2KI_08_08_3_0_1F_RGB = get_testdata_file("SC_rgb_gdcm_KY.dcm")
+-J2KI_08_08_3_0_1F_YBR_ICT = get_testdata_file("US1_J2KI.dcm")
+-J2KI_16_10_1_0_1F_M1 = get_testdata_file("RG3_J2KI.dcm")
+-J2KI_16_12_1_0_1F_M2 = get_testdata_file("MR2_J2KI.dcm")
+-J2KI_16_15_1_0_1F_M1 = get_testdata_file("RG1_J2KI.dcm")
+-J2KI_16_14_1_1_1F_M2 = get_testdata_file("693_J2KI.dcm")
+-J2KI_16_16_1_1_1F_M2 = get_testdata_file("JPEG2000.dcm")
+-
++## J2KR: 1.2.840.100008.1.2.4.90 - JPEG 2000 Lossless
++#J2KR_08_08_3_0_1F_YBR_ICT = get_testdata_file("US1_J2KR.dcm")
++#J2KR_16_10_1_0_1F_M1 = get_testdata_file("RG3_J2KR.dcm")
++#J2KR_16_12_1_0_1F_M2 = get_testdata_file("MR2_J2KR.dcm")
++#J2KR_16_15_1_0_1F_M1 = get_testdata_file("RG1_J2KR.dcm")
++#J2KR_16_16_1_0_10F_M2 = get_testdata_file("emri_small_jpeg_2k_lossless.dcm")
++#J2KR_16_14_1_1_1F_M2 = get_testdata_file("693_J2KR.dcm")
++#J2KR_16_16_1_1_1F_M2 = get_testdata_file("MR_small_jp2klossless.dcm")
++#J2KR_16_13_1_1_1F_M2_MISMATCH = get_testdata_file("J2K_pixelrep_mismatch.dcm")
++## Non-conformant pixel data -> JP2 header present
++#J2KR_08_08_3_0_1F_YBR_RCT = get_testdata_file("GDCMJ2K_TextGBR.dcm")
++## J2KI: 1.2.840.10008.1.2.4.91 - JPEG 2000
++#J2KI_08_08_3_0_1F_RGB = get_testdata_file("SC_rgb_gdcm_KY.dcm")
++#J2KI_08_08_3_0_1F_YBR_ICT = get_testdata_file("US1_J2KI.dcm")
++#J2KI_16_10_1_0_1F_M1 = get_testdata_file("RG3_J2KI.dcm")
++#J2KI_16_12_1_0_1F_M2 = get_testdata_file("MR2_J2KI.dcm")
++#J2KI_16_15_1_0_1F_M1 = get_testdata_file("RG1_J2KI.dcm")
++#J2KI_16_14_1_1_1F_M2 = get_testdata_file("693_J2KI.dcm")
++#J2KI_16_16_1_1_1F_M2 = get_testdata_file("JPEG2000.dcm")
++#
+ J2K_REFERENCE_DATA = [
+-    # fpath, (syntax, bits, nr samples, pixel repr, nr frames, shape, dtype)
+-    (J2KR_08_08_3_0_1F_YBR_ICT, (J2KR, 8, 3, 0, 1, (480, 640, 3), 'uint8')),
+-    (J2KR_16_10_1_0_1F_M1, (J2KR, 16, 1, 0, 1, (1760, 1760), 'uint16')),
+-    (J2KR_16_12_1_0_1F_M2, (J2KR, 16, 1, 0, 1, (1024, 1024), 'uint16')),
+-    (J2KR_16_15_1_0_1F_M1, (J2KR, 16, 1, 0, 1, (1955, 1841), 'uint16')),
+-    # should be Bits Stored = 12
+-    (J2KR_16_16_1_0_10F_M2, (J2KR, 16, 1, 0, 10, (10, 64, 64), 'uint16')),
+-    # should be Bits Stored = 16
+-    (J2KR_16_14_1_1_1F_M2, (J2KR, 16, 1, 1, 1, (512, 512), 'int16')),
+-    (J2KR_16_16_1_1_1F_M2, (J2KR, 16, 1, 1, 1, (64, 64), 'int16')),
+-    (J2KI_08_08_3_0_1F_RGB, (J2KI, 8, 3, 0, 1, (100, 100, 3), 'uint8')),
+-    (J2KI_08_08_3_0_1F_YBR_ICT, (J2KI, 8, 3, 0, 1, (480, 640, 3), 'uint8')),
+-    (J2KI_16_10_1_0_1F_M1, (J2KI, 16, 1, 0, 1, (1760, 1760), 'uint16')),
+-    (J2KI_16_12_1_0_1F_M2, (J2KI, 16, 1, 0, 1, (1024, 1024), 'uint16')),
+-    (J2KI_16_15_1_0_1F_M1, (J2KI, 16, 1, 0, 1, (1955, 1841), 'uint16')),
+-    # should be Bits Stored = 16
+-    (J2KI_16_14_1_1_1F_M2, (J2KI, 16, 1, 1, 1, (512, 512), 'int16')),
+-    (J2KI_16_16_1_1_1F_M2, (J2KI, 16, 1, 1, 1, (1024, 256), 'int16')),
++#    # fpath, (syntax, bits, nr samples, pixel repr, nr frames, shape, dtype)
++#    (J2KR_08_08_3_0_1F_YBR_ICT, (J2KR, 8, 3, 0, 1, (480, 640, 3), 'uint8')),
++#    (J2KR_16_10_1_0_1F_M1, (J2KR, 16, 1, 0, 1, (1760, 1760), 'uint16')),
++#    (J2KR_16_12_1_0_1F_M2, (J2KR, 16, 1, 0, 1, (1024, 1024), 'uint16')),
++#    (J2KR_16_15_1_0_1F_M1, (J2KR, 16, 1, 0, 1, (1955, 1841), 'uint16')),
++#    # should be Bits Stored = 12
++#    (J2KR_16_16_1_0_10F_M2, (J2KR, 16, 1, 0, 10, (10, 64, 64), 'uint16')),
++#    # should be Bits Stored = 16
++#    (J2KR_16_14_1_1_1F_M2, (J2KR, 16, 1, 1, 1, (512, 512), 'int16')),
++#    (J2KR_16_16_1_1_1F_M2, (J2KR, 16, 1, 1, 1, (64, 64), 'int16')),
++#    (J2KI_08_08_3_0_1F_RGB, (J2KI, 8, 3, 0, 1, (100, 100, 3), 'uint8')),
++#    (J2KI_08_08_3_0_1F_YBR_ICT, (J2KI, 8, 3, 0, 1, (480, 640, 3), 'uint8')),
++#    (J2KI_16_10_1_0_1F_M1, (J2KI, 16, 1, 0, 1, (1760, 1760), 'uint16')),
++#    (J2KI_16_12_1_0_1F_M2, (J2KI, 16, 1, 0, 1, (1024, 1024), 'uint16')),
++#    (J2KI_16_15_1_0_1F_M1, (J2KI, 16, 1, 0, 1, (1955, 1841), 'uint16')),
++#    # should be Bits Stored = 16
++#    (J2KI_16_14_1_1_1F_M2, (J2KI, 16, 1, 1, 1, (512, 512), 'int16')),
++#    (J2KI_16_16_1_1_1F_M2, (J2KI, 16, 1, 1, 1, (1024, 256), 'int16')),
+ ]
+ J2K_MATCHING_DATASETS = [
+-    # (compressed, reference, fixes)
+-    pytest.param(
+-        J2KR_08_08_3_0_1F_YBR_ICT,
+-        get_testdata_file("US1_UNCR.dcm"),
+-        {},
+-    ),
+-    pytest.param(
+-        J2KR_16_10_1_0_1F_M1,
+-        get_testdata_file("RG3_UNCR.dcm"),
+-        {},
+-    ),
+-    pytest.param(
+-        J2KR_16_12_1_0_1F_M2,
+-        get_testdata_file("MR2_UNCR.dcm"),
+-        {},
+-    ),
+-    pytest.param(
+-        J2KR_16_15_1_0_1F_M1,
+-        get_testdata_file("RG1_UNCR.dcm"),
+-        {},
+-    ),
+-    pytest.param(
+-        J2KR_16_16_1_0_10F_M2,
+-        get_testdata_file("emri_small.dcm"),
+-        {'BitsStored': 16},
+-    ),
+-    pytest.param(
+-        J2KR_16_14_1_1_1F_M2,
+-        get_testdata_file("693_UNCR.dcm"),
+-        {'BitsStored': 14},
+-    ),
+-    pytest.param(
+-        J2KR_16_16_1_1_1F_M2,
+-        get_testdata_file("MR_small.dcm"),
+-        {},
+-    ),
+-    pytest.param(
+-        J2KI_08_08_3_0_1F_RGB,
+-        get_testdata_file("SC_rgb_gdcm2k_uncompressed.dcm"),
+-        {},
+-    ),
+-    pytest.param(
+-        J2KI_08_08_3_0_1F_YBR_ICT,
+-        get_testdata_file("US1_UNCI.dcm"),
+-        {},
+-    ),
+-    pytest.param(
+-        J2KI_16_10_1_0_1F_M1,
+-        get_testdata_file("RG3_UNCI.dcm"),
+-        {},
+-    ),
+-    pytest.param(
+-        J2KI_16_12_1_0_1F_M2,
+-        get_testdata_file("MR2_UNCI.dcm"),
+-        {},
+-    ),
+-    pytest.param(
+-        J2KI_16_15_1_0_1F_M1,
+-        get_testdata_file("RG1_UNCI.dcm"),
+-        {},
+-    ),
+-    pytest.param(
+-        J2KI_16_14_1_1_1F_M2,
+-        get_testdata_file("693_UNCI.dcm"),
+-        {'BitsStored': 16},
+-    ),
+-    pytest.param(
+-        J2KI_16_16_1_1_1F_M2,
+-        get_testdata_file("JPEG2000_UNC.dcm"),
+-        {},
+-    ),
++#    # (compressed, reference, fixes)
++#    pytest.param(
++#        J2KR_08_08_3_0_1F_YBR_ICT,
++#        get_testdata_file("US1_UNCR.dcm"),
++#        {},
++#    ),
++#    pytest.param(
++#        J2KR_16_10_1_0_1F_M1,
++#        get_testdata_file("RG3_UNCR.dcm"),
++#        {},
++#    ),
++#    pytest.param(
++#        J2KR_16_12_1_0_1F_M2,
++#        get_testdata_file("MR2_UNCR.dcm"),
++#        {},
++#    ),
++#    pytest.param(
++#        J2KR_16_15_1_0_1F_M1,
++#        get_testdata_file("RG1_UNCR.dcm"),
++#        {},
++#    ),
++#    pytest.param(
++#        J2KR_16_16_1_0_10F_M2,
++#        get_testdata_file("emri_small.dcm"),
++#        {'BitsStored': 16},
++#    ),
++#    pytest.param(
++#        J2KR_16_14_1_1_1F_M2,
++#        get_testdata_file("693_UNCR.dcm"),
++#        {'BitsStored': 14},
++#    ),
++#    pytest.param(
++#        J2KR_16_16_1_1_1F_M2,
++#        get_testdata_file("MR_small.dcm"),
++#        {},
++#    ),
++#    pytest.param(
++#        J2KI_08_08_3_0_1F_RGB,
++#        get_testdata_file("SC_rgb_gdcm2k_uncompressed.dcm"),
++#        {},
++#    ),
++#    pytest.param(
++#        J2KI_08_08_3_0_1F_YBR_ICT,
++#        get_testdata_file("US1_UNCI.dcm"),
++#        {},
++#    ),
++#    pytest.param(
++#        J2KI_16_10_1_0_1F_M1,
++#        get_testdata_file("RG3_UNCI.dcm"),
++#        {},
++#    ),
++#    pytest.param(
++#        J2KI_16_12_1_0_1F_M2,
++#        get_testdata_file("MR2_UNCI.dcm"),
++#        {},
++#    ),
++#    pytest.param(
++#        J2KI_16_15_1_0_1F_M1,
++#        get_testdata_file("RG1_UNCI.dcm"),
++#        {},
++#    ),
++#    pytest.param(
++#        J2KI_16_14_1_1_1F_M2,
++#        get_testdata_file("693_UNCI.dcm"),
++#        {'BitsStored': 16},
++#    ),
++#    pytest.param(
++#        J2KI_16_16_1_1_1F_M2,
++#        get_testdata_file("JPEG2000_UNC.dcm"),
++#        {},
++#    ),
+ ]
  
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_invalid_byteorder_raises(self):
-         """Test that big endian source raises exception."""
-         ds = dcmread(EXPL_8_1_1F)
-@@ -191,6 +199,7 @@ class TestRLELossless:
-                 ds.PixelData, encoding_plugin='gdcm', byteorder='>', **kwargs
-             )
  
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_above_32bit_raises(self):
-         """Test that > 32-bit Bits Allocated raises exception."""
-         ds = dcmread(EXPL_8_1_1F)
-@@ -206,6 +215,7 @@ class TestRLELossless:
-         with pytest.raises(RuntimeError, match=msg):
-             enc.encode(ds.PixelData, encoding_plugin='gdcm', **kwargs)
+@@ -361,6 +361,7 @@ class TestHandler:
+             with pytest.raises((NotImplementedError, RuntimeError)):
+                 ds.pixel_array
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_encoding_failure_raises(self):
-         """Test that a encoding failure result raises an exception"""
-         kwargs = {
-@@ -226,6 +236,7 @@ class TestRLELossless:
+     @pytest.mark.skipif(
+         HAVE_LJ or HAVE_OJ or HAVE_RLE, reason="plugins available"
+     )
+@@ -391,6 +392,7 @@ class TestHandler:
          with pytest.raises(RuntimeError, match=msg):
-             gdcm_rle_encode(b'\x00', **kwargs)
+             ds.pixel_array
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_no_sequence_raises(self):
-         """Test that no sequence of fragments raises an exception"""
-         kwargs = {
---- a/pydicom/tests/test_overlay_np.py
-+++ b/pydicom/tests/test_overlay_np.py
-@@ -55,13 +55,13 @@ except ImportError:
- # Paths to the test datasets
- # EXPL: Explicit VR Little Endian
- # Overlay Data
--# 1/1, 1 sample/pixel, 1 frame
--EXPL_1_1_1F = get_testdata_file("MR-SIEMENS-DICOM-WithOverlays.dcm")
-+## 1/1, 1 sample/pixel, 1 frame
-+#EXPL_1_1_1F = get_testdata_file("MR-SIEMENS-DICOM-WithOverlays.dcm")
- # 1/1, 1 sample/pixel, N frame
- EXPL_1_1_3F = None
- # No Overlay Data
--# 16/16, 1 sample/pixel, 1 frame
--EXPL_16_1_1F = get_testdata_file("MR_small.dcm")
-+## 16/16, 1 sample/pixel, 1 frame
-+#EXPL_16_1_1F = get_testdata_file("MR_small.dcm")
+     def test_change_photometric_interpretation(self):
+         """Test returned value."""
+         ds = dcmread(J2KR_16_12_1_0_1F_M2)
+@@ -409,6 +411,7 @@ class TestJPEG:
+         """Restore the environment."""
+         pydicom.config.pixel_data_handlers = self.original_handlers
  
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     @pytest.mark.parametrize('fpath, data', JPG_REFERENCE_DATA)
+     def test_properties(self, fpath, data):
+         """Test dataset and pixel array properties are as expected."""
+@@ -425,6 +428,7 @@ class TestJPEG:
+         assert data[5] == arr.shape
+         assert arr.dtype == data[6]
  
- # Numpy unavailable and the numpy handler is available
-@@ -82,6 +82,7 @@ class TestNoNumpy_NumpyHandler:
-         assert not HAVE_NP
-         assert NP_HANDLER is not None
++    @pytest.mark.skip("When building a Debian package we can not download anything")
+     @pytest.mark.parametrize('fpath, rpath, val, tol', JPG_MATCHING_DATASETS)
+     def test_array(self, fpath, rpath, val, tol):
+         """Test pixel_array returns correct values."""
+@@ -450,6 +454,7 @@ class TestJPEG:
+         # All results within `tol` intensity units of the reference
+         assert np.allclose(arr, ref, atol=tol)
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_overlay_array_raises(self):
-         """Test overlay_array raises exception"""
-         ds = dcmread(EXPL_1_1_1F)
-@@ -89,6 +90,7 @@ class TestNoNumpy_NumpyHandler:
+     @pytest.mark.parametrize('fpath, rpath, val, tol', JPG_MATCHING_DATASETS)
+     def test_generate_frames(self, fpath, rpath, val, tol):
+         """Test pixel_array returns correct values."""
+@@ -484,6 +489,7 @@ class TestJPEG:
          with pytest.raises(RuntimeError, match=msg):
-             ds.overlay_array(0x6000)
+             ds.pixel_array
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_get_overlay_array_raises(self):
-         """Test get_overlay_array raises exception"""
-         ds = dcmread(EXPL_1_1_1F)
-@@ -110,7 +112,7 @@ IMPL = ImplicitVRLittleEndian
- REFERENCE_DATA_LITTLE = [
-     # fpath, (syntax, bits, nr samples, pixel repr, nr frames, shape, dtype,
-     #   group)
--    (EXPL_1_1_1F, (EXPL, 1, 1, 0, 1, (484, 484), 'uint8', 0x6000)),
-+#    (EXPL_1_1_1F, (EXPL, 1, 1, 0, 1, (484, 484), 'uint8', 0x6000)),
-     # (EXPL_1_1_3F, (EXPL, 1, 1, 0, 3, (3, 512, 512), 'uint8', 0x6000)),
- ]
- 
-@@ -154,6 +156,7 @@ class TestNumpy_NumpyHandler:
-         if size % 2:
-             assert ds[group, 0x3000].value[-1] == b'\x00'[0]
+     def test_missing_element_raises(self):
+         """Test that missing required element raises exception."""
+         ds = dcmread(JPGB_08_08_3_0_1F_YBR_FULL)
+@@ -507,6 +513,7 @@ class TestJPEGLS:
+         """Restore the environment."""
+         pydicom.config.pixel_data_handlers = self.original_handlers
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_little_1bit_1sample_1frame(self):
-         """Test pixel_array for little 1-bit, 1 sample/pixel, 1 frame."""
-         ds = dcmread(EXPL_1_1_1F)
-@@ -170,6 +173,7 @@ class TestNumpy_NumpyHandler:
-         ds = dcmread(EXPL_1_1_3F)
-         arr = ds.overlay_array(0x6000)
+     @pytest.mark.parametrize('fpath, data', JLS_REFERENCE_DATA)
+     def test_properties(self, fpath, data):
+         """Test dataset and pixel array properties are as expected."""
+@@ -523,6 +530,7 @@ class TestJPEGLS:
+         assert data[5] == arr.shape
+         assert arr.dtype == data[6]
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_read_only(self):
-         """Test for #717, returned array read-only."""
-         ds = dcmread(EXPL_1_1_1F)
-@@ -179,6 +183,7 @@ class TestNumpy_NumpyHandler:
-         assert 1 == arr[0, 0]
-         assert arr.flags.writeable
+     def test_arrary(self):
+         """Test returned array values are OK."""
+         ds = dcmread(JPEG_LS_LOSSLESS)
+@@ -546,6 +554,7 @@ class TestJPEG2K:
+         """Restore the environment."""
+         pydicom.config.pixel_data_handlers = self.original_handlers
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_bad_group_raises(self):
-         """Test that using a bad group raises exception."""
-         ds = dcmread(EXPL_1_1_1F)
-@@ -191,6 +196,7 @@ class TestNumpy_NumpyHandler:
-         with pytest.raises(ValueError, match=msg):
-             ds.overlay_array(0x6100)
+     @pytest.mark.parametrize('fpath, data', J2K_REFERENCE_DATA)
+     def test_properties_as_array(self, fpath, data):
+         """Test dataset, pixel_array and as_array() are as expected."""
+@@ -584,6 +593,7 @@ class TestJPEG2K:
+         assert data[5] == arr.shape
+         assert arr.dtype == data[6]
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_no_frames(self):
-         """Test handler with no NumberOfFramesInOverlay element."""
-         ds = dcmread(EXPL_1_1_1F)
-@@ -206,6 +212,7 @@ class TestNumpy_NumpyHandler:
- @pytest.mark.skipif(not HAVE_NP, reason='Numpy is not available')
- class TestNumpy_GetOverlayArray:
-     """Tests for numpy_handler.get_overlay_array with numpy."""
-+    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_no_overlay_data_raises(self):
-         """Test get_overlay_array raises if dataset has no OverlayData."""
-         ds = dcmread(EXPL_1_1_1F)
-@@ -214,6 +221,7 @@ class TestNumpy_GetOverlayArray:
-         with pytest.raises(AttributeError, match=r' dataset: OverlayData'):
-             get_overlay_array(ds, 0x6000)
+     @pytest.mark.parametrize('fpath, rpath, fixes', J2K_MATCHING_DATASETS)
+     def test_array(self, fpath, rpath, fixes):
+         """Test pixel_array returns correct values."""
+@@ -597,6 +607,7 @@ class TestJPEG2K:
+         ref = dcmread(rpath).pixel_array
+         assert np.array_equal(arr, ref)
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_bad_length_raises(self):
-         """Test bad pixel data length raises exception."""
-         ds = dcmread(EXPL_1_1_1F)
-@@ -228,6 +236,7 @@ class TestNumpy_GetOverlayArray:
-         with pytest.raises(ValueError, match=msg):
-             get_overlay_array(ds, 0x6000)
+     @pytest.mark.parametrize('fpath, rpath, fixes', J2K_MATCHING_DATASETS)
+     def test_generate_frames(self, fpath, rpath, fixes):
+         """Test pixel_array returns correct values."""
+@@ -620,6 +631,7 @@ class TestJPEG2K:
+         with pytest.raises(StopIteration):
+             next(frame_generator)
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_missing_padding_warns(self):
-         """A warning shall be issued if the padding for odd data is missing."""
-         ds = dcmread(EXPL_1_1_1F)
-@@ -239,6 +248,7 @@ class TestNumpy_GetOverlayArray:
+     def test_warnings(self):
+         """Test the plugin warnings work."""
+         # Bits Stored
+@@ -667,6 +679,7 @@ class TestJPEG2K:
          with pytest.warns(UserWarning, match=msg):
-             get_overlay_array(ds, 0x6000)
+             ds.pixel_array
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_excess_padding(self):
-         """A warning shall be issued excess padding present."""
-         ds = dcmread(EXPL_1_1_1F)
-@@ -254,6 +264,7 @@ class TestNumpy_GetOverlayArray:
-         with pytest.warns(UserWarning, match=msg):
-             get_overlay_array(ds, 0x6000)
+     def test_decompress_using_pylibjpeg(self):
+         """Test decompressing JPEG2K with pylibjpeg handler succeeds."""
+         ds = dcmread(J2KR_16_12_1_0_1F_M2)
+@@ -677,6 +690,7 @@ class TestJPEG2K:
+         ref = ds.pixel_array
+         assert np.array_equal(arr, ref)
  
 +    @pytest.mark.skip("When building a Debian package we can not download anything")
-     def test_old_import(self):
-         """Test that can import using the old path."""
-         from pydicom.overlay_data_handlers import numpy_handler as np_old
+     def test_pixel_rep_mismatch(self):
+         """Test mismatched j2k sign and Pixel Representation."""
+         ds = dcmread(J2KR_16_13_1_1_1F_M2_MISMATCH)
+@@ -706,37 +720,38 @@ class TestJPEG2K:
+ 
+ 
+ RLE_REFERENCE_DATA = [
+-    # fpath, (bits, nr samples, pixel repr, nr frames, shape, dtype)
+-    (RLE_8_1_1F, (8, 1, 0, 1, (600, 800), 'uint8')),
+-    (RLE_8_1_2F, (8, 1, 0, 2, (2, 600, 800), 'uint8')),
+-    (RLE_8_3_1F, (8, 3, 0, 1, (100, 100, 3), 'uint8')),
+-    (RLE_8_3_2F, (8, 3, 0, 2, (2, 100, 100, 3), 'uint8')),
+-    (RLE_16_1_1F, (16, 1, 1, 1, (64, 64), 'int16')),
+-    (RLE_16_1_10F, (16, 1, 0, 10, (10, 64, 64), 'uint16')),
+-    (RLE_16_3_1F, (16, 3, 0, 1, (100, 100, 3), 'uint16')),
+-    (RLE_16_3_2F, (16, 3, 0, 2, (2, 100, 100, 3), 'uint16')),
+-    (RLE_32_1_1F, (32, 1, 0, 1, (10, 10), 'uint32')),
+-    (RLE_32_1_15F, (32, 1, 0, 15, (15, 10, 10), 'uint32')),
+-    (RLE_32_3_1F, (32, 3, 0, 1, (100, 100, 3), 'uint32')),
+-    (RLE_32_3_2F, (32, 3, 0, 2, (2, 100, 100, 3), 'uint32')),
++#    # fpath, (bits, nr samples, pixel repr, nr frames, shape, dtype)
++#    (RLE_8_1_1F, (8, 1, 0, 1, (600, 800), 'uint8')),
++#    (RLE_8_1_2F, (8, 1, 0, 2, (2, 600, 800), 'uint8')),
++#    (RLE_8_3_1F, (8, 3, 0, 1, (100, 100, 3), 'uint8')),
++#    (RLE_8_3_2F, (8, 3, 0, 2, (2, 100, 100, 3), 'uint8')),
++#    (RLE_16_1_1F, (16, 1, 1, 1, (64, 64), 'int16')),
++#    (RLE_16_1_10F, (16, 1, 0, 10, (10, 64, 64), 'uint16')),
++#    (RLE_16_3_1F, (16, 3, 0, 1, (100, 100, 3), 'uint16')),
++#    (RLE_16_3_2F, (16, 3, 0, 2, (2, 100, 100, 3), 'uint16')),
++#    (RLE_32_1_1F, (32, 1, 0, 1, (10, 10), 'uint32')),
++#    (RLE_32_1_15F, (32, 1, 0, 15, (15, 10, 10), 'uint32')),
++#    (RLE_32_3_1F, (32, 3, 0, 1, (100, 100, 3), 'uint32')),
++#    (RLE_32_3_2F, (32, 3, 0, 2, (2, 100, 100, 3), 'uint32')),
+ ]
+ RLE_MATCHING_DATASETS = [
+-    # (compressed, reference)
+-    pytest.param(RLE_8_1_1F, get_testdata_file("OBXXXX1A.dcm")),
+-    pytest.param(RLE_8_1_2F, get_testdata_file("OBXXXX1A_2frame.dcm")),
+-    pytest.param(RLE_8_3_1F, get_testdata_file("SC_rgb.dcm")),
+-    pytest.param(RLE_8_3_2F, get_testdata_file("SC_rgb_2frame.dcm")),
+-    pytest.param(RLE_16_1_1F, get_testdata_file("MR_small.dcm")),
+-    pytest.param(RLE_16_1_10F, get_testdata_file("emri_small.dcm")),
+-    pytest.param(RLE_16_3_1F, get_testdata_file("SC_rgb_16bit.dcm")),
+-    pytest.param(RLE_16_3_2F, get_testdata_file("SC_rgb_16bit_2frame.dcm")),
+-    pytest.param(RLE_32_1_1F, get_testdata_file("rtdose_1frame.dcm")),
+-    pytest.param(RLE_32_1_15F, get_testdata_file("rtdose.dcm")),
+-    pytest.param(RLE_32_3_1F, get_testdata_file("SC_rgb_32bit.dcm")),
+-    pytest.param(RLE_32_3_2F, get_testdata_file("SC_rgb_32bit_2frame.dcm")),
++#    # (compressed, reference)
++#    pytest.param(RLE_8_1_1F, get_testdata_file("OBXXXX1A.dcm")),
++#    pytest.param(RLE_8_1_2F, get_testdata_file("OBXXXX1A_2frame.dcm")),
++#    pytest.param(RLE_8_3_1F, get_testdata_file("SC_rgb.dcm")),
++#    pytest.param(RLE_8_3_2F, get_testdata_file("SC_rgb_2frame.dcm")),
++#    pytest.param(RLE_16_1_1F, get_testdata_file("MR_small.dcm")),
++#    pytest.param(RLE_16_1_10F, get_testdata_file("emri_small.dcm")),
++#    pytest.param(RLE_16_3_1F, get_testdata_file("SC_rgb_16bit.dcm")),
++#    pytest.param(RLE_16_3_2F, get_testdata_file("SC_rgb_16bit_2frame.dcm")),
++#    pytest.param(RLE_32_1_1F, get_testdata_file("rtdose_1frame.dcm")),
++#    pytest.param(RLE_32_1_15F, get_testdata_file("rtdose.dcm")),
++#    pytest.param(RLE_32_3_1F, get_testdata_file("SC_rgb_32bit.dcm")),
++#    pytest.param(RLE_32_3_2F, get_testdata_file("SC_rgb_32bit_2frame.dcm")),
+ ]
+ 
+ 
++ at pytest.mark.skip("When building a Debian package we can not download anything")
+ @pytest.mark.skipif(not TEST_RLE, reason="no -rle plugin")
+ class TestRLE:
+     def test_decompress_using_pylibjpeg(self):
+diff --git a/pydicom/tests/test_rle_pixel_data.py b/pydicom/tests/test_rle_pixel_data.py
+index 1c89c91..e20bfce 100644
 --- a/pydicom/tests/test_rle_pixel_data.py
 +++ b/pydicom/tests/test_rle_pixel_data.py
 @@ -308,6 +308,7 @@ class TestNumpy_NoRLEHandler:
diff --git a/debian/patches/ignore_tests_with_wrong_gdcm_usage.patch b/debian/patches/ignore_tests_with_wrong_gdcm_usage.patch
index e2a07bb..3367448 100644
--- a/debian/patches/ignore_tests_with_wrong_gdcm_usage.patch
+++ b/debian/patches/ignore_tests_with_wrong_gdcm_usage.patch
@@ -1,8 +1,16 @@
-Author: Andreas Tille <tille at debian.org>
+From: Andreas Tille <tille at debian.org>
+Date: Mon, 11 May 2026 10:53:29 +0200
+Subject: Ignore test due to wrong gdcm usage.
+
 Last-Update: 2021-12-08
-Description: Ignore test due to wrong gdcm usage.
-  See https://lists.debian.org/debian-med/2021/12/msg00061.html
 
+ See https://lists.debian.org/debian-med/2021/12/msg00061.html
+---
+ pydicom/tests/test_gdcm_pixel_data.py | 22 +++++++++++++++++++++-
+ 1 file changed, 21 insertions(+), 1 deletion(-)
+
+diff --git a/pydicom/tests/test_gdcm_pixel_data.py b/pydicom/tests/test_gdcm_pixel_data.py
+index 398c83b..7ae9344 100644
 --- a/pydicom/tests/test_gdcm_pixel_data.py
 +++ b/pydicom/tests/test_gdcm_pixel_data.py
 @@ -161,6 +161,7 @@ class TestGDCM_JPEG2000_no_gdcm:
diff --git a/debian/patches/series b/debian/patches/series
index b82a55e..4121a96 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -3,3 +3,4 @@ ignore_tests_downloading_data.patch
 ignore_tests_with_wrong_gdcm_usage.patch
 sphinx_no_git.patch
 skip-i386-incapable-tests.patch
+fix-for-FileSet-DICOMDIR-path-traversal-vulnerabilit.patch
diff --git a/debian/patches/skip-i386-incapable-tests.patch b/debian/patches/skip-i386-incapable-tests.patch
index f346b80..ab07802 100644
--- a/debian/patches/skip-i386-incapable-tests.patch
+++ b/debian/patches/skip-i386-incapable-tests.patch
@@ -1,18 +1,26 @@
-Description: skip tests impoosible to run on 32-bit architectures.
- This patch prevents running into the following errors by stopping the
- test just before the error condition:
- .
-        >       assert 36**6 + 1 == len(fs)
-        E       OverflowError: cannot fit 'int' into an index-sized integer
-Author: ?tienne Mollier <emollier at debian.org>
+From: =?utf-8?q?=C3=89tienne_Mollier?= <emollier at debian.org>
+Date: Mon, 11 May 2026 10:53:29 +0200
+Subject: skip tests impoosible to run on 32-bit architectures.
+
 Bug-Debian: https://bugs.debian.org/1103137
 Forwarded: no
 Last-Update: 2025-04-14
+
+This patch prevents running into the following errors by stopping the
+test just before the error condition:
+
+       >       assert 36**6 + 1 == len(fs)
+       E       OverflowError: cannot fit 'int' into an index-sized integer
+Last-Update: 2025-04-14
 ---
-This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
---- pydicom.orig/pydicom/tests/test_fileset.py
-+++ pydicom/pydicom/tests/test_fileset.py
-@@ -2246,6 +2246,8 @@
+ pydicom/tests/test_fileset.py | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/pydicom/tests/test_fileset.py b/pydicom/tests/test_fileset.py
+index 40bd9d8..cff26da 100644
+--- a/pydicom/tests/test_fileset.py
++++ b/pydicom/tests/test_fileset.py
+@@ -2246,6 +2246,8 @@ class TestFileSet_Modify:
  
          FileSet.__len__ = my_len
          fs = FileSet(ds)
@@ -21,7 +29,7 @@ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
          assert 36**6 + 1 == len(fs)
          msg = (
              r"pydicom doesn't support writing File-sets with more than "
-@@ -2577,6 +2579,8 @@
+@@ -2577,6 +2579,8 @@ class TestFileSet_Copy:
  
          FileSet.__len__ = my_len
          fs = FileSet(tiny)
diff --git a/debian/patches/sphinx_no_git.patch b/debian/patches/sphinx_no_git.patch
index 89b1262..52da7f0 100644
--- a/debian/patches/sphinx_no_git.patch
+++ b/debian/patches/sphinx_no_git.patch
@@ -1,11 +1,19 @@
-Author: Andreas Tille <tille at debian.org>
+From: Andreas Tille <tille at debian.org>
+Date: Mon, 11 May 2026 10:53:29 +0200
+Subject: We are not in a Git repository thus prevent sphinx from assuming we
+ are
+
 Last-Update: 2023-12-07
-Description: We are not in a Git repository thus prevent sphinx from assuming we are
 Forwarded: Not needed
+---
+ build_tools/sphinx/github_link.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
 
+diff --git a/build_tools/sphinx/github_link.py b/build_tools/sphinx/github_link.py
+index dd207ab..e7bd3dc 100644
 --- a/build_tools/sphinx/github_link.py
 +++ b/build_tools/sphinx/github_link.py
-@@ -84,6 +84,6 @@ def make_linkcode_resolve(package, url_f
+@@ -84,6 +84,6 @@ def make_linkcode_resolve(package, url_fmt):
                                     'blob/{revision}/{package}/'
                                     '{path}#L{lineno}')
      """


More information about the Debian-med-packaging mailing list