Giter Club home page Giter Club logo

ctest-lab's Introduction

Reusable Workflows

C++

GitHub Release

Build, test, and lint C++ projects

Action Release

GitHub Release

Automate releasing a new version of a GitHub workflow or action

Support File Quality

GitHub Release

A reusable workflow to ensure quality in dot files

ctest-lab's People

Contributors

brobeson avatar philipnelson5 avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

philipnelson5

ctest-lab's Issues

Use prettier for code formatting

  • Add a prettier configuration file.
  • Add a prettier check to the GH workflow.
  • Add documentation, probably to a contributing file.
  • Reformat all the code.

Remove the CTest: Discover Tests command

VS Code provides the command Test: Refresh Tests. This invokes CTest Lab's discover_tests() function.

  • Remove the command from package.json.
  • Remove the command from extension.ts.
  • Update the user manual so users know how to discover tests.
  • Update the change log.

Fix the workflow

With webpack (introduced in fb9faf2), the GH workflow fails. It cannot find logo.png because I had stop using the prepublish script.

Update CTest fixtures in the test view

If a user runs a single test, and that test requires a fixture, the fixture runs correctly. CTest ensures that. However, the extension cannot update the fixture in the Test view since it was not included in the run request. Try to find a way to update fixtures.

Run tests via the ctest command

With #13, CTest Lab runs the actual test executables. This prevents some CTest functionality from working, like test fixtures, required files, etc. Change the test runner so it uses CTest.

Run single tests

If the user clicks the Run Test button for a single test in the test view, CTest Lab should run just that test via ctest --tests-regex {test name}.

Read test results from a JUnit XML file

CTest can write test results in JUnit XML format:

ctest --output-junit file.xml

This seems a good method to read the test results. The run tests command can force this output, then read the output to set the tests' status in the VS Code UI. Here is an example file with forced test failure, disabled, and skipped results. After you download the file, change the extension from txt to xml.

test_results.txt

It seems the extension fails to activate

Using the extension installed from the marketplace, it doesn't seem to activate. The test view doesn't appear in the UI. The output channel is not present. And the CTest command is not in the palette. I introduce this bug in v0.3.0. The extension activates when I debug it though.

Add test run configurations for test labels

I think this might be the best way to support running tests by label. I can't think of another way to get the label from the test view filter to the extension to control the --labels-regex command option.

Activate the output channel prior to running tests

When the user runs tests, there is no immediate feedback except the spinning icons in the test view. The output channel pops up at the end of the run with the output. Activate the channel before executing CTest so users can get immediate test feedback.

Support older ctest without --output-junit support

Would it be possible to support older ctest installs that don't have --output-junit support? A simple Yes/No based on the ctest return status would be sufficient for my purposes, but bonus points if you can parse the --log-output format.

I'm currently stuck using ctest version 3.16.3

Add a Github workflow

Just add a simple workflow file that builds the extension. Later, I'll add linters and tests as part of issues specific to those tools.

Set skipped tests' descriptions to "not run"

If CTest skips a test, returning a status of "not run", then set that test's description in the test view to "(not run)". Be sure to clear that description if a subsequent test run does run the test.

How do I expand VS Code variables used in settings?

It's possible for VS Code settings to use variables:

{
  "cmake.buildDirectory": "${workspaceFolder}/../build"
}

When I fetch the setting value, I get the literal text ${workspaceFolder}:

const build_directory = vscode.workspace.getConfiguration("cmake")
  .get("buildDirectory");
// build_directory === "${workspaceFolder}/../build"

How can I ask VS Code to evaluate the variable? I haven't found anything in the extension API. I did find the vscode-variables package, but I couldn't get it to work.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.