Skip to content

Commit 79c1a91

Browse files
authored
Merge branch 'LeeKamentsky:master' into master
2 parents 2d88163 + 389fd87 commit 79c1a91

File tree

7 files changed

+58
-48
lines changed

7 files changed

+58
-48
lines changed

.github/workflows/python-publish.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,5 +27,5 @@ jobs:
2727
TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }}
2828
TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
2929
run: |
30-
python setup.py sdist bdist_wheel
31-
twine upload dist/*
30+
python -m build
31+
pip install dist/*.whl

_javabridge.pyx

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1082,35 +1082,35 @@ cdef class JB_Env:
10821082
result = unichr(cresult)
10831083
elif sig == 'S':
10841084
with nogil:
1085-
sresult = jnienv[0].CallShortMethodA(jnienv, klass, m_id, values)
1085+
sresult = jnienv[0].CallStaticShortMethodA(jnienv, klass, m_id, values)
10861086
result = sresult
10871087
elif sig == 'I':
10881088
with nogil:
1089-
iresult = jnienv[0].CallIntMethodA(jnienv, klass, m_id, values)
1089+
iresult = jnienv[0].CallStaticIntMethodA(jnienv, klass, m_id, values)
10901090
result = iresult
10911091
elif sig == 'J':
10921092
with nogil:
1093-
jresult = jnienv[0].CallLongMethodA(jnienv, klass, m_id, values)
1093+
jresult = jnienv[0].CallStaticLongMethodA(jnienv, klass, m_id, values)
10941094
result = jresult
10951095
elif sig == 'F':
10961096
with nogil:
1097-
fresult = jnienv[0].CallFloatMethodA(jnienv, klass, m_id, values)
1097+
fresult = jnienv[0].CallStaticFloatMethodA(jnienv, klass, m_id, values)
10981098
result = fresult
10991099
elif sig == 'D':
11001100
with nogil:
1101-
dresult = jnienv[0].CallDoubleMethodA(jnienv, klass, m_id, values)
1101+
dresult = jnienv[0].CallStaticDoubleMethodA(jnienv, klass, m_id, values)
11021102
result = dresult
11031103
elif sig[0] == 'L' or sig[0] == '[':
11041104
with nogil:
1105-
oresult = jnienv[0].CallObjectMethodA(jnienv, klass, m_id, values)
1105+
oresult = jnienv[0].CallStaticObjectMethodA(jnienv, klass, m_id, values)
11061106
if oresult == NULL:
11071107
result = None
11081108
else:
11091109
result, e = make_jb_object(self, oresult)
11101110
if e is not None:
11111111
raise e
11121112
elif sig == 'V':
1113-
self.env[0].CallVoidMethodA(self.env, c.c, m.id, values)
1113+
self.env[0].CallStaticVoidMethodA(self.env, c.c, m.id, values)
11141114
result = None
11151115
else:
11161116
free(<void *>values)

_javabridge_mac.pyx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,11 @@ cdef extern from "mac_javabridge_utils.h":
3131
int MacIsMainThread() nogil
3232
void MacRunLoopRunInMode(double) nogil
3333

34-
cdef void StopVM(JavaVM *vm):
34+
cdef void StopVM(JavaVM *vm) noexcept:
3535
MacStopVM()
3636

3737
#
3838
# Unused stub in Mac
3939
#
40-
cdef int CreateJavaVM(JavaVM **pvm, void **pEnv, void *args):
40+
cdef int CreateJavaVM(JavaVM **pvm, void **pEnv, void *args) noexcept:
4141
return -1

_javabridge_nomac.pyx

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -9,37 +9,37 @@ cdef extern from "jni.h":
99
ctypedef JNIInvokeInterface_ *JavaVM
1010

1111
ctypedef struct JNIInvokeInterface_:
12-
jint (*DestroyJavaVM)(JavaVM *vm) nogil
13-
jint (*AttachCurrentThread)(JavaVM *vm, void **penv, void *args) nogil
14-
jint (*DetachCurrentThread)(JavaVM *vm) nogil
15-
jint (*GetEnv)(JavaVM *vm, void **penv, jint version) nogil
16-
jint (*AttachCurrentThreadAsDaemon)(JavaVM *vm, void *penv, void *args) nogil
17-
jint JNI_CreateJavaVM(JavaVM **pvm, void **penv, void *args) nogil
18-
19-
cdef int MacStartVM(JavaVM **pvm, JavaVMInitArgs *pVMArgs, char *class_name) nogil:
12+
jint (*DestroyJavaVM)(JavaVM *vm) noexcept nogil
13+
jint (*AttachCurrentThread)(JavaVM *vm, void **penv, void *args) noexcept nogil
14+
jint (*DetachCurrentThread)(JavaVM *vm) noexcept nogil
15+
jint (*GetEnv)(JavaVM *vm, void **penv, jint version) noexcept nogil
16+
jint (*AttachCurrentThreadAsDaemon)(JavaVM *vm, void *penv, void *args) noexcept nogil
17+
jint JNI_CreateJavaVM(JavaVM **pvm, void **penv, void *args) noexcept nogil
18+
19+
cdef int MacStartVM(JavaVM **pvm, JavaVMInitArgs *pVMArgs, char *class_name) noexcept nogil:
2020
return -1
2121

22-
cdef void StopVM(JavaVM *vm) nogil:
22+
cdef void StopVM(JavaVM *vm) noexcept nogil:
2323
vm[0].DestroyJavaVM(vm)
2424

25-
cdef void MacRunLoopInit() nogil:
25+
cdef void MacRunLoopInit() noexcept nogil:
2626
pass
2727

28-
cdef void MacRunLoopRun() nogil:
28+
cdef void MacRunLoopRun() noexcept nogil:
2929
pass
3030

31-
cdef void MacRunLoopStop() nogil:
31+
cdef void MacRunLoopStop() noexcept nogil:
3232
pass
3333

34-
cdef void MacRunLoopReset() nogil:
34+
cdef void MacRunLoopReset() noexcept nogil:
3535
pass
3636

37-
cdef int MacIsMainThread() nogil:
37+
cdef int MacIsMainThread() noexcept nogil:
3838
return 0
3939

40-
cdef void MacRunLoopRunInMode(double timeout) nogil:
40+
cdef void MacRunLoopRunInMode(double timeout) noexcept nogil:
4141
pass
4242

43-
cdef int CreateJavaVM(JavaVM **pvm, void **pEnv, void *args) nogil:
43+
cdef int CreateJavaVM(JavaVM **pvm, void **pEnv, void *args) noexcept nogil:
4444
return JNI_CreateJavaVM(pvm, pEnv, args)
4545

javabridge/locate.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,17 @@ def get_out(cmd):
133133
java_dir = get_out(["readlink", "-f", java_bin])
134134
java_version_string = get_out(["bash", "-c", "java -version"])
135135
if re.search('^openjdk', java_version_string, re.MULTILINE) is not None:
136-
jdk_dir = os.path.join(java_dir, "..", "..", "..")
136+
pattern = 'openjdk version "([^"]+)"'
137+
match = re.search(pattern, java_version_string, re.MULTILINE)
138+
if match:
139+
version = match.groups()[0]
140+
if version < "1.8":
141+
jdk_dir = os.path.join(java_dir, "..", "..", "..")
142+
else:
143+
jdk_dir = os.path.join(java_dir, "..", "..")
144+
else:
145+
raise RuntimeError("Failed to parse version from %s" %
146+
java_version_string)
137147
elif re.search('^java', java_version_string, re.MULTILINE) is not None:
138148
jdk_dir = os.path.join(java_dir, "..", "..")
139149
else:

javabridge/tests/test_jutil.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -620,7 +620,7 @@ def test_11_01_make_run_dictionary(self):
620620
"baz", a)
621621
d = make_run_dictionary(o)
622622
self.assertIn("foo", d)
623-
self.assertEquals(d["foo"], "bar")
623+
self.assertEqual(d["foo"], "bar")
624624
self.assertIn("baz", d)
625625
self.assertTrue(javabridge.call(d["baz"], "equals",
626626
"(Ljava/lang/Object;)Z", a))

javabridge/tests/test_wrappers.py

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -15,18 +15,18 @@ class TestJWrapper(unittest.TestCase):
1515
def test_01_01_init(self):
1616
jobj = J.get_env().new_string(u"Hello, world.")
1717
obj = J.JWrapper(jobj)
18-
self.assertEquals(jobj, obj.o)
18+
self.assertEqual(jobj, obj.o)
1919

2020
def test_01_02_call_noargs(self):
2121
jobj = J.get_env().new_string(u"Hello, world.")
2222
obj = J.JWrapper(jobj)
23-
self.assertEquals(obj.toLowerCase(), "hello, world.")
23+
self.assertEqual(obj.toLowerCase(), "hello, world.")
2424

2525
def test_01_03_call_args(self):
2626
jobj = J.get_env().new_string(u"Hello, world.")
2727
obj = J.JWrapper(jobj)
2828
result = obj.replace("Hello,", "Goodbye cruel")
29-
self.assertEquals(result, "Goodbye cruel world.")
29+
self.assertEqual(result, "Goodbye cruel world.")
3030

3131
def test_01_04_call_varargs(self):
3232
sclass = J.JWrapper(J.class_for_name("java.lang.String"));
@@ -41,52 +41,52 @@ def test_01_04_call_varargs(self):
4141
def test_02_01_get_field(self):
4242
obj = J.JClassWrapper("org.cellprofiler.javabridge.test.RealRect")(
4343
1.5, 2.5, 3.5, 4.5)
44-
self.assertEquals(obj.x, 1.5)
44+
self.assertEqual(obj.x, 1.5)
4545

4646
def test_02_02_set_field(self):
4747
obj = J.JClassWrapper("org.cellprofiler.javabridge.test.RealRect")(
4848
1.5, 2.5, 3.5, 4.5)
4949
obj.x = 2.5
50-
self.assertEquals(obj.x, 2.5)
50+
self.assertEqual(obj.x, 2.5)
5151

5252
class TestJClassWrapper_Unboxing(unittest.TestCase):
5353
def setUp(self):
5454
self.i = J.JClassWrapper('java.lang.Integer')(3)
5555

5656
def test_01_01_int(self):
57-
self.assertEquals(int(self.i), 3)
57+
self.assertEqual(int(self.i), 3)
5858

5959
def test_01_02_float(self):
60-
self.assertEquals(float(self.i),3.0)
60+
self.assertEqual(float(self.i),3.0)
6161

6262
def test_01_03_str(self):
63-
self.assertEquals(str(self.i), '3')
63+
self.assertEqual(str(self.i), '3')
6464

6565
class TestJClassWrapper_Collection(unittest.TestCase):
6666
def setUp(self):
6767
self.a = J.JClassWrapper('java.util.ArrayList')()
68-
self.assertEquals(len(self.a), 0)
68+
self.assertEqual(len(self.a), 0)
6969
self.ints = [0,1,2,4,8,16]
70-
self.assertEquals(len(self.ints), 6)
70+
self.assertEqual(len(self.ints), 6)
7171
for i in self.ints:
7272
self.a.add(i)
7373

7474
def test_01_01_get_len(self):
75-
self.assertEquals(len(self.a), len(self.ints))
75+
self.assertEqual(len(self.a), len(self.ints))
7676

7777
def test_01_02_iterate(self):
7878
for x,y in zip(self.a, self.ints):
79-
self.assertEquals(x.intValue(), y)
79+
self.assertEqual(x.intValue(), y)
8080

8181
def test_01_03_get_index(self):
8282
for i in range(len(self.a)):
83-
self.assertEquals(self.a[i].intValue(), self.ints[i])
83+
self.assertEqual(self.a[i].intValue(), self.ints[i])
8484

8585
def test_01_04_set_index(self):
8686
for i in range(len(self.a)):
8787
self.a[i] = 10
8888
for i in range(len(self.a)):
89-
self.assertEquals(self.a[i].intValue(), 10)
89+
self.assertEqual(self.a[i].intValue(), 10)
9090

9191
class TestJClassWrapper(unittest.TestCase):
9292
def test_01_01_init(self):
@@ -95,21 +95,21 @@ def test_01_01_init(self):
9595
def test_01_02_field(self):
9696
c = J.JClassWrapper("java.lang.Short")
9797
field = c.MAX_VALUE
98-
self.assertEquals(field, (1 << 15)-1)
98+
self.assertEqual(field, (1 << 15)-1)
9999

100100
def test_02_03_static_call(self):
101101
c = J.JClassWrapper("java.lang.Integer")
102-
self.assertEquals(c.toString(123), "123")
102+
self.assertEqual(c.toString(123), "123")
103103

104104
def test_02_04_static_call_varargs(self):
105105
#
106106
# Test calling a static function with a variable number of
107107
# arguments.
108108
#
109109
c = J.JClassWrapper("java.lang.String")
110-
self.assertEquals(c.format("Hello, %s.", "world"),
110+
self.assertEqual(c.format("Hello, %s.", "world"),
111111
"Hello, world.")
112-
self.assertEquals(c.format("Goodbye %s %s.", "cruel", "world"),
112+
self.assertEqual(c.format("Goodbye %s %s.", "cruel", "world"),
113113
"Goodbye cruel world.")
114114

115115
def test_02_05_constructor_varargs(self):
@@ -163,7 +163,7 @@ def call():
163163
return "foo"
164164
proxy = J.JProxy('java.util.concurrent.Callable',
165165
dict(call = call))
166-
self.assertEquals(J.JWrapper(proxy.o).call(), "foo")
166+
self.assertEqual(J.JWrapper(proxy.o).call(), "foo")
167167

168168
if __name__=="__main__":
169169
import javabridge

0 commit comments

Comments
 (0)