mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-12-23 20:17:03 +01:00
Improve document for developers: Windows CGO, unit test option (#18140)
This commit is contained in:
parent
431e482e3f
commit
c99b8efba2
1 changed files with 12 additions and 2 deletions
|
@ -73,6 +73,7 @@ One of these three distributions of Make will run on Windows:
|
||||||
- MSYS2 is a collection of tools and libraries providing you with an easy-to-use environment for building, installing and running native Windows software, it includes MinGW-w64.
|
- MSYS2 is a collection of tools and libraries providing you with an easy-to-use environment for building, installing and running native Windows software, it includes MinGW-w64.
|
||||||
- In MingGW-w64, the binary is called `mingw32-make.exe` instead of `make.exe`. Add the `bin` folder to `PATH`.
|
- In MingGW-w64, the binary is called `mingw32-make.exe` instead of `make.exe`. Add the `bin` folder to `PATH`.
|
||||||
- In MSYS2, you can use `make` directly. See [MSYS2 Porting](https://www.msys2.org/wiki/Porting/).
|
- In MSYS2, you can use `make` directly. See [MSYS2 Porting](https://www.msys2.org/wiki/Porting/).
|
||||||
|
- To compile Gitea with CGO_ENABLED (eg: SQLite3), you might need to use [tdm-gcc](https://jmeubank.github.io/tdm-gcc/) instead of MSYS2 gcc, because MSYS2 gcc headers lack some Windows-only CRT functions like `_beginthread`.
|
||||||
- [Chocolatey package](https://chocolatey.org/packages/make). Run `choco install make`
|
- [Chocolatey package](https://chocolatey.org/packages/make). Run `choco install make`
|
||||||
|
|
||||||
**Note**: If you are attempting to build using make with Windows Command Prompt, you may run into issues. The above prompts (Git bash, or MinGW) are recommended, however if you only have command prompt (or potentially PowerShell) you can set environment variables using the [set](https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/set_1) command, e.g. `set TAGS=bindata`.
|
**Note**: If you are attempting to build using make with Windows Command Prompt, you may run into issues. The above prompts (Git bash, or MinGW) are recommended, however if you only have command prompt (or potentially PowerShell) you can set environment variables using the [set](https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/set_1) command, e.g. `set TAGS=bindata`.
|
||||||
|
@ -273,10 +274,17 @@ make test-sqlite-migration # with SQLite switched for the appropriate database
|
||||||
|
|
||||||
There are two types of test run by Gitea: Unit tests and Integration Tests.
|
There are two types of test run by Gitea: Unit tests and Integration Tests.
|
||||||
|
|
||||||
|
### Unit Tests
|
||||||
|
|
||||||
|
Unit tests are covered by `*_test.go` in `go test` system.
|
||||||
|
You can set environment variable `GITEA_UNIT_TESTS_VERBOSE=1` to see detail logs during the test.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
TAGS="bindata sqlite sqlite_unlock_notify" make test # Runs the unit tests
|
TAGS="bindata sqlite sqlite_unlock_notify" make test # Runs the unit tests
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Integration Tests
|
||||||
|
|
||||||
Unit tests will not and cannot completely test Gitea alone. Therefore, we
|
Unit tests will not and cannot completely test Gitea alone. Therefore, we
|
||||||
have written integration tests; however, these are database dependent.
|
have written integration tests; however, these are database dependent.
|
||||||
|
|
||||||
|
@ -288,10 +296,12 @@ will run the integration tests in an SQLite environment. Integration tests
|
||||||
require `git lfs` to be installed. Other database tests are available but
|
require `git lfs` to be installed. Other database tests are available but
|
||||||
may need adjustment to the local environment.
|
may need adjustment to the local environment.
|
||||||
|
|
||||||
Look at
|
Take a look at [`integrations/README.md`](https://github.com/go-gitea/gitea/blob/main/integrations/README.md)
|
||||||
[`integrations/README.md`](https://github.com/go-gitea/gitea/blob/main/integrations/README.md)
|
|
||||||
for more information and how to run a single test.
|
for more information and how to run a single test.
|
||||||
|
|
||||||
|
|
||||||
|
### Testing for a PR
|
||||||
|
|
||||||
Our continuous integration will test the code passes its unit tests and that
|
Our continuous integration will test the code passes its unit tests and that
|
||||||
all supported databases will pass integration test in a Docker environment.
|
all supported databases will pass integration test in a Docker environment.
|
||||||
Migration from several recent versions of Gitea will also be tested.
|
Migration from several recent versions of Gitea will also be tested.
|
||||||
|
|
Loading…
Reference in a new issue