[Piglit] [PATCH] Add more details to HACKING file.
Frank Henigman
fjhenigman at google.com
Wed Nov 13 11:19:22 PST 2013
Signed-off-by: Frank Henigman <fjhenigman at google.com>
---
Paul's patch for HACKING inspired me to go through my notes for mistakes I
made trying to contribute, and for suggestions seen on the list or irc.
Note: I do not have commit access.
HACKING | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/HACKING b/HACKING
index d96b994..815de5b 100644
--- a/HACKING
+++ b/HACKING
@@ -73,6 +73,9 @@ Basic formatting:
* Function return type and name go on successive lines
* Opening function brace goes on line by itself
* Opening statement braces go on same line as the 'for' or 'else'
+* Use /* C style comments */, not // C++ style
+* Don't write 'if (condition) statement;' on one line - put the statement on
+ a separate line. Braces around a single statement are optional.
The following indent command will generally format your code for piglit's
style:
@@ -94,6 +97,9 @@ Code conventions:
* Preprocessor macros should be UPPER_CASE
* Enumeration tokens should be UPPER_CASE
* Most other identifiers are lower_case_with_underscores
+* Library, executable, and source file names are '<base>_<api>.'
+ e.g. libpiglitutil_gles2
+* Test names are '<lowercasegroupname>-<testname>.' e.g. glsl-novertexdata
* Use int, float, bool except when GL types (GLint, GLfloat) are really needed
* Don't put declarations after code. For example:
if (x < 3)
@@ -102,10 +108,26 @@ Code conventions:
This will not compile with MSVC. The 'int y' declaration must be at the
top of the brace-block.
* Don't use named/designated initializers. They don't compile with MSVC.
+
+
+Test conventions:
+
+* The goal is to find bugs and demonstrate them as simply as possible, not
+ to measure performance or demonstrate features.
* Write tests that are easily read, understood and debugged. Long, complicated
functions are frowned upon.
* Don't try to test too much in a single test program. Most piglit programs
are less than 300 lines long.
+* If a test doesn't render anything, it doesn't need to set the window size.
+* Avoid changing an existing testing such that it might fail where it
+ previously passed. Break it into subtests and add a new subtest, or add
+ a new test which supersedes the old one.
+* Things that should be seen are drawn in green (or blue as a second color)
+ while red is for things that shouldn't be seen.
+* Calculate drawing coordinates from piglit_width/piglit_height as needed,
+ instead of hard coding.
+* If a test can safely run at the same time as other tests, add it as a
+ concurrent test in 'all.tests' (or wherever you add it).
Utility code:
--
1.8.4.1
More information about the Piglit
mailing list