shared: Fix recovery after an interrupted build
When build process is interrupted (like when the buildout process terminated by SIGKILL), building with shared leave the system in a state that looks like installation succeeded, so next execution will assume the part was properly installed. The behavior was something like this: if isSharedPartSignatureOK(): useThisAlreadyInstalledPart() else: writeSignatureInSharedPart() try: build() except: removeSharedPart() raise and when program is terminated during build step, the signature is there. The fix is to write signature later, algorithm becomes: if isSharedPartSignatureOK(): useThisAlreadyInstalledPart() else: try: build() except: removeSharedPart() raise writeSignatureInSharedPart() /reviewed-on !10
Status | Job ID | Name | Coverage | ||||||
---|---|---|---|---|---|---|---|---|---|
External | |||||||||
passed |
#38136
external
|
SlapOS.Eggs.UnitTest-Master.Python2 |
00:14:17
|
||||||
passed |
#38127
external
|
SlapOS.Eggs.UnitTest-Master.Python3 |
00:15:48
|
||||||
passed |
#37987
external
retried
|
SlapOS.Eggs.UnitTest-Master.Python2 |
00:16:52
|
||||||
passed |
#38020
external
retried
|
SlapOS.Eggs.UnitTest-Master.Python2 |
00:27:36
|
||||||
passed |
#38033
external
retried
|
SlapOS.Eggs.UnitTest-Master.Python2 |
00:14:57
|
||||||
passed |
#38057
external
retried
|
SlapOS.Eggs.UnitTest-Master.Python2 |
00:15:45
|
||||||
passed |
#38100
external
retried
|
SlapOS.Eggs.UnitTest-Master.Python2 |
00:13:30
|
||||||
passed |
#38042
external
retried
|
SlapOS.Eggs.UnitTest-Master.Python3 |
00:14:37
|
||||||
passed |
#37997
external
retried
|
SlapOS.Eggs.UnitTest-Master.Python3 |
00:23:21
|
||||||
passed |
#38011
external
retried
|
SlapOS.Eggs.UnitTest-Master.Python3 |
00:24:58
|
||||||
passed |
#38091
external
retried
|
SlapOS.Eggs.UnitTest-Master.Python3 |
00:15:52
|
||||||
passed |
#38066
external
retried
|
SlapOS.Eggs.UnitTest-Master.Python3 |
00:15:57
|
||||||