Skip to content

Refactor mkthreadsafe to C++#3666

Draft
JCGoran wants to merge 7 commits intomasterfrom
jelic/mkthreadsafe_refactor
Draft

Refactor mkthreadsafe to C++#3666
JCGoran wants to merge 7 commits intomasterfrom
jelic/mkthreadsafe_refactor

Conversation

@JCGoran
Copy link
Copy Markdown
Collaborator

@JCGoran JCGoran commented Nov 13, 2025

The mkthreadsafe script is a bit hard to follow, and error-prone due to its heavy use of grep. This is an attempt at rewriting it in C++ using NMODL's AST abilities. This means that mkthreadsafe no longer depends on POSIX tooling, and is much more maintainable.

TODO:

  • handle case when NEURON block is missing
  • rewrite CMake code so mkthreadsafe is built even without NRN_ENABLE_CORENEURON=ON
  • add tests

@sonarqubecloud
Copy link
Copy Markdown

@codecov
Copy link
Copy Markdown

codecov bot commented Nov 13, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 68.09%. Comparing base (967bf3a) to head (e443e6d).

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #3666   +/-   ##
=======================================
  Coverage   68.08%   68.09%           
=======================================
  Files         686      686           
  Lines      110904   110904           
=======================================
+ Hits        75508    75516    +8     
+ Misses      35396    35388    -8     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@azure-pipelines
Copy link
Copy Markdown

✔️ e443e6d -> Azure artifacts URL

@github-actions
Copy link
Copy Markdown
Contributor

✔️ e443e6d -> artifacts URL

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant