[gnome-continuous-yocto/gnomeostree-3.28-rocko: 5643/8267] oeqa/core/runner: Append PID in the test result folder name



commit 3f32ca2a572cc87a1f25c78ab89bf740c19db088
Author: Leonardo Sandoval <leonardo sandoval gonzalez linux intel com>
Date:   Wed Apr 12 09:12:07 2017 -0700

    oeqa/core/runner: Append PID in the test result folder name
    
    It was found a case (see the bugzilla entry) where two runners were running at the same
    second, creating identical test result folders, so one of them (the second runner)
    was not able to create the folder because the other has already created it,
    raising the following exception (many text was removed from log)
    
    NOTE: Executing RunQueue Tasks
    NOTE: Running task 1 of 2 
(/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-mips/build/meta/recipes-core/images/core-image-minimal.bb:do_testsdkext)
    NOTE: Running task 2 of 2 
(/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-mips/build/meta/recipes-sato/images/core-image-sato.bb:do_testsdkext)
    NOTE: recipe core-image-sato-1.0-r0: task do_testsdkext: Started
    NOTE: recipe core-image-minimal-1.0-r0: task do_testsdkext: Started
    .
    .
    The stack trace of python calls that resulted in this exception/failure was:
    File: 'exec_python_func() autogenerated', lineno: 2, function: <module>
         0001:
     *** 0002:do_testsdkext(d)
         0003:
    File: '/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-mips/build/meta/classes/testsdk.bbclass', 
lineno: 188, function: do_testsdkext
         0184:
         0185:testsdkext_main[vardepsexclude] =+ "BB_ORIGENV"
         0186:
         0187:python do_testsdkext() {
     *** 0188:    testsdkext_main(d)
         0189:}
         0190:addtask testsdkext
         0191:do_testsdkext[nostamp] = "1"
         0192:
    File: '/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-mips/build/meta/classes/testsdk.bbclass', 
lineno: 171, function: testsdkext_main
         0167:        except Exception as e:
         0168:            import traceback
         0169:            bb.fatal("Loading tests failed:\n%s" % traceback.format_exc())
         0170:
     *** 0171:        result = tc.runTests()
    .
    .
    File: '/usr/lib64/python3.5/os.py', lineno: 241, function: makedirs
         0237:            cdir = bytes(curdir, 'ASCII')
         0238:        if tail == cdir:           # xxx/newdir/. exists if xxx/newdir exists
         0239:            return
         0240:    try:
     *** 0241:        mkdir(name, mode)
         0242:    except OSError:
         0243:        # Cannot rely on checking for EEXIST, since the operating system
         0244:        # could give priority to other errors like EACCES or EROFS
         0245:        if not exist_ok or not path.isdir(name):
    Exception: FileExistsError: [Errno 17] File exists: 
'/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-mips/build/build/TestResults_20170409130114'
    
    [YOCTO #11318]
    
    (From OE-Core rev: 10aa09d39c1b70ce2a88f59601f1f8dbc96ed817)
    
    Signed-off-by: Leonardo Sandoval <leonardo sandoval gonzalez linux intel com>
    Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>

 meta/lib/oeqa/core/runner.py |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
---
diff --git a/meta/lib/oeqa/core/runner.py b/meta/lib/oeqa/core/runner.py
index 0f158c3..44ffecb 100644
--- a/meta/lib/oeqa/core/runner.py
+++ b/meta/lib/oeqa/core/runner.py
@@ -52,7 +52,7 @@ class OETestRunner(_TestRunner):
         if xmlEnabled:
             if not kwargs.get('output'):
                 kwargs['output'] = os.path.join(os.getcwd(),
-                        'TestResults_%s' % time.strftime("%Y%m%d%H%M%S"))
+                        'TestResults_%s_%s' % (time.strftime("%Y%m%d%H%M%S"), os.getpid()))
 
         super(OETestRunner, self).__init__(*args, **kwargs)
         self.tc = tc


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]