1717import os
1818import pytest
1919import sys
20- from unittest .mock import Mock , patch , MagicMock , call
20+ from unittest .mock import Mock , patch , MagicMock , call , mock_open
2121from io import BytesIO
2222
2323from sagemaker .core .remote_function .job import (
@@ -632,8 +632,9 @@ class TestPrepareAndUploadRuntimeScripts:
632632 @patch ("sagemaker.core.remote_function.job.S3Uploader" )
633633 @patch ("sagemaker.core.remote_function.job._tmpdir" )
634634 @patch ("sagemaker.core.remote_function.job.shutil" )
635+ @patch ("builtins.open" , new_callable = mock_open )
635636 def test_without_spark_or_distributed (
636- self , mock_shutil , mock_tmpdir , mock_uploader , mock_session
637+ self , mock_file , mock_shutil , mock_tmpdir , mock_uploader , mock_session
637638 ):
638639 """Test without Spark or distributed training."""
639640 mock_tmpdir .return_value .__enter__ = Mock (return_value = "/tmp/test" )
@@ -649,7 +650,8 @@ def test_without_spark_or_distributed(
649650 @patch ("sagemaker.core.remote_function.job.S3Uploader" )
650651 @patch ("sagemaker.core.remote_function.job._tmpdir" )
651652 @patch ("sagemaker.core.remote_function.job.shutil" )
652- def test_with_spark (self , mock_shutil , mock_tmpdir , mock_uploader , mock_session ):
653+ @patch ("builtins.open" , new_callable = mock_open )
654+ def test_with_spark (self , mock_file , mock_shutil , mock_tmpdir , mock_uploader , mock_session ):
653655 """Test with Spark config."""
654656 mock_tmpdir .return_value .__enter__ = Mock (return_value = "/tmp/test" )
655657 mock_tmpdir .return_value .__exit__ = Mock (return_value = False )
@@ -665,7 +667,8 @@ def test_with_spark(self, mock_shutil, mock_tmpdir, mock_uploader, mock_session)
665667 @patch ("sagemaker.core.remote_function.job.S3Uploader" )
666668 @patch ("sagemaker.core.remote_function.job._tmpdir" )
667669 @patch ("sagemaker.core.remote_function.job.shutil" )
668- def test_with_torchrun (self , mock_shutil , mock_tmpdir , mock_uploader , mock_session ):
670+ @patch ("builtins.open" , new_callable = mock_open )
671+ def test_with_torchrun (self , mock_file , mock_shutil , mock_tmpdir , mock_uploader , mock_session ):
669672 """Test with torchrun."""
670673 mock_tmpdir .return_value .__enter__ = Mock (return_value = "/tmp/test" )
671674 mock_tmpdir .return_value .__exit__ = Mock (return_value = False )
@@ -680,7 +683,8 @@ def test_with_torchrun(self, mock_shutil, mock_tmpdir, mock_uploader, mock_sessi
680683 @patch ("sagemaker.core.remote_function.job.S3Uploader" )
681684 @patch ("sagemaker.core.remote_function.job._tmpdir" )
682685 @patch ("sagemaker.core.remote_function.job.shutil" )
683- def test_with_mpirun (self , mock_shutil , mock_tmpdir , mock_uploader , mock_session ):
686+ @patch ("builtins.open" , new_callable = mock_open )
687+ def test_with_mpirun (self , mock_file , mock_shutil , mock_tmpdir , mock_uploader , mock_session ):
684688 """Test with mpirun."""
685689 mock_tmpdir .return_value .__enter__ = Mock (return_value = "/tmp/test" )
686690 mock_tmpdir .return_value .__exit__ = Mock (return_value = False )
0 commit comments