Test closing a Dag file processor that has no parse log file

The base class makes logger_filehandle optional for parse children other than
the Python one, but DagFileProcessorProcess still requires it, so nothing in
this layer reached the close path without one.
diff --git a/airflow-core/tests/unit/dag_processing/test_processor.py b/airflow-core/tests/unit/dag_processing/test_processor.py
index 0cb61aa..9006876 100644
--- a/airflow-core/tests/unit/dag_processing/test_processor.py
+++ b/airflow-core/tests/unit/dag_processing/test_processor.py
@@ -27,7 +27,7 @@
 import uuid
 import zipfile
 from collections.abc import Callable, Iterable
-from socket import socketpair
+from socket import socket, socketpair
 from typing import TYPE_CHECKING, Any, BinaryIO
 from unittest.mock import MagicMock, PropertyMock, patch
 
@@ -54,6 +54,7 @@
 from airflow.dag_processing.dagbag import DagBag
 from airflow.dag_processing.manager import DagFileProcessorManager, process_parse_results
 from airflow.dag_processing.processor import (
+    BaseDagFileProcessorProcess,
     DagFileParseRequest,
     DagFileParsingResult,
     DagFileProcessorProcess,
@@ -2546,6 +2547,25 @@
         }
 
 
+class TestBaseDagFileProcessorProcess:
+    @patch.object(BaseDagFileProcessorProcess, "cleanup_sockets_after_kill", autospec=True)
+    def test_close_without_log_file_handle_cleans_up_sockets(self, cleanup_sockets_after_kill):
+        proc = BaseDagFileProcessorProcess(
+            process_log=structlog.get_logger(),
+            id=uuid.uuid4(),
+            pid=1234,
+            process=MagicMock(spec=supervisor.ProcessTracker),
+            stdin=MagicMock(spec=socket),
+            client=MagicMock(spec=Client),
+            bundle_name="mybundle",
+            dag_file_rel_path="dags/my_dag.py",
+        )
+
+        proc.close()
+
+        cleanup_sockets_after_kill.assert_called_once_with(proc)
+
+
 class TestMultiTeamCallbackMetrics:
     """Tests for team_name tag on dag.callback_exceptions in multi-team mode."""