stash/scripts/test_db_generator
SmallCoccinelle 87709fd018
Errcheck phase 1 (#1715)
* Avoid redundant logging in migrations

Return the error and let the caller handle the logging of the error if
needed.

While here, defer m.Close() to the function boundary.

* Treat errors as values

Use %v rather than %s and pass the errors directly.

* Generate a wrapped error on stat-failure

* Log 3 unchecked errors

Rather than ignore errors, log them at
the WARNING log level.

The server has been functioning without these, so assume they are not at
the ERROR level.

* Propagate errors upward

Failure in path generation was ignored. Propagate the errors upward the
call stack, so it can be handled at the level of orchestration.

* Warn on errors

Log errors rather than quenching them.

Errors are logged at the Warn-level for now.

* Check error when creating test databases

Use the builtin log package and stop the program fatally on error.

* Add warnings to uncheck task errors

Focus on the task system in a single commit, logging unchecked
errors as warnings.

* Warn-on-error in API routes

Look through the API routes, and make sure errors are being logged if
they occur. Prefer the Warn-log-level because none of these has proven
to be fatal in the system up until now.

* Propagate error when adding Util API

* Propagate error on adding util API

* Return unhandled error

* JS log API: propagate and log errors

* JS Plugins: log GQL addition failures.

* Warn on failure to write to stdin

* Warn on failure to stop task

* Wrap viper.BindEnv

The current viper code only errors if no name is provided, so it should
never fail. Rewrite the code flow to factor through a panic-function.

This removes error warnings from this part of the code.

* Log errors in concurrency test

If we can't initialize the configuration, treat the test as a failure.

* Warn on errors in configuration code

* Plug an unchecked error in gallery zip walking

* Warn on screenshot serving failure

* Warn on encoder screenshot failure

* Warn on errors in path-handling code

* Undo the errcheck on configurations for now.

* Use one-line initializers where applicable

rather than using

  err := f()
  if err!= nil { ..

prefer the shorter

  if err := f(); err != nil { ..

If f() isn't too long of a name, or wraps a function with a body.
2021-09-21 09:34:25 +10:00
..
README.md Test database generator (#1513) 2021-06-23 08:29:10 +10:00
config.yml Test database generator (#1513) 2021-06-23 08:29:10 +10:00
female.txt Test database generator (#1513) 2021-06-23 08:29:10 +10:00
makeTestDB.go Errcheck phase 1 (#1715) 2021-09-21 09:34:25 +10:00
male.txt Test database generator (#1513) 2021-06-23 08:29:10 +10:00
naming.go Test database generator (#1513) 2021-06-23 08:29:10 +10:00
scene.txt Test database generator (#1513) 2021-06-23 08:29:10 +10:00
studio.txt Test database generator (#1513) 2021-06-23 08:29:10 +10:00
surname.txt Test database generator (#1513) 2021-06-23 08:29:10 +10:00

README.md

This is a quick and dirty go script for generating a contrived database for testing purposes.

Edit the config.yml file to your liking. The numbers indicate the number of objects to generate, the naming section indicates the files from which to generate names.

May cause unexpected behaviour if run against an existing database file.

To run - from the test_db_generator: go run .

The database file will be generated in the current directory.