Skip to content

[feat] Allow not using hashes in stage and output dirs#3679

Open
vkarak wants to merge 1 commit into
reframe-hpc:developfrom
vkarak:feat/stagedir-human-readable
Open

[feat] Allow not using hashes in stage and output dirs#3679
vkarak wants to merge 1 commit into
reframe-hpc:developfrom
vkarak:feat/stagedir-human-readable

Conversation

@vkarak

@vkarak vkarak commented Jun 5, 2026

Copy link
Copy Markdown
Contributor
  • New configuration option general.stagedir_hashes and the associated environment variable RFM_STAGEDIR_HASHES are introduced.

Closes #2670.

NOTE:

Conversely to the suggestion of symlinks in #2670, this PR introduces an on/off toggle to switch on or off the hashes (default is on). The reason is that if we had symlinks additionally to the hashes, then a recursive directory listing would list twice the same files.

- New configuration option `general.stagedir_hashes` and the associated
  environment variable `RFM_STAGEDIR_HASHES` are introduced.

Signed-off-by: Vasileios Karakasis <vkarak@gmail.com>
@vkarak vkarak added this to the ReFrame 4.11 milestone Jun 5, 2026
@vkarak vkarak requested review from gppezzi and victorusu June 5, 2026 22:43
@vkarak vkarak self-assigned this Jun 5, 2026
@vkarak vkarak changed the title Allow not using hashes in stage and output dirs [feat] Allow not using hashes in stage and output dirs Jun 5, 2026
@codecov

codecov Bot commented Jun 5, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 91.96%. Comparing base (c6a4b9b) to head (4e6f943).

Additional details and impacted files
@@           Coverage Diff            @@
##           develop    #3679   +/-   ##
========================================
  Coverage    91.96%   91.96%           
========================================
  Files           62       62           
  Lines        13769    13773    +4     
========================================
+ Hits         12662    12666    +4     
  Misses        1107     1107           

☔ View full report in Codecov by Harness.
📢 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.

Comment thread reframe/core/pipeline.py
if runtime.get_option('general/0/stagedir_hashes'):
test_name = self.short_name
else:
test_name = self.display_name.replace(' ', '')

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

would you consider '_', instead of joining the words?
It seems to me that it would be a bit more readable.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, because this is primarily meant to "compact" the parameters and it is consistent with the -n option behaviour where you select tests with MyTest%param=1 instead of MyTest %param=1. But actually I could be more precise and do replace(' %', '%') instead.

@victorusu victorusu left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@github-project-automation github-project-automation Bot moved this from Todo to In Progress in ReFrame Backlog Jun 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: In Progress

Development

Successfully merging this pull request may close these issues.

Add symlinks to the hashed dir with the test's human readable name

2 participants