test/test.cpp | 39 +++++++++++++++++++++------------------ 1 file changed, 21 insertions(+), 18 deletions(-)
New commits: commit 65540da9dc7fdd533ae0a374ebe6c0b67ce25871 Author: Michael Meeks <michael.me...@collabora.com> AuthorDate: Mon May 13 15:39:14 2019 +0100 Commit: Michael Meeks <michael.me...@collabora.com> CommitDate: Tue May 14 21:29:12 2019 +0100 test: use process groups as well to allow concurrent make checks. Change-Id: Ib1a55f53c51835a8f9fb1c17146f30e887103906 diff --git a/test/test.cpp b/test/test.cpp index b76bbb02d..6fb933dde 100644 --- a/test/test.cpp +++ b/test/test.cpp @@ -168,11 +168,14 @@ bool runClientTests(bool standalone, bool verbose) // Versions assuming a single user, on a single machine #ifndef UNIT_CLIENT_TESTS -std::vector<int> getProcPids(const char* exec_filename, bool ignoreZombies = true) +std::vector<int> getProcPids(const char* exec_filename) { std::vector<int> pids; - // Crash all lokit processes. + // Ensure we're in the same group. + int grp = getpgrp(); + + // Get all lokit processes. for (auto it = Poco::DirectoryIterator(std::string("/proc")); it != Poco::DirectoryIterator(); ++it) { try @@ -196,24 +199,24 @@ std::vector<int> getProcPids(const char* exec_filename, bool ignoreZombies = tru std::string statString; Poco::StreamCopier::copyToString(stat, statString); Poco::StringTokenizer tokens(statString, " "); - if (tokens.count() > 3 && tokens[1] == exec_filename) + if (tokens.count() > 6 && tokens[1] == exec_filename) { - if (ignoreZombies) + // We could have several make checks running at once. + int kidGrp = std::atoi(tokens[4].c_str()); + if (kidGrp != grp) + continue; + + switch (tokens[2].c_str()[0]) { - switch (tokens[2].c_str()[0]) - { - // Dead & zombie markers for old and new kernels. - case 'x': - case 'X': - case 'Z': - break; - default: - pids.push_back(pid); - break; - } - } - else + // Dead & zombie markers for old and new kernels. + case 'x': + case 'X': + case 'Z': + break; + default: pids.push_back(pid); + break; + } } } } @@ -235,7 +238,7 @@ std::vector<int> getKitPids() int getLoolKitProcessCount() { - return getProcPids("(loolkit)", true).size(); + return getProcPids("(loolkit)").size(); } std::vector<int> getForKitPids() _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits