def setUp(self):
        # 'import setup' triggers running the setup script
        self.start(patch.dict(sys.modules))

        if 'setup' in sys.modules:
            del sys.modules['setup']

        self.setup_func = self.start(patch('setuptools.setup'))
Beispiel #2
0
 def test_hadoop_runner(self):
     # you can't instantiate a HadoopJobRunner without Hadoop installed
     launcher = MRJobLauncher(args=['--no-conf', '-r', 'hadoop', '',
                                    '--hadoop-streaming-jar', 'HUNNY'])
     with no_handlers_for_logger('mrjob.runner'):
         with patch.dict(os.environ, {'HADOOP_HOME': '100-Acre Wood'}):
             with launcher.make_runner() as runner:
                 self.assertIsInstance(runner, HadoopJobRunner)
Beispiel #3
0
 def test_hadoop_runner(self):
     # you can't instantiate a HadoopJobRunner without Hadoop installed
     launcher = MRJobLauncher(args=[
         '--no-conf', '-r', 'hadoop', '', '--hadoop-streaming-jar', 'HUNNY'
     ])
     with no_handlers_for_logger('mrjob.runner'):
         with patch.dict(os.environ, {'HADOOP_HOME': '100-Acre Wood'}):
             with launcher.make_runner() as runner:
                 self.assertIsInstance(runner, HadoopJobRunner)
Beispiel #4
0
 def test_resolve_path_but_not_name(self):
     with patch.dict(os.environ, {'HOME': '/home/foo',
                                  'USER': '******',
                                  'BAR': 'bar'}, clear=True):
         self.assertEqual(
             parse_setup_cmd(r'. ~/tmp/$USER/\$BAR.sh#$USER.sh'),
             ['. ',
              {'path': '/home/foo/tmp/foo/$BAR.sh',
               'name': '$USER.sh',
               'type': 'file'}])
Beispiel #5
0
 def test_resolve_path_but_not_name(self):
     with patch.dict(os.environ, {'HOME': '/home/foo',
                                  'USER': '******',
                                  'BAR': 'bar'}, clear=True):
         self.assertEqual(
             parse_setup_cmd(r'. ~/tmp/$USER/\$BAR.sh#$USER.sh'),
             ['. ',
              {'path': '/home/foo/tmp/foo/$BAR.sh',
               'name': '$USER.sh',
               'type': 'file'}])
Beispiel #6
0
    def test_libjars_environment_variables(self):
        job_dir = os.path.dirname(MRJob.mr_job_script())

        with patch.dict("os.environ", A="/path/to/a", B="b"):
            with patch.object(MRJob, "LIBJARS", ["$A/cookie.jar", "$B/honey.jar"]):
                job = MRJob()

                # libjars() peeks into envvars to figure out if the path
                # is relative or absolute
                self.assertEqual(
                    job.job_runner_kwargs()["libjars"], ["$A/cookie.jar", os.path.join(job_dir, "$B/honey.jar")]
                )
Beispiel #7
0
    def test_libjars_environment_variables(self):
        job_dir = os.path.dirname(MRJob.mr_job_script())

        with patch.dict('os.environ', A='/path/to/a', B='b'):
            with patch.object(MRJob, 'LIBJARS',
                              ['$A/cookie.jar', '$B/honey.jar']):
                job = MRJob()

                # libjars() peeks into envvars to figure out if the path
                # is relative or absolute
                self.assertEqual(
                    job._runner_kwargs()['libjars'],
                    ['$A/cookie.jar', os.path.join(job_dir, '$B/honey.jar')])
Beispiel #8
0
    def test_libjars_environment_variables(self):
        job_dir = os.path.dirname(MRJob.mr_job_script())

        with patch.dict('os.environ', A='/path/to/a', B='b'):
            with patch.object(MRJob, 'LIBJARS',
                              ['$A/cookie.jar', '$B/honey.jar']):
                job = MRJob()

                # libjars() peeks into envvars to figure out if the path
                # is relative or absolute
                self.assertEqual(
                    job._runner_kwargs()['libjars'],
                    ['$A/cookie.jar', os.path.join(job_dir, '$B/honey.jar')])
Beispiel #9
0
 def test_missing_hadoop_version(self):
     with patch.dict('os.environ', MOCK_HADOOP_VERSION=''):
         runner = HadoopJobRunner()
         self.assertRaises(Exception, runner.get_hadoop_version)
Beispiel #10
0
 def test_end_to_end_with_hadoop_2_0(self):
     with patch.dict('os.environ', MOCK_HADOOP_VERSION='2.0.0'):
         self._test_end_to_end()
Beispiel #11
0
 def test_path_from_environment(self):
     with patch.dict(os.environ, PATH=self.tmp_dir):
         self.assertEqual(which('shekondar'), self.shekondar_path)
Beispiel #12
0
 def test_missing_hadoop_version(self):
     with patch.dict('os.environ', MOCK_HADOOP_VERSION=''):
         runner = HadoopJobRunner()
         self.assertRaises(Exception, runner.get_hadoop_version)
Beispiel #13
0
 def test_no_path(self):
     with patch.dict(os.environ, clear=True):
         # make sure we protect find_executable() from missing $PATH
         # on Python 2.
         self.assertEqual(which('shekondar'), None)
Beispiel #14
0
 def test_resolve_path_but_not_name(self):
     with patch.dict(os.environ, {"HOME": "/home/foo", "USER": "******", "BAR": "bar"}, clear=True):
         self.assertEqual(
             parse_setup_cmd(r". ~/tmp/$USER/\$BAR.sh#$USER.sh"),
             [". ", {"path": "/home/foo/tmp/foo/$BAR.sh", "name": "$USER.sh", "type": "file"}],
         )
Beispiel #15
0
 def test_end_to_end_with_hadoop_2_0(self):
     with patch.dict('os.environ', MOCK_HADOOP_VERSION='2.0.0'):
         self._test_end_to_end()
Beispiel #16
0
 def test_path_from_environment(self):
     with patch.dict(os.environ, PATH=self.tmp_dir):
         self.assertEqual(which('shekondar'), self.shekondar_path)
Beispiel #17
0
 def test_no_path(self):
     with patch.dict(os.environ, clear=True):
         # make sure we protect find_executable() from missing $PATH
         # on Python 2.
         self.assertEqual(which('shekondar'), None)