Editing
C&I Wiki Portal/ToolsDevelopmentGuideline
(section)
Jump to navigation
Jump to search
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
=== Practices === ==== Languages to use ==== ===== Main Tooling ===== Plainbox, Checkbox, the providers and such are all written in Python3. ===== Job Files and Whitelists ===== Job Files are the same as they were in Checkbox, that is RFC822 compliant text files. See any file in the <code>jobs/</code> directory for examples. Whitelists are also simply text files, HOWEVER, you can also use regular expressions in job naming to pattern match jobs. ===== Test Scripts ===== These are scripts that perform actual testing. For example, a storage IO test, or a network performance test. Scripts can be written in pretty much anything that is compiled or has a valid interpreter installed on the System Under Test. The following are just a few examples of the languages you can write test scripts in: * Python3 * Bash * Ruby * Perl And some more complex ones * C/C++ * Go 'Please note that compiled languages will need special consideration and handling in order to get the packages to build properly. Packages are built for AMD64 and i386 for now. We have the capability to also compile them for OpenPower, ARM and ARM64, but that will require some porting work. In general, we advise the following for test scripts: * Python 3 for pretty much everything * BASH for one-liners and short simple scripts. Generally, if it starts feeling complex, it's time to re-write in Python3 * If you MUST use compiled languages, C but this is exceedingly rare and should only be done when something easier to maintain is not appropriate ==== Translations ==== We currently do not have any Translations for the tooling, nor are there plans to enable this. ==== Style Guide ==== The general rule is Python code should adhere to [https://www.python.org/dev/peps/pep-0008/ Python Foundation's PEP-8]. There are several tools to help you check your code for adherence such as [https://pypi.python.org/pypi/pep8/1.6.2 pep8] and [http://www.pylint.org/ Pylint] and many others.
Summary:
Please note that all contributions to OpenCompute may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
OpenCompute:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Navigation menu
Personal tools
Not logged in
Talk
Contributions
Create account
Log in
Namespaces
Page
Discussion
English
Views
Read
Edit
View history
More
Search
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Tools
What links here
Related changes
Special pages
Page information