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 (
@@ -629,8 +629,9 @@ class TestPrepareAndUploadRuntimeScripts:
629629 @patch ("sagemaker.core.remote_function.job.S3Uploader" )
630630 @patch ("sagemaker.core.remote_function.job._tmpdir" )
631631 @patch ("sagemaker.core.remote_function.job.shutil" )
632+ @patch ("builtins.open" , new_callable = mock_open )
632633 def test_without_spark_or_distributed (
633- self , mock_shutil , mock_tmpdir , mock_uploader , mock_session
634+ self , mock_file , mock_shutil , mock_tmpdir , mock_uploader , mock_session
634635 ):
635636 """Test without Spark or distributed training."""
636637 mock_tmpdir .return_value .__enter__ = Mock (return_value = "/tmp/test" )
@@ -646,7 +647,8 @@ def test_without_spark_or_distributed(
646647 @patch ("sagemaker.core.remote_function.job.S3Uploader" )
647648 @patch ("sagemaker.core.remote_function.job._tmpdir" )
648649 @patch ("sagemaker.core.remote_function.job.shutil" )
649- def test_with_spark (self , mock_shutil , mock_tmpdir , mock_uploader , mock_session ):
650+ @patch ("builtins.open" , new_callable = mock_open )
651+ def test_with_spark (self , mock_file , mock_shutil , mock_tmpdir , mock_uploader , mock_session ):
650652 """Test with Spark config."""
651653 mock_tmpdir .return_value .__enter__ = Mock (return_value = "/tmp/test" )
652654 mock_tmpdir .return_value .__exit__ = Mock (return_value = False )
@@ -662,7 +664,8 @@ def test_with_spark(self, mock_shutil, mock_tmpdir, mock_uploader, mock_session)
662664 @patch ("sagemaker.core.remote_function.job.S3Uploader" )
663665 @patch ("sagemaker.core.remote_function.job._tmpdir" )
664666 @patch ("sagemaker.core.remote_function.job.shutil" )
665- def test_with_torchrun (self , mock_shutil , mock_tmpdir , mock_uploader , mock_session ):
667+ @patch ("builtins.open" , new_callable = mock_open )
668+ def test_with_torchrun (self , mock_file , mock_shutil , mock_tmpdir , mock_uploader , mock_session ):
666669 """Test with torchrun."""
667670 mock_tmpdir .return_value .__enter__ = Mock (return_value = "/tmp/test" )
668671 mock_tmpdir .return_value .__exit__ = Mock (return_value = False )
@@ -677,7 +680,8 @@ def test_with_torchrun(self, mock_shutil, mock_tmpdir, mock_uploader, mock_sessi
677680 @patch ("sagemaker.core.remote_function.job.S3Uploader" )
678681 @patch ("sagemaker.core.remote_function.job._tmpdir" )
679682 @patch ("sagemaker.core.remote_function.job.shutil" )
680- def test_with_mpirun (self , mock_shutil , mock_tmpdir , mock_uploader , mock_session ):
683+ @patch ("builtins.open" , new_callable = mock_open )
684+ def test_with_mpirun (self , mock_file , mock_shutil , mock_tmpdir , mock_uploader , mock_session ):
681685 """Test with mpirun."""
682686 mock_tmpdir .return_value .__enter__ = Mock (return_value = "/tmp/test" )
683687 mock_tmpdir .return_value .__exit__ = Mock (return_value = False )
0 commit comments