Skip to content
Snippets Groups Projects
  • Mitchel Humpherys's avatar
    lrdp-v2: register.py: add support for setting the register value · a2510954
    Mitchel Humpherys authored
    The Register class currently can't handle setting the `value'
    attribute. Fix this. Also add a `zero' convenience method for zeroing
    out a register.
    
    After adding the following doctest:
    
        >>> abc.value = 0
        >>> abc.value
        0
    
    but before fixing __setattr__, I get:
    
        **********************************************************************
        File "register.py", line 42, in __main__.Register
        Failed example:
            abc.value = 0
        Exception raised:
            Traceback (most recent call last):
              File "/usr/lib/python2.7/doctest.py", line 1289, in __run
                compileflags, 1) in test.globs
              File "<doctest __main__.Register[10]>", line 1, in <module>
                abc.value = 0
              File "register.py", line 106, in __setattr__
                raise AttributeError
            AttributeError
        **********************************************************************
        File "register.py", line 43, in __main__.Register
        Failed example:
            abc.value
        Expected:
            0
        Got:
            49
        **********************************************************************
        1 items had failures:
           2 of  20 in __main__.Register
        ***Test Failed*** 2 failures.
    
    After the fix in __setattr__, all tests pass successfully.
    
    Change-Id: I6d39261b139aae0def58f38a4291baad651b10e3
    a2510954
register.py 3.91 KiB