Fix race condition for WaitCondition with several signals

This fix is based on changes introduced in patch
Ibf9dd58a66a77d9ae9d4b519b0f11567977f416c.

Follow changes were done in this patch:
 - According previous item code for calculating metadata of
   wait_condition_handle was moved to separate method -
   normalise_signal_data().
 - Same method was implemented for BaseWaitConditionHandle class, which
   returns original signal data without changes.
 - handle_signal method for BaseWaitConditionHandle class was updated:
   * all code related with updating and verification metadata was moved
     to merge_signal_metadata internal method, which will be called from
     metadata_set method.
   * if/else block was changed to raise error in case, when metadata has
     wrong format, so else section was deleted.
 - corresponding tests for waitcondition resource, which expect several
   signals was added.

Change-Id: Ia25146a742ce79dbb0480d9053131216037e5305
Co-Authored-By: Zane Bitter <zbitter@redhat.com>
Closes-Bug: #1497274
(cherry picked from commit cb3183d0475ee959045dbf0098cd0d96b1ba1e98)
1 file changed
tree: 027219100c3af4375401af6bf92b3ac49e3e3a21
  1. common/
  2. functional/
  3. scenario/