-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve testing and try to fix MySQL hanging #32515
Conversation
08559e3
to
e40397d
Compare
e40397d
to
9dae8e7
Compare
85d01db
to
8fbff1b
Compare
f6fce34
to
211fc18
Compare
211fc18
to
b1a15bc
Compare
3d38c56
to
5aeb301
Compare
By some CI fine tunes ( |
Am I right that the major changes are as follows?
|
Exactly, these are the major changes, and by the way remove the "deleting repo" code in TestLinguist, it also saves a little time. And fine-tune the testlogger to make it output correct durations, and report the stack if a test gets stuck. |
Thanks for the confirmation! |
Yup, a lot of things are mixed in one PR .... (I haven't thought that it would become more and more complex .....) Updated the description of the PR, hopefully everything is listed there. |
* giteaofficial/main: Fix basic auth with webauthn (go-gitea#32531) Fix and refactor markdown rendering (go-gitea#32522) Fix large image overflow in comment page (go-gitea#31740) Improve testing and try to fix MySQL hanging (go-gitea#32515) Fix `recentupdate` sorting bugs (go-gitea#32505)
By some CI fine tunes (`run tests`), SQLite & MSSQL could complete in about 12~13 minutes (before > 14), MySQL could complete in 18 minutes (before: about 23 or even > 30) Major changes: 1. use tmpfs for MySQL storage 1. run `make test-mysql` instead of `make integration-test-coverage` because the code coverage is not really used at the moment. 1. refactor testlogger to make it more reliable and be able to report stuck stacktrace 1. do not requeue failed items when a queue is being flushed (failed items would keep failing and make flush uncompleted) 1. reduce the file sizes for testing 1. use math ChaCha20 random data instead of crypot/rand (for testing purpose only) 1. no need to `DeleteRepository` in `TestLinguist` 1. other related refactoring to make code easier to maintain
It's strange that TestLinguist hangs a lot with MySQL (and only MySQL). Update: due to MySQL tests have different indexer&queue behaviors.
Now, by some CI fine tunes (
run tests
), SQLite & MSSQL could complete in about 12~13 minutes (before > 14), MySQL could complete in 18 minutes (before: about 23 or even > 30)Major changes:
make test-mysql
instead ofmake integration-test-coverage
because the code coverage is not really used at the moment.DeleteRepository
inTestLinguist