mirror of
https://github.com/gitpod-io/gitpod.git
synced 2025-12-08 17:36:30 +00:00
23 lines
1.4 KiB
Markdown
23 lines
1.4 KiB
Markdown
## Tips and Tricks
|
|
|
|
### Run unit tests
|
|
The unit tests in `pkg/sync` must be run as `root` because they create files with various permissions/ownership.
|
|
It's easiest to run them using `cd pkg/content && go test -c && sudo ./content.test -test.v`.
|
|
Once you have build the test executable using `go test -c`, you can also run specific test or even testcases.
|
|
To run a specific test use `sudo ./content.test -test.run TestName`, to run a specific testcase use `sudo ./content.test -test.run TestName -execute testcaseName`.
|
|
|
|
_Beware_: when running all testcases (i.e. without `-execute`) the test itself will spawn a child process to recover from the permission drop across test cases.
|
|
This also means that not all `-test.` flags will be passed on to the children. At the moment it's only `-test.v`.
|
|
|
|
### Tracing / Jaeger
|
|
`ws-daemon` has OpenTracing instrumentation which means you can get traces out of ws-daemon.
|
|
At the moment we just print the traces as log messages. If you want to run ws-daemon with a remote
|
|
Jaeger installation, you should set the following [environment variables](https://github.com/jaegertracing/jaeger-client-go#environment-variables):
|
|
```
|
|
# set the Jaeger endpoint (e.g. an all-in-binary)
|
|
JAEGER_ENDPOINT=http://localhost:14268/api/traces
|
|
# set the sampler to const, to get all traces
|
|
JAEGER_SAMPLER_TYPE=const
|
|
# enable the constant sampler
|
|
JAEGER_SAMPLER_PARAM=1
|
|
``` |