LaTeX-Workshop/test
2023-01-22 03:46:08 +08:00
..
config Correct macos GitHub Action folder 2023-01-09 13:36:15 +08:00
fixtures Resolve #3658 Add config intellisense.label.command to enable label definitions other than \label{} 2023-01-20 18:02:53 +08:00
suites Invoke structure only when all caching finished 2023-01-22 03:46:08 +08:00
README.md Remove remains 2022-12-30 10:23:16 +08:00
runTest.ts Remove remains 2022-12-30 10:23:16 +08:00

Overview

Executing tests

We start a new VS Code instance for testground and multiroot directories in test/fixtures/, which includes a series of TeX-related files for tests, and execute appropriate tests defined in suites/*.test.ts while skipping other tests not related to the directory. For tests of building a LaTeX file, we try to build a LaTeX file in the directory. If a PDF file is not generated, the test fails. The TeX files related are automatically created before the test and removed after.

How tests are executed via CLI

  1. runTest.ts starts a new VS Code instance for each fixture directory and executes suites/index.ts.
  2. Tests in *.test.ts are executed through test runTest() function defined in suites/utils.ts, which skip tests in *.test.ts if they are not related to the current fixture directory.

How tests are executed via VS Code launch

We have a Run Tests launch configuration in .vscode/launch.json. In the config item, the first args passed to code defines the workspace to open: testground typically, and multiroot/resource.code-workspace for the multi-root workspace tests. Additionally, the LATEXWORKSHOP_SUITE envvar defines the suites to be executed, separated by commas and all if left empty.

Executing Tests on GitHub Actions

Read .github/workflows to see how tests are executed on GitHub Actions.