Skip to content

Latest commit

 

History

History
41 lines (30 loc) · 1.13 KB

HACKING.rst

File metadata and controls

41 lines (30 loc) · 1.13 KB

Nova Client Style Commandments

Nova Client Specific Commandments

None so far

Text encoding

  • Transitions between internal unicode and external strings should always be immediately and explicitly encoded or decoded.

  • All external text that is not explicitly encoded (database storage, commandline arguments, etc.) should be presumed to be encoded as utf-8.

    Wrong:

    mystring = infile.readline()
    myreturnstring = do_some_magic_with(mystring)
    outfile.write(myreturnstring)
    

    Right:

    mystring = infile.readline()
    mytext = s.decode('utf-8')
    returntext = do_some_magic_with(mytext)
    returnstring = returntext.encode('utf-8')
    outfile.write(returnstring)
    

Running Tests

The testing system is based on a combination of tox and stestr. If you just want to run the whole suite, run tox and all will be fine. However, if you'd like to dig in a bit more, you might want to learn some things about stestr itself.