mirror of
https://github.com/KLayout/klayout.git
synced 2026-09-06 09:17:42 +02:00
Merge remote-tracking branch 'origin/pymod' into pymod
This commit is contained in:
@@ -30,10 +30,25 @@ TEST(1)
|
||||
std::string fp (tl::testsrc ());
|
||||
fp += "/testdata/bd/strmrun.py";
|
||||
|
||||
std::string path = tl::combine_path (tl::get_inst_path (), "strmrun ") + fp;
|
||||
tl::InputPipe pipe (path);
|
||||
std::string cmd;
|
||||
|
||||
#if defined(__APPLE__)
|
||||
// NOTE: because of system integrity, MacOS does not inherit DYLD_LIBRARY_PATH to child
|
||||
// processes like sh. We need to port this variable explicitly.
|
||||
const char *ldpath_name = "DYLD_LIBRARY_PATH";
|
||||
const char *ldpath = getenv (ldpath_name);
|
||||
if (ldpath) {
|
||||
cmd += std::string (ldpath_name) + "=\"" + ldpath + "\"; export " + ldpath_name + "; ";
|
||||
}
|
||||
#endif
|
||||
|
||||
cmd += tl::combine_path (tl::get_inst_path (), "strmrun ") + fp;
|
||||
tl::info << cmd;
|
||||
|
||||
tl::InputPipe pipe (cmd);
|
||||
tl::InputStream is (pipe);
|
||||
std::string data = is.read_all ();
|
||||
tl::info << data;
|
||||
|
||||
EXPECT_EQ (data, "Hello, world (0,-42;42,0)!\n");
|
||||
}
|
||||
|
||||
@@ -53,7 +53,20 @@ int run_pymodtest (tl::TestBase *_this, const std::string &fn)
|
||||
|
||||
std::string text;
|
||||
{
|
||||
std::string cmd = std::string ("\"") + STRINGIFY (PYTHON) + "\" " + fp + " 2>&1";
|
||||
std::string cmd;
|
||||
|
||||
#if defined(__APPLE__)
|
||||
// NOTE: because of system integrity, MacOS does not inherit DYLD_LIBRARY_PATH to child
|
||||
// processes like sh. We need to port this variable explicitly.
|
||||
const char *ldpath_name = "DYLD_LIBRARY_PATH";
|
||||
const char *ldpath = getenv (ldpath_name);
|
||||
if (ldpath) {
|
||||
cmd += std::string (ldpath_name) + "=\"" + ldpath + "\"; export " + ldpath_name + "; ";
|
||||
}
|
||||
#endif
|
||||
|
||||
cmd += std::string ("\"") + STRINGIFY (PYTHON) + "\" " + fp + " 2>&1";
|
||||
|
||||
tl::info << cmd;
|
||||
tl::InputPipe pipe (cmd);
|
||||
tl::InputStream is (pipe);
|
||||
|
||||
@@ -967,7 +967,8 @@ void
|
||||
InputPipe::close ()
|
||||
{
|
||||
if (m_file != NULL) {
|
||||
fclose (m_file);
|
||||
pclose (m_file);
|
||||
// TODO: pclose delivers the exit code - we should indicate it as return value of close.
|
||||
m_file = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user