'Tracking all the attributes as they change over time is
not desirable. Instead we populate the instance\'s __dict__
by introspecting orig.
Args:
orig: testobj; Framework test result instance to copy.'

def __init__(self, orig):

    for (key, val) in orig.__dict__.iteritems():
        if (key == 'kernel'):
            setattr(self, key, dict(val.__dict__))
        elif (key == 'iterations'):
            setattr(self, key, [dict(it.__dict__) for it in val])
        else:
            setattr(self, key, val)
