Merge pull request #1568 from KLayout/issue-1565

Issue 1565
This commit is contained in:
Matthias Köfferlein 2023-12-14 22:17:23 +01:00 committed by GitHub
commit 0c0f52ae28
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 21 additions and 1 deletions

View File

@ -119,7 +119,9 @@ void check_error ()
int status = 0;
if (exc_value) {
tl::Variant st = python2c<tl::Variant> (exc_value.get ());
status = st.to_int ();
if (st.can_convert_to_int ()) {
status = st.to_int ();
}
}
throw tl::ExitException (status);

View File

@ -201,6 +201,14 @@ class KLayoutMain_TestClass < TestBase
out = `#{self.klayout_bin} -z -r #{File.join(File.dirname(__FILE__), "test12.rb")} 2>&1`
assert_equal(out, "Before exit()\n")
# sys.exit(0) - Python
out = `#{self.klayout_bin} -z -r #{File.join(File.dirname(__FILE__), "test12s.py")} 2>&1`
assert_equal(out, "Before exit()\n")
# quit() - Python (issue #1565)
out = `#{self.klayout_bin} -z -r #{File.join(File.dirname(__FILE__), "test12q.py")} 2>&1`
assert_equal(out, "Before quit()\n")
end
end

4
testdata/klayout_main/test12q.py vendored Normal file
View File

@ -0,0 +1,4 @@
print("Before quit()")
quit()

6
testdata/klayout_main/test12s.py vendored Normal file
View File

@ -0,0 +1,6 @@
import sys
print("Before exit()")
sys.exit(1)