rust-lang / rust-lang/git2-rs

Update to new ctest

Open
#1,262 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
2.1k
Forks
450
Avg merge
11m
Merged PRs (30d)
1

Description

ctest2 is no longer supported. Development has now migrated (back) to ctest, which is now maintained in the libc repository.

Unfortunately switching over doesn't look trivial. I have an attempt here. It required some tricks because ctest uses a different mechanism to expand macros than ctest2 did. It now uses rustc's -Z unpretty expander. However, that code does not support the ability to specify dependencies. I had to strip out the dependencies to get it to work.

I'm currently getting errors of invalid application of 'sizeof' or invalid application of 'alignof'. I think it is unhappy about "incomplete types". Perhaps there are some definitions that need to be filled out? Or skip some things?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Compare the ctest migration attempt on the ctest-new branch with the ctest implementation in libc, starting with ctest/src/macro_expansion.rs. Investigate the invalid sizeof/alignof errors and the removed dependency handling. Done means git2-rs uses maintained ctest and its checks complete without incomplete-type errors.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
build-system, testing
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.