854773ea9f
Bug dup cycles are not useful and the rest of the code is not prepared for them. Prohibit updates that create cycles. This required to restructure the code to move the check into the transaction, so that we can't get cycles even after concurrent updates. Fixes #1852 |
||
---|---|---|
.. | ||
static | ||
access_test.go | ||
access.go | ||
admin.go | ||
admin.html | ||
api.go | ||
app_test.go | ||
app.yaml | ||
bisect_test.go | ||
bug.html | ||
commit_poll_test.go | ||
config.go | ||
cron.yaml | ||
dashboard.go | ||
email_test.go | ||
entities.go | ||
error.html | ||
fix_test.go | ||
handler.go | ||
index.yaml | ||
jobs_test.go | ||
jobs.go | ||
mail_bisect_result.txt | ||
mail_bug.txt | ||
mail_test_result.txt | ||
main.go | ||
main.html | ||
notifications_test.go | ||
README.md | ||
reporting_email.go | ||
reporting_external.go | ||
reporting_test.go | ||
reporting.go | ||
repro_test.go | ||
templates.html | ||
terminal.html | ||
util_test.go |
Dashboard
dashboard
is an App Engine app that powers syzbot.
The main deployment is at syzkaller.appspot.com.
It is so-called Standard environment Go app.
To deploy and manage the app you need to install Google Cloud SDK.
For more details about App Engine refer to the docs.
Note: The app is not stable and is not officially supported. It's here only to power the main deployment.
Here is "big" picture of a possible setup:
Note: the vector source is here; to update: make a copy of the source, edit, download a png, update the png and include a link to your vector copy into the PR.
To deploy the app you need to add a .go
file with production config. The config specifies kernel namespaces,
bug reporting details, API keys, etc. Tests contain a config example, but it's not ready for
production use.
The app also needs one or more syz-ci instances running elsewhere. The syz-ci
instances
do the actual fuzzing, bisection, patch testing, etc.
The app can be deployed with gcloud app deploy/update
, refer to the docs for more details.
The app tests can be run with:
go test github.com/google/syzkaller/dashboard/app
During development it's handy to use -short
flag to not run the longest tests.
If any of the tests fail, use -v
flag to see log of what happens and -run
flag
to run a single test, e.g.:
go test -short -v -run=TestEmailReport github.com/google/syzkaller/dashboard/app