Fixes invalid wait operations for gui 72/169572/2
authorRadoslaw Cybulski <r.cybulski@partner.samsung.com>
Wed, 7 Feb 2018 14:03:10 +0000 (15:03 +0100)
committerPaweł Stawicki <p.stawicki@samsung.com>
Wed, 7 Feb 2018 14:24:39 +0000 (15:24 +0100)
Change-Id: Id5c0105e484925bc56c5b1f0f561a69314bf8087

src/batch/BatchRunner.cpp
src/batch/EvaluationValue.hpp

index be6c2ce..33a64a4 100644 (file)
@@ -525,7 +525,7 @@ public:
        {
                if (name.empty()) {
                        auto h = self->contextInfo.lock();
-                       name = h->rootName;
+                       this->name = h->rootName;
                        searchForAnyChange = true;
                } else {
                        this->name = std::move(name);
@@ -536,10 +536,11 @@ private:
        bool predicate() override
        {
                auto h = self->contextInfo.lock();
-               auto res = h.waitForCondition(timeout, [&]() {
+               auto pred = [&]() {
                        return (searchForAnyChange && name != h->rootName) || (!searchForAnyChange && name == h->rootName);
-               });
-
+               };
+               if (pred()) return true;
+               auto res = h.waitForCondition(timeout, pred);
                if (!res) {
                        throw EvaluationFailure{} << "wait for gui ('" << name << "'): operation timeouted, " <<
                                                                          "current root name is '" << h->rootName << "'";
index fe2064d..3dcecc8 100644 (file)
@@ -288,7 +288,6 @@ namespace detail
                                const std::vector<EvaluationValue> &defaultArguments,
                                size_t consumeOnlyArguments = std::numeric_limits<size_t>::max())
                {
-                       DEBUG("%d %d", (int)I, (int)consumeOnlyArguments);
                        if (I >= consumeOnlyArguments) return;
                        try {
                                auto &s = I < sourceArgs.size() ? sourceArgs[I] : defaultArguments[I - firstDefaultArgIndex];