llvm / llvm-project

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
http://llvm.org
Other
27.98k stars 11.55k forks source link

[llvm-lit] Enable lit internal shell by default #102704

Open connieyzhu opened 1 month ago

connieyzhu commented 1 month ago

This is a meta-issue that addresses the problem referenced in [RFC] Enabling the Lit Internal Shell by Default.

Brief problem summary: Many RUN line commands used in LLVM tests are written in a way that only works on POSIX-compliant shells, leading to issues on platforms like Windows or non-POSIX systems. To overcome these discrepancies, lit has an internal shell implementation designed to ensure uniform execution of these commands, regardless of the platform. Although the internal shell supports most common commands, it still lacks several capabilities that are necessary for it to become the default shell when running LLVM tests.

This meta-issue tracks the following issues: Subprojects:

Missing Capabilities Blocking Enablement:

  • 102374

    102383

    102395

    106627

Missing Capabilities Blocking Enablement:

  • 106601

    102384

    102389

    106249

Missing Capabilities Blocking Enablement:

  • 106594

    102382

Missing Capabilities Blocking Enablement:

  • 102377

    102696

Missing Capabilities Blocking Enablement:

  • 102388

    102401

    102693

    102399

Missing Capabilities Blocking Enablement:

  • 106598

    102398

    102397

    102695

    102386

    102399

    102389

    102380

    102385

    102384

    102401

    102382

    106142

    106111

This is a comprehensive list of all the features to be implemented. Feature List:

This issue will help track the progress of enabling the lit internal shell across all LLVM subprojects.

connieyzhu commented 2 weeks ago

@ldionne Hi there, it seems like libcxx in LLVM uses lit's internal shell as the default shell for running lit tests. Can you confirm if this is accurate?

ldionne commented 2 weeks ago

@ldionne Hi there, it seems like libcxx in LLVM uses lit's internal shell as the default shell for running lit tests. Can you confirm if this is accurate?

Yes, that's right. We made the transition some time ago (maybe 1-3 years) and haven't looked back.