boklm pushed to branch main at The Tor Project / Applications / RBM
Commits:
-
c88489dd
by Nicolas Vigier at 2026-02-11T12:44:50+01:00
5 changed files:
- lib/RBM/DefaultConfig.pm
- test.pl
- + test/projects/tmpdir_t1/config
- + test/projects/tmpdir_t2/config
- + test/projects/tmpdir_t3/config
Changes:
| ... | ... | @@ -88,14 +88,14 @@ sub docker_version { |
| 88 | 88 | |
| 89 | 89 | sub rbm_tmp_dir {
|
| 90 | 90 | my ($project, $options) = @_;
|
| 91 | - CORE::state $rbm_tmp_dir;
|
|
| 92 | - return $rbm_tmp_dir->dirname if $rbm_tmp_dir;
|
|
| 91 | + CORE::state %rbm_tmp_dir;
|
|
| 93 | 92 | my $tmp_dir = RBM::project_config($project, 'tmp_dir', $options)
|
| 94 | 93 | || RBM::exit_error('No tmp_dir specified');
|
| 94 | + return $rbm_tmp_dir{$tmp_dir}->dirname if $rbm_tmp_dir{$tmp_dir};
|
|
| 95 | 95 | make_path($tmp_dir);
|
| 96 | - $rbm_tmp_dir = File::Temp->newdir(TEMPLATE => 'rbm-XXXXXX',
|
|
| 96 | + $rbm_tmp_dir{$tmp_dir} = File::Temp->newdir(TEMPLATE => 'rbm-XXXXXX',
|
|
| 97 | 97 | DIR => $tmp_dir);
|
| 98 | - return $rbm_tmp_dir->dirname;
|
|
| 98 | + return $rbm_tmp_dir{$tmp_dir}->dirname;
|
|
| 99 | 99 | }
|
| 100 | 100 | |
| 101 | 101 | our %default_config = (
|
| 1 | 1 | #!/usr/bin/perl -w
|
| 2 | 2 | use strict;
|
| 3 | 3 | use Path::Tiny;
|
| 4 | -use Test::More tests => 45;
|
|
| 4 | +use Test::More tests => 46;
|
|
| 5 | 5 | use lib 'lib/';
|
| 6 | 6 | |
| 7 | 7 | sub set_target {
|
| ... | ... | @@ -282,6 +282,15 @@ my @tests = ( |
| 282 | 282 | target => [ 'wrong_sha512sum' ],
|
| 283 | 283 | fail_build => [ 'shasum', 'build' ],
|
| 284 | 284 | },
|
| 285 | + {
|
|
| 286 | + name => 'setting different tmp_dir per project',
|
|
| 287 | + step => 'build',
|
|
| 288 | + target => [],
|
|
| 289 | + build => [ 'tmpdir_t1', 'build' ],
|
|
| 290 | + files => {
|
|
| 291 | + 'out/tmpdir_t1.txt' => "/var/tmp\n/tmp\n",
|
|
| 292 | + },
|
|
| 293 | + },
|
|
| 285 | 294 | );
|
| 286 | 295 | |
| 287 | 296 | foreach my $test (@tests) {
|
| 1 | +filename: tmpdir_t1.txt
|
|
| 2 | +tmp_dir: /tmp
|
|
| 3 | +build: |
|
|
| 4 | + #!/bin/sh
|
|
| 5 | + set -e
|
|
| 6 | + cat tmpdir_t2.txt tmpdir_t3.txt > [% dest_dir %]/[% c('filename') %]
|
|
| 7 | +input_files:
|
|
| 8 | + - project: tmpdir_t2
|
|
| 9 | + refresh_input: 1
|
|
| 10 | + - project: tmpdir_t3
|
|
| 11 | + refresh_input: 1 |
| 1 | +filename: tmpdir_t2.txt
|
|
| 2 | +tmp_dir: /var/tmp
|
|
| 3 | +build: |
|
|
| 4 | + #!/bin/sh
|
|
| 5 | + set -e
|
|
| 6 | + dir=$(dirname $(dirname $(pwd)))
|
|
| 7 | + test "$dir" = '[% c("tmp_dir") %]'
|
|
| 8 | + echo "$dir" > [% dest_dir %]/[% c('filename') %] |
| 1 | +filename: tmpdir_t3.txt
|
|
| 2 | +tmp_dir: /tmp
|
|
| 3 | +build: |
|
|
| 4 | + #!/bin/sh
|
|
| 5 | + set -e
|
|
| 6 | + dir=$(dirname $(dirname $(pwd)))
|
|
| 7 | + test "$dir" = '[% c("tmp_dir") %]'
|
|
| 8 | + echo "$dir" > [% dest_dir %]/[% c('filename') %] |