...
Code Block | ||
---|---|---|
| ||
func (s *someType) myFunctionName( arg1arg1 somepackage.SomeArgType, arg2arg2 int, arg3arg3 somepackage.SomeOtherType, ) (somepackage.SomeReturnType, error) { ... } |
If the return types need to be wrapped, use the same rules:
Code Block | ||
---|---|---|
| ||
func (s *someType) myFunctionName(
arg1 somepackage.SomeArgType, arg2 somepackage.SomeOtherType,
) (
somepackage.SomeReturnType,
somepackage.SomeOtherType,
error,
) {
...
} |
Exception when omitting repeated types for consecutive arguments: short and related arguments (e.g. `start, end int64`) should either go on the same line or the type should be repeated on each line -- no argument should appear by itself on a line with no type (confusing and brittle when edited).
...
We provide an alternative to table-driven tests (see next section) in CockroachDB via the datadriven test package.
Code Block |
---|
package datadriven // RunTest invokes a data-driven test. The test cases are contained in a // separate test file and are dynamically loaded, parsed, and executed by this // testing framework. By convention, test files are typically located in a // sub-directory called "testdata". Each test file has the following format: // // <command>[,<command>...] [arg | arg=val | arg=(val1, val2, ...)]... // <input to the command> // ---- // <expected results> // // The command input can contain blank lines. However, by default, the expected // results cannot contain blank lines. This alternate syntax allows the use of // blank lines: // // <command>[,<command>...] [arg | arg=val | arg=(val1, val2, ...)]... // <input to the command> // ---- // ---- // <expected results> // // <more expected results> // ---- // ---- // // To execute data-driven tests, pass the path of the test file as well as a // function which can interpret and execute whatever commands are present in // the test file. The framework invokes the function, passing it information // about the test case in a TestData struct. The function then returns the // actual results of the case, which this function compares with the expected // results, and either succeeds or fails the test. func RunTest(t *testing.T, path string, f func(d *TestData) string) |
...