class_docstr: Basic tests on the build_data.py download_multiprocess.
class_docstr_tok: ["Basic","tests","on","the","build_data.py","download_multiprocess","."]
code: def test_connectionerror_download(self):
      with unittest.mock.patch("requests.Session.get") as Session:
          Session.side_effect = requests.exceptions.ConnectTimeout
          with testing_utils.tempdir() as tmpdir:
              with self.assertRaises(RuntimeError):
                  build_data.download(
                      "http://test.com/bad",
                      tmpdir,
                      "foo",
                      num_retries=3,
                  )
          assert Session.call_count == 3
  
imports: import os
  import pytest
  from parlai.core import build_data
  import unittest
  import unittest.mock
  import requests
  import parlai.utils.testing
  import multiprocessing
  from parlai.utils.io import PathManager
  from parlai.core.params import ParlaiParser
label_desc: Use image node_id 4 for calling the TestBuildData obj's underlying member method code with example usage: obj.test_connectionerror_download() without return types