You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@atlas.apache.org by sh...@apache.org on 2015/07/21 09:42:57 UTC

incubator-atlas git commit: ATLAS-56 atlas_config.py should give an informative error if jar or java binaries can't be found (dossett@gmail.com via shwethags)

Repository: incubator-atlas
Updated Branches:
  refs/heads/master 5e00edea2 -> b832faf0c


ATLAS-56 atlas_config.py should give an informative error if jar or java binaries can't be found (dossett@gmail.com via shwethags)


Project: http://git-wip-us.apache.org/repos/asf/incubator-atlas/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-atlas/commit/b832faf0
Tree: http://git-wip-us.apache.org/repos/asf/incubator-atlas/tree/b832faf0
Diff: http://git-wip-us.apache.org/repos/asf/incubator-atlas/diff/b832faf0

Branch: refs/heads/master
Commit: b832faf0c7982af4ad6cf776fb153614b5578383
Parents: 5e00ede
Author: Shwetha GS <ss...@hortonworks.com>
Authored: Tue Jul 21 13:12:21 2015 +0530
Committer: Shwetha GS <ss...@hortonworks.com>
Committed: Tue Jul 21 13:12:21 2015 +0530

----------------------------------------------------------------------
 release-log.txt                         |  1 +
 src/bin/atlas_config.py                 |  6 ++++++
 src/test/python/scripts/TestMetadata.py | 23 +++++++++++++++++++++++
 3 files changed, 30 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/b832faf0/release-log.txt
----------------------------------------------------------------------
diff --git a/release-log.txt b/release-log.txt
index 912632e..d655478 100644
--- a/release-log.txt
+++ b/release-log.txt
@@ -8,6 +8,7 @@ ATLAS-54 Rename configs in hive hook (shwethags)
 ATLAS-3 Mixed Index creation fails with Date types (suma.shivaprasad via shwethags)
 
 ALL CHANGES:
+ATLAS-56 atlas_config.py should give an informative error if jar or java binaries can't be found (dossett@gmail.com via shwethags)
 ATLAS-45 Entity submit fails (suma.shivaprasad via shwethags)
 ATLAS-46 Different data directory with restart (shwethags)
 ATLAS-81 atlas debian packaing fails in maven build (vijay_k via shwethags)

http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/b832faf0/src/bin/atlas_config.py
----------------------------------------------------------------------
diff --git a/src/bin/atlas_config.py b/src/bin/atlas_config.py
index 8a1f83d..a3a23ef 100755
--- a/src/bin/atlas_config.py
+++ b/src/bin/atlas_config.py
@@ -116,6 +116,9 @@ def java(classname, args, classpath, jvm_opts_list, logdir=None):
     else:
         prg = which("java")
 
+    if prg is None:
+        raise EnvironmentError('The java binary could not be found in your path or JAVA_HOME')
+
     commandline = [prg]
     commandline.extend(jvm_opts_list)
     commandline.append("-classpath")
@@ -131,6 +134,9 @@ def jar(path):
     else:
         prg = which("jar")
 
+    if prg is None:
+        raise EnvironmentError('The jar binary could not be found in your path or JAVA_HOME')
+
     commandline = [prg]
     commandline.append("-xf")
     commandline.append(path)

http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/b832faf0/src/test/python/scripts/TestMetadata.py
----------------------------------------------------------------------
diff --git a/src/test/python/scripts/TestMetadata.py b/src/test/python/scripts/TestMetadata.py
index d4b0457..9ca346d 100644
--- a/src/test/python/scripts/TestMetadata.py
+++ b/src/test/python/scripts/TestMetadata.py
@@ -19,6 +19,7 @@ limitations under the License.
 '''
 import sys
 
+from os import environ
 from mock import patch
 import unittest
 import logging
@@ -59,6 +60,28 @@ class TestMetadata(unittest.TestCase):
         ['-Datlas.log.dir=metadata_home/logs', '-Datlas.log.file=application.log', '-Datlas.home=metadata_home', '-Duser.dir=metadata_home', '-Datlas.conf=metadata_home/conf', '-Xmx1024m'],  'metadata_home/logs')
     pass
 
+  def test_jar_java_lookups_fail(self):
+    java_home = environ['JAVA_HOME']
+    del environ['JAVA_HOME']
+    orig_path = environ['PATH']
+    environ['PATH'] = "/dev/null"
+
+    self.assertRaises(EnvironmentError, mc.jar, "foo")
+    self.assertRaises(EnvironmentError, mc.java, "empty", "empty", "empty", "empty")
+
+    environ['JAVA_HOME'] = java_home
+    environ['PATH'] = orig_path
+
+  @patch.object(mc, "runProcess")
+  @patch.object(mc, "which", return_value="foo")
+  def test_jar_java_lookups_succeed_from_path(self, which_mock, runProcess_mock):
+    java_home = environ['JAVA_HOME']
+    del environ['JAVA_HOME']
+
+    mc.jar("foo")
+    mc.java("empty", "empty", "empty", "empty")
+
+    environ['JAVA_HOME'] = java_home
 
 if __name__ == "__main__":
   logging.basicConfig(format='%(asctime)s %(message)s', level=logging.DEBUG)