<caseResult _class='hudson.tasks.junit.CaseResult'><age>2</age><className>OmeroPy.test.integration.test_thumbs.TestThumbs</className><duration>27.843</duration><errorDetails>assert -1 &gt;= 0
 +  where -1 = object #0 (::omero::RInt)\n{\n    _val = -1\n}.val
 +    where object #0 (::omero::RInt)\n{\n    _val = -1\n} = object #0 (::omero::model::Thumbnail)\n{\n    _id = object #1 (::omero::RLong)\n    {\n        _val = 1364\n    }\n    _details = object #2 (::omero::model::Details)\n    {\n        _owner = object #3 (::omero::model::Experimenter)\n        {\n            _id = object #4 (::omero::RLong)\n            {\n                _val = 4379\n            }\n            _details = &lt;nil&gt;\n            _loaded = False\n            _version = &lt;nil&gt;\n            _groupExperimenterMapSeq = \n            {\n            }\n            _groupExperimenterMapLoaded = False\n            _omeName = &lt;nil&gt;\n            _firstName = &lt;nil&gt;\n            _middleName = &lt;nil&gt;\n            _lastName = &lt;nil&gt;\n            _institution = &lt;nil&gt;\n            _ldap = &lt;nil&gt;\n            _email = &lt;nil&gt;\n            _config = \n            {\n            }\n            _annotationLinksSeq = \n            {\n            }\n            _annotationLinksLoaded = False\n            _annotationLinksCountPerOwner = \n            {\n            }\n        }\n        _group = object #5 (::omero::model::ExperimenterGroup)\n        {\n            _id = object #6 (::omero::RLong)\n            {\n                _val = 3245\n            }\n            _details = object #7 (::ome...&gt;\n        _image = &lt;nil&gt;\n        _relatedTo = &lt;nil&gt;\n        _pixelsType = &lt;nil&gt;\n        _significantBits = &lt;nil&gt;\n        _sizeX = &lt;nil&gt;\n        _sizeY = &lt;nil&gt;\n        _sizeZ = &lt;nil&gt;\n        _sizeC = &lt;nil&gt;\n        _sizeT = &lt;nil&gt;\n        _sha1 = &lt;nil&gt;\n        _dimensionOrder = &lt;nil&gt;\n        _physicalSizeX = &lt;nil&gt;\n        _physicalSizeY = &lt;nil&gt;\n        _physicalSizeZ = &lt;nil&gt;\n        _waveStart = &lt;nil&gt;\n        _waveIncrement = &lt;nil&gt;\n        _timeIncrement = &lt;nil&gt;\n        _methodology = &lt;nil&gt;\n        _planeInfoSeq = \n        {\n        }\n        _planeInfoLoaded = False\n        _pixelsFileMapsSeq = \n        {\n        }\n        _pixelsFileMapsLoaded = False\n        _pixelsFileMapsCountPerOwner = \n        {\n        }\n        _channelsSeq = \n        {\n        }\n        _channelsLoaded = False\n        _settingsSeq = \n        {\n        }\n        _settingsLoaded = False\n        _thumbnailsSeq = \n        {\n        }\n        _thumbnailsLoaded = False\n    }\n    _mimeType = object #24 (::omero::RString)\n    {\n        _val = image/jpeg\n    }\n    _sizeX = object #25 (::omero::RInt)\n    {\n        _val = 64\n    }\n    _sizeY = object #26 (::omero::RInt)\n    {\n        _val = 64\n    }\n    _ref = &lt;nil&gt;\n}.version
 +      where object #0 (::omero::model::Thumbnail)\n{\n    _id = object #1 (::omero::RLong)\n    {\n        _val = 1364\n    }\n    _details = object #2 (::omero::model::Details)\n    {\n        _owner = object #3 (::omero::model::Experimenter)\n        {\n            _id = object #4 (::omero::RLong)\n            {\n                _val = 4379\n            }\n            _details = &lt;nil&gt;\n            _loaded = False\n            _version = &lt;nil&gt;\n            _groupExperimenterMapSeq = \n            {\n            }\n            _groupExperimenterMapLoaded = False\n            _omeName = &lt;nil&gt;\n            _firstName = &lt;nil&gt;\n            _middleName = &lt;nil&gt;\n            _lastName = &lt;nil&gt;\n            _institution = &lt;nil&gt;\n            _ldap = &lt;nil&gt;\n            _email = &lt;nil&gt;\n            _config = \n            {\n            }\n            _annotationLinksSeq = \n            {\n            }\n            _annotationLinksLoaded = False\n            _annotationLinksCountPerOwner = \n            {\n            }\n        }\n        _group = object #5 (::omero::model::ExperimenterGroup)\n        {\n            _id = object #6 (::omero::RLong)\n            {\n                _val = 3245\n            }\n            _details = object #7 (::ome...&gt;\n        _image = &lt;nil&gt;\n        _relatedTo = &lt;nil&gt;\n        _pixelsType = &lt;nil&gt;\n        _significantBits = &lt;nil&gt;\n        _sizeX = &lt;nil&gt;\n        _sizeY = &lt;nil&gt;\n        _sizeZ = &lt;nil&gt;\n        _sizeC = &lt;nil&gt;\n        _sizeT = &lt;nil&gt;\n        _sha1 = &lt;nil&gt;\n        _dimensionOrder = &lt;nil&gt;\n        _physicalSizeX = &lt;nil&gt;\n        _physicalSizeY = &lt;nil&gt;\n        _physicalSizeZ = &lt;nil&gt;\n        _waveStart = &lt;nil&gt;\n        _waveIncrement = &lt;nil&gt;\n        _timeIncrement = &lt;nil&gt;\n        _methodology = &lt;nil&gt;\n        _planeInfoSeq = \n        {\n        }\n        _planeInfoLoaded = False\n        _pixelsFileMapsSeq = \n        {\n        }\n        _pixelsFileMapsLoaded = False\n        _pixelsFileMapsCountPerOwner = \n        {\n        }\n        _channelsSeq = \n        {\n        }\n        _channelsLoaded = False\n        _settingsSeq = \n        {\n        }\n        _settingsLoaded = False\n        _thumbnailsSeq = \n        {\n        }\n        _thumbnailsLoaded = False\n    }\n    _mimeType = object #24 (::omero::RString)\n    {\n        _val = image/jpeg\n    }\n    _sizeX = object #25 (::omero::RInt)\n    {\n        _val = 64\n    }\n    _sizeY = object #26 (::omero::RInt)\n    {\n        _val = 64\n    }\n    _ref = &lt;nil&gt;\n} = &lt;function TestThumbs.testThumbnailVersion.&lt;locals&gt;.get at 0x7f18521e2f20&gt;()</errorDetails><errorStackTrace>self = &lt;test.integration.test_thumbs.TestThumbs object at 0x7f18411f9f10&gt;
meth = 'set'

    @pytest.mark.parametrize("meth", ("one", "set",))
    def testThumbnailVersion(self, meth):
    
        assert meth in ("one", "set")
        i64 = rint(64)
    
        pix = self.missing_pyramid()
        q = ("select tb from Thumbnail tb "
             "where tb.pixels.id = %s "
             "order by tb.id desc ")
        q = q % pix
        p = ParametersI().page(0, 1)
    
        def get():
            return self.query.findByQuery(q, p)
    
        # Before anything has been called, there
        # should be no thumbnail
        assert not get()
    
        # At this stage, there should still be no
        # thumbnail
        tb = self.client.sf.createThumbnailStore()
        if meth == "one":
            tb.setPixelsId(int(pix))
            tb.resetDefaults()
            assert not tb.thumbnailExists(i64, i64)
            assert tb.isInProgress()
    
        # As soon as it's requested, it should have a -1
        # version to mark pyramid creation as ongoing.
        if meth == "one":
            before = tb.getThumbnail(i64, i64)
            assert not tb.thumbnailExists(i64, i64)
            assert tb.isInProgress()
        elif meth == "set":
            before = tb.getThumbnailSet(i64, i64, [int(pix)])
            before = before[int(pix)]
        assert get().version.val == -1
    
        # Now we wait until the pyramid has been created
        # and test that a proper version has been set.
        event = get_event("test_thumbs")
        secs = 20
        rps = self.client.sf.createRawPixelsStore()
        for x in range(secs):
            try:
                rps.setPixelsId(int(pix), True)
                event = None
                break
            except MissingPyramidException:
                event.wait(1)
        if event:
            assert "Pyramid was not generated %ss" % secs
    
        if meth == "one":
            # Re-load the thumbnail store now that
            # the pyramid is generated.
            tb.close()
            tb = self.client.sf.createThumbnailStore()
            if not tb.setPixelsId(int(pix)):
                tb.resetDefaults()
                tb.close()
                tb = self.client.sf.createThumbnailStore()
                assert tb.setPixelsId(int(pix))
            after = tb.getThumbnail(i64, i64)
            assert before != after
            assert tb.thumbnailExists(i64, i64)
            assert not tb.isInProgress()
        elif meth == "set":
            tb.getThumbnailSet(i64, i64, [int(pix)])
&gt;       assert get().version.val &gt;= 0
E       assert -1 &gt;= 0
E        +  where -1 = object #0 (::omero::RInt)\n{\n    _val = -1\n}.val
E        +    where object #0 (::omero::RInt)\n{\n    _val = -1\n} = object #0 (::omero::model::Thumbnail)\n{\n    _id = object #1 (::omero::RLong)\n    {\n        _val = 1364\n    }\n    _details = object #2 (::omero::model::Details)\n    {\n        _owner = object #3 (::omero::model::Experimenter)\n        {\n            _id = object #4 (::omero::RLong)\n            {\n                _val = 4379\n            }\n            _details = &lt;nil&gt;\n            _loaded = False\n            _version = &lt;nil&gt;\n            _groupExperimenterMapSeq = \n            {\n            }\n            _groupExperimenterMapLoaded = False\n            _omeName = &lt;nil&gt;\n            _firstName = &lt;nil&gt;\n            _middleName = &lt;nil&gt;\n            _lastName = &lt;nil&gt;\n            _institution = &lt;nil&gt;\n            _ldap = &lt;nil&gt;\n            _email = &lt;nil&gt;\n            _config = \n            {\n            }\n            _annotationLinksSeq = \n            {\n            }\n            _annotationLinksLoaded = False\n            _annotationLinksCountPerOwner = \n            {\n            }\n        }\n        _group = object #5 (::omero::model::ExperimenterGroup)\n        {\n            _id = object #6 (::omero::RLong)\n            {\n                _val = 3245\n            }\n            _details = object #7 (::ome...&gt;\n        _image = &lt;nil&gt;\n        _relatedTo = &lt;nil&gt;\n        _pixelsType = &lt;nil&gt;\n        _significantBits = &lt;nil&gt;\n        _sizeX = &lt;nil&gt;\n        _sizeY = &lt;nil&gt;\n        _sizeZ = &lt;nil&gt;\n        _sizeC = &lt;nil&gt;\n        _sizeT = &lt;nil&gt;\n        _sha1 = &lt;nil&gt;\n        _dimensionOrder = &lt;nil&gt;\n        _physicalSizeX = &lt;nil&gt;\n        _physicalSizeY = &lt;nil&gt;\n        _physicalSizeZ = &lt;nil&gt;\n        _waveStart = &lt;nil&gt;\n        _waveIncrement = &lt;nil&gt;\n        _timeIncrement = &lt;nil&gt;\n        _methodology = &lt;nil&gt;\n        _planeInfoSeq = \n        {\n        }\n        _planeInfoLoaded = False\n        _pixelsFileMapsSeq = \n        {\n        }\n        _pixelsFileMapsLoaded = False\n        _pixelsFileMapsCountPerOwner = \n        {\n        }\n        _channelsSeq = \n        {\n        }\n        _channelsLoaded = False\n        _settingsSeq = \n        {\n        }\n        _settingsLoaded = False\n        _thumbnailsSeq = \n        {\n        }\n        _thumbnailsLoaded = False\n    }\n    _mimeType = object #24 (::omero::RString)\n    {\n        _val = image/jpeg\n    }\n    _sizeX = object #25 (::omero::RInt)\n    {\n        _val = 64\n    }\n    _sizeY = object #26 (::omero::RInt)\n    {\n        _val = 64\n    }\n    _ref = &lt;nil&gt;\n}.version
E        +      where object #0 (::omero::model::Thumbnail)\n{\n    _id = object #1 (::omero::RLong)\n    {\n        _val = 1364\n    }\n    _details = object #2 (::omero::model::Details)\n    {\n        _owner = object #3 (::omero::model::Experimenter)\n        {\n            _id = object #4 (::omero::RLong)\n            {\n                _val = 4379\n            }\n            _details = &lt;nil&gt;\n            _loaded = False\n            _version = &lt;nil&gt;\n            _groupExperimenterMapSeq = \n            {\n            }\n            _groupExperimenterMapLoaded = False\n            _omeName = &lt;nil&gt;\n            _firstName = &lt;nil&gt;\n            _middleName = &lt;nil&gt;\n            _lastName = &lt;nil&gt;\n            _institution = &lt;nil&gt;\n            _ldap = &lt;nil&gt;\n            _email = &lt;nil&gt;\n            _config = \n            {\n            }\n            _annotationLinksSeq = \n            {\n            }\n            _annotationLinksLoaded = False\n            _annotationLinksCountPerOwner = \n            {\n            }\n        }\n        _group = object #5 (::omero::model::ExperimenterGroup)\n        {\n            _id = object #6 (::omero::RLong)\n            {\n                _val = 3245\n            }\n            _details = object #7 (::ome...&gt;\n        _image = &lt;nil&gt;\n        _relatedTo = &lt;nil&gt;\n        _pixelsType = &lt;nil&gt;\n        _significantBits = &lt;nil&gt;\n        _sizeX = &lt;nil&gt;\n        _sizeY = &lt;nil&gt;\n        _sizeZ = &lt;nil&gt;\n        _sizeC = &lt;nil&gt;\n        _sizeT = &lt;nil&gt;\n        _sha1 = &lt;nil&gt;\n        _dimensionOrder = &lt;nil&gt;\n        _physicalSizeX = &lt;nil&gt;\n        _physicalSizeY = &lt;nil&gt;\n        _physicalSizeZ = &lt;nil&gt;\n        _waveStart = &lt;nil&gt;\n        _waveIncrement = &lt;nil&gt;\n        _timeIncrement = &lt;nil&gt;\n        _methodology = &lt;nil&gt;\n        _planeInfoSeq = \n        {\n        }\n        _planeInfoLoaded = False\n        _pixelsFileMapsSeq = \n        {\n        }\n        _pixelsFileMapsLoaded = False\n        _pixelsFileMapsCountPerOwner = \n        {\n        }\n        _channelsSeq = \n        {\n        }\n        _channelsLoaded = False\n        _settingsSeq = \n        {\n        }\n        _settingsLoaded = False\n        _thumbnailsSeq = \n        {\n        }\n        _thumbnailsLoaded = False\n    }\n    _mimeType = object #24 (::omero::RString)\n    {\n        _val = image/jpeg\n    }\n    _sizeX = object #25 (::omero::RInt)\n    {\n        _val = 64\n    }\n    _sizeY = object #26 (::omero::RInt)\n    {\n        _val = 64\n    }\n    _ref = &lt;nil&gt;\n} = &lt;function TestThumbs.testThumbnailVersion.&lt;locals&gt;.get at 0x7f18521e2f20&gt;()

test/integration/test_thumbs.py:160: AssertionError</errorStackTrace><failedSince>1</failedSince><name>testThumbnailVersion[set]</name><properties></properties><skipped>false</skipped><status>FAILED</status></caseResult>