Skip to content
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

単体テストに関するドキュメントをサブディレクトリに移動する #1654

Merged
5 commits merged into from May 3, 2021
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@ https://ci.appveyor.com/project/sakuraeditor/sakura/history

### 単体テスト

[単体テスト](unittest.md) を参照
[こちら](tests/unittest.md) を参照してください。

### デバッグ方法

Expand Down
4 changes: 2 additions & 2 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ trigger:
- tools/find-tools.md
- tools/macro/macro.md
- tools/zip/readme.md
- unittest.md
- tests/unittest.md
- vcx-props/project-PlatformToolset.md

###############################################################################################################################
Expand Down Expand Up @@ -77,7 +77,7 @@ pr:
- tools/find-tools.md
- tools/macro/macro.md
- tools/zip/readme.md
- unittest.md
- tests/unittest.md
- vcx-props/project-PlatformToolset.md

###############################################################################################################################
Expand Down
44 changes: 25 additions & 19 deletions unittest.md → tests/unittest.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,13 +31,14 @@ cmake を実行することにより、各プラットフォームに固有の

googletest を使用して作成する単体テストも cmake でビルド設定を行います。
Copy link
Contributor

@beru beru May 2, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

コマンド名は全て小文字の cmake ですが固有名詞としては CMake なので記述を変えたほうが良いと思います。

とはいえ、cmake の見出し以降で全て小文字で書かれているので置き換えるとなると箇所が多いですね。

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ci/build-envvars.md にも「appveyor」のままになっている箇所が残っているので、
今度機会があるときに直しておきます。

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ci/build-envvars.md にも「appveyor」のままになっている箇所が残っているので、
今度機会があるときに直しておきます。

githash.bat の GitHub Actions 対応の時に行うドキュメント更新に含めるつもりでしたが、対応方法を見直した結果ドキュメントは更新不要と判断したので、この「機会」も当分来ないかもしれません。


cmake は Visual Studio 2017 用のプロジェクト生成に対応しているため
Visual Studio 2017 用のプロジェクトを生成してビルドすれば
cmake は Visual Studio 用のプロジェクト生成に対応しているため
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ここも同様にコマンド名は全て小文字の cmake ですが固有名詞としては CMake なので記述を変えたほうが良いと思います。

Visual Studio 用のプロジェクトを生成してビルドすれば
GUI でステップ実行することができます。

## 単体テストのディレクトリ構造

- tests
- compiletests (コンパイルテスト用のファイルを置くディレクトリ)
- googletest (googletest 用のフォルダ。git submodule)
- unittests (単体テストの実体を置く。中の構成は要検討)
- build (ビルド時に生成されるフォルダ。git には登録しない)
Expand All @@ -50,31 +51,36 @@ GUI でステップ実行することができます。

| バッチファイル | 説明 |
----|----
|[tests\create-project.bat](tests/create-project.bat)| 単体テスト用のプロジェクトファイル作成するバッチファイル |
|[tests\build-project.bat](tests/build-project.bat) | 単体テスト用のプロジェクトをビルドするバッチファイル |
|[tests\run-tests.bat](tests/run-tests.bat) | 単体テストを実行するバッチファイル |
|[tests\build-and-test.bat](tests/build-and-test.bat)| appveyor.yml から呼ばれて上記を呼び出すバッチファイル |
|[tests\build-and-test.bat](build-and-test.bat) | ビルドと単体テストを順に行う |
|[tests\create-project.bat](create-project.bat) | 単体テスト用のプロジェクトファイルを作成する |
|[tests\build-project.bat](build-project.bat) | 単体テスト用のプロジェクトをビルドする |
|[tests\run-tests.bat](run-tests.bat) | 単体テストを実行する |

### 呼び出し構造

- [tests\build-and-test.bat](tests/build-and-test.bat)
- [tests\create-project.bat](tests/create-project.bat)
- cmake
- [tests\build-project.bat](tests/build-project.bat)
- cmake --build
- [tests\run-tests.bat](tests/run-tests.bat)
- tests*.exe を実行
- [tests\build-and-test.bat](build-and-test.bat)
- [tests\create-project.bat](create-project.bat)
- [build-gnu.bat](../build-gnu.bat) : Makefile をビルドする (platform が MinGW の場合)
- [build-sln.bat](../build-sln.bat) : ソリューションをビルドする (platform が Win32 または x64 の場合)
- git.exe
- cmake.exe
- [tests\build-project.bat](build-project.bat)
- git.exe
- cmake.exe
- [tests\run-tests.bat](run-tests.bat)
- tests\tests*.exe : 単体テストを実行する
- [tests\test_result_filter_tell_AppVeyor.bat](test_result_filter_tell_AppVeyor.bat) : AppVeyor のテストタブにテスト結果を出力する

### 使用するバッチファイルの引数

| バッチファイル | 第一引数 | 第二引数 |
----|----|----
|[tests\create-project.bat](tests/create-project.bat)| platform ("Win32" または "x64") | configuration ("Debug" または "Release") |
|[tests\build-project.bat](tests/build-project.bat) | platform ("Win32" または "x64") | configuration ("Debug" または "Release") |
|[tests\run-tests.bat](tests/run-tests.bat) | platform ("Win32" または "x64") | configuration ("Debug" または "Release") |
|[tests\build-and-test.bat](tests/build-and-test.bat)| platform ("Win32" または "x64" または "MinGW") | configuration ("Debug" または "Release") |
|[tests\build-and-test.bat](build-and-test.bat) | platform ("Win32" または "x64" または "MinGW") | configuration ("Debug" または "Release") |
|[tests\create-project.bat](create-project.bat) | platform ("Win32" または "x64") | configuration ("Debug" または "Release") |
|[tests\build-project.bat](build-project.bat) | platform ("Win32" または "x64") | configuration ("Debug" または "Release") |
|[tests\run-tests.bat](run-tests.bat) | platform ("Win32" または "x64") | configuration ("Debug" または "Release") |

## インクルードディレクトリ

[単体テスト用のCMakeLists.txt](tests/unittests/CMakeLists.txt) で [サクラエディタ用のディレクトリ](sakura_core)
インクルードディレクトリを指定するので、そこからの相対パスを指定すれば、サクラエディタのヘッダをインクルードできます。
単体テスト用の [CMakeLists.txt](unittests/CMakeLists.txt) で [サクラエディタ用のディレクトリ](../sakura_core)
インクルードディレクトリに指定しているので、そこからの相対パスを指定すれば、サクラエディタのヘッダをインクルードできます。