@@ -2228,8 +2228,8 @@ TEST_F(BuildTest, FailedDepsParse) {
2228
2228
}
2229
2229
2230
2230
struct BuildWithQueryDepsLogTest : public BuildTest {
2231
- BuildWithQueryDepsLogTest () : BuildTest(&log_) {
2232
- }
2231
+ BuildWithQueryDepsLogTest ()
2232
+ : BuildTest(&log_), deps_log_file_( " ninja_deps " ) { }
2233
2233
2234
2234
~BuildWithQueryDepsLogTest () {
2235
2235
log_.Close ();
@@ -2241,12 +2241,13 @@ struct BuildWithQueryDepsLogTest : public BuildTest {
2241
2241
temp_dir_.CreateAndEnter (" BuildWithQueryDepsLogTest" );
2242
2242
2243
2243
std::string err;
2244
- ASSERT_TRUE (log_.OpenForWrite (" ninja_deps " , &err));
2244
+ ASSERT_TRUE (log_.OpenForWrite (deps_log_file_. path () , &err));
2245
2245
ASSERT_EQ (" " , err);
2246
2246
}
2247
2247
2248
2248
ScopedTempDir temp_dir_;
2249
2249
2250
+ ScopedFilePath deps_log_file_;
2250
2251
DepsLog log_;
2251
2252
};
2252
2253
@@ -2440,7 +2441,8 @@ TEST_F(BuildWithQueryDepsLogTest, TwoOutputsDepFileGCCOnlySecondaryOutput) {
2440
2441
// / builder_ it sets up, because we want pristine objects for
2441
2442
// / each build.
2442
2443
struct BuildWithDepsLogTest : public BuildTest {
2443
- BuildWithDepsLogTest () {}
2444
+ BuildWithDepsLogTest ()
2445
+ : build_log_file_(" build_log" ), deps_log_file_(" ninja_deps" ) {}
2444
2446
2445
2447
virtual void SetUp () {
2446
2448
BuildTest::SetUp ();
@@ -2453,6 +2455,8 @@ struct BuildWithDepsLogTest : public BuildTest {
2453
2455
}
2454
2456
2455
2457
ScopedTempDir temp_dir_;
2458
+ ScopedFilePath build_log_file_;
2459
+ ScopedFilePath deps_log_file_;
2456
2460
2457
2461
// / Shadow parent class builder_ so we don't accidentally use it.
2458
2462
void * builder_;
@@ -2466,14 +2470,15 @@ TEST_F(BuildWithDepsLogTest, Straightforward) {
2466
2470
" build out: cat in1\n "
2467
2471
" deps = gcc\n "
2468
2472
" depfile = in1.d\n " ;
2473
+
2469
2474
{
2470
2475
State state;
2471
2476
ASSERT_NO_FATAL_FAILURE (AddCatRule (&state));
2472
2477
ASSERT_NO_FATAL_FAILURE (AssertParse (&state, manifest));
2473
2478
2474
2479
// Run the build once, everything should be ok.
2475
2480
DepsLog deps_log;
2476
- ASSERT_TRUE (deps_log.OpenForWrite (" ninja_deps " , &err));
2481
+ ASSERT_TRUE (deps_log.OpenForWrite (deps_log_file_. path () , &err));
2477
2482
ASSERT_EQ (" " , err);
2478
2483
2479
2484
Builder builder (&state, config_, NULL , &deps_log, &fs_, &status_, 0 );
@@ -2503,8 +2508,8 @@ TEST_F(BuildWithDepsLogTest, Straightforward) {
2503
2508
2504
2509
// Run the build again.
2505
2510
DepsLog deps_log;
2506
- ASSERT_TRUE (deps_log.Load (" ninja_deps " , &state, &err));
2507
- ASSERT_TRUE (deps_log.OpenForWrite (" ninja_deps " , &err));
2511
+ ASSERT_TRUE (deps_log.Load (deps_log_file_. path () , &state, &err));
2512
+ ASSERT_TRUE (deps_log.OpenForWrite (deps_log_file_. path () , &err));
2508
2513
2509
2514
Builder builder (&state, config_, NULL , &deps_log, &fs_, &status_, 0 );
2510
2515
builder.command_runner_ .reset (&command_runner_);
@@ -2544,7 +2549,7 @@ TEST_F(BuildWithDepsLogTest, ObsoleteDeps) {
2544
2549
2545
2550
// Run the build once, everything should be ok.
2546
2551
DepsLog deps_log;
2547
- ASSERT_TRUE (deps_log.OpenForWrite (" ninja_deps " , &err));
2552
+ ASSERT_TRUE (deps_log.OpenForWrite (deps_log_file_. path () , &err));
2548
2553
ASSERT_EQ (" " , err);
2549
2554
2550
2555
Builder builder (&state, config_, NULL , &deps_log, &fs_, &status_, 0 );
@@ -2573,8 +2578,8 @@ TEST_F(BuildWithDepsLogTest, ObsoleteDeps) {
2573
2578
ASSERT_NO_FATAL_FAILURE (AssertParse (&state, manifest));
2574
2579
2575
2580
DepsLog deps_log;
2576
- ASSERT_TRUE (deps_log.Load (" ninja_deps " , &state, &err));
2577
- ASSERT_TRUE (deps_log.OpenForWrite (" ninja_deps " , &err));
2581
+ ASSERT_TRUE (deps_log.Load (deps_log_file_. path () , &state, &err));
2582
+ ASSERT_TRUE (deps_log.OpenForWrite (deps_log_file_. path () , &err));
2578
2583
2579
2584
Builder builder (&state, config_, NULL , &deps_log, &fs_, &status_, 0 );
2580
2585
builder.command_runner_ .reset (&command_runner_);
@@ -2638,12 +2643,12 @@ TEST_F(BuildWithDepsLogTest, TestInputMtimeRaceCondition) {
2638
2643
ASSERT_NO_FATAL_FAILURE (AssertParse (&state, manifest));
2639
2644
2640
2645
BuildLog build_log;
2641
- ASSERT_TRUE (build_log.Load (" build_log " , &err));
2642
- ASSERT_TRUE (build_log.OpenForWrite (" build_log " , *this , &err));
2646
+ ASSERT_TRUE (build_log.Load (build_log_file_. path () , &err));
2647
+ ASSERT_TRUE (build_log.OpenForWrite (build_log_file_. path () , *this , &err));
2643
2648
2644
2649
DepsLog deps_log;
2645
- ASSERT_TRUE (deps_log.Load (" ninja_deps " , &state, &err));
2646
- ASSERT_TRUE (deps_log.OpenForWrite (" ninja_deps " , &err));
2650
+ ASSERT_TRUE (deps_log.Load (deps_log_file_. path () , &state, &err));
2651
+ ASSERT_TRUE (deps_log.OpenForWrite (deps_log_file_. path () , &err));
2647
2652
2648
2653
BuildLog::LogEntry* log_entry = NULL ;
2649
2654
{
@@ -2720,12 +2725,12 @@ TEST_F(BuildWithDepsLogTest, TestInputMtimeRaceConditionWithDepFile) {
2720
2725
ASSERT_NO_FATAL_FAILURE (AssertParse (&state, manifest));
2721
2726
2722
2727
BuildLog build_log;
2723
- ASSERT_TRUE (build_log.Load (" build_log " , &err));
2724
- ASSERT_TRUE (build_log.OpenForWrite (" build_log " , *this , &err));
2728
+ ASSERT_TRUE (build_log.Load (build_log_file_. path () , &err));
2729
+ ASSERT_TRUE (build_log.OpenForWrite (build_log_file_. path () , *this , &err));
2725
2730
2726
2731
DepsLog deps_log;
2727
- ASSERT_TRUE (deps_log.Load (" ninja_deps " , &state, &err));
2728
- ASSERT_TRUE (deps_log.OpenForWrite (" ninja_deps " , &err));
2732
+ ASSERT_TRUE (deps_log.Load (deps_log_file_. path () , &state, &err));
2733
+ ASSERT_TRUE (deps_log.OpenForWrite (deps_log_file_. path () , &err));
2729
2734
2730
2735
{
2731
2736
Builder builder (&state, config_, &build_log, &deps_log, &fs_, &status_, 0 );
@@ -2871,7 +2876,7 @@ TEST_F(BuildWithDepsLogTest, RestatDepfileDependencyDepsLog) {
2871
2876
2872
2877
// Run the build once, everything should be ok.
2873
2878
DepsLog deps_log;
2874
- ASSERT_TRUE (deps_log.OpenForWrite (" ninja_deps " , &err));
2879
+ ASSERT_TRUE (deps_log.OpenForWrite (deps_log_file_. path () , &err));
2875
2880
ASSERT_EQ (" " , err);
2876
2881
2877
2882
Builder builder (&state, config_, NULL , &deps_log, &fs_, &status_, 0 );
@@ -2897,8 +2902,8 @@ TEST_F(BuildWithDepsLogTest, RestatDepfileDependencyDepsLog) {
2897
2902
2898
2903
// Run the build again.
2899
2904
DepsLog deps_log;
2900
- ASSERT_TRUE (deps_log.Load (" ninja_deps " , &state, &err));
2901
- ASSERT_TRUE (deps_log.OpenForWrite (" ninja_deps " , &err));
2905
+ ASSERT_TRUE (deps_log.Load (deps_log_file_. path () , &state, &err));
2906
+ ASSERT_TRUE (deps_log.OpenForWrite (deps_log_file_. path () , &err));
2902
2907
2903
2908
Builder builder (&state, config_, NULL , &deps_log, &fs_, &status_, 0 );
2904
2909
builder.command_runner_ .reset (&command_runner_);
@@ -2930,7 +2935,7 @@ TEST_F(BuildWithDepsLogTest, DepFileOKDepsLog) {
2930
2935
2931
2936
// Run the build once, everything should be ok.
2932
2937
DepsLog deps_log;
2933
- ASSERT_TRUE (deps_log.OpenForWrite (" ninja_deps " , &err));
2938
+ ASSERT_TRUE (deps_log.OpenForWrite (deps_log_file_. path () , &err));
2934
2939
ASSERT_EQ (" " , err);
2935
2940
2936
2941
Builder builder (&state, config_, NULL , &deps_log, &fs_, &status_, 0 );
@@ -2950,8 +2955,8 @@ TEST_F(BuildWithDepsLogTest, DepFileOKDepsLog) {
2950
2955
ASSERT_NO_FATAL_FAILURE (AssertParse (&state, manifest));
2951
2956
2952
2957
DepsLog deps_log;
2953
- ASSERT_TRUE (deps_log.Load (" ninja_deps " , &state, &err));
2954
- ASSERT_TRUE (deps_log.OpenForWrite (" ninja_deps " , &err));
2958
+ ASSERT_TRUE (deps_log.Load (deps_log_file_. path () , &state, &err));
2959
+ ASSERT_TRUE (deps_log.OpenForWrite (deps_log_file_. path () , &err));
2955
2960
ASSERT_EQ (" " , err);
2956
2961
2957
2962
Builder builder (&state, config_, NULL , &deps_log, &fs_, &status_, 0 );
@@ -3001,7 +3006,7 @@ TEST_F(BuildWithDepsLogTest, DiscoveredDepDuringBuildChanged) {
3001
3006
ASSERT_NO_FATAL_FAILURE (AssertParse (&state, manifest));
3002
3007
3003
3008
DepsLog deps_log;
3004
- ASSERT_TRUE (deps_log.OpenForWrite (" ninja_deps " , &err));
3009
+ ASSERT_TRUE (deps_log.OpenForWrite (deps_log_file_. path () , &err));
3005
3010
ASSERT_EQ (" " , err);
3006
3011
3007
3012
Builder builder (&state, config_, &build_log, &deps_log, &fs_, &status_, 0 );
@@ -3024,8 +3029,8 @@ TEST_F(BuildWithDepsLogTest, DiscoveredDepDuringBuildChanged) {
3024
3029
ASSERT_NO_FATAL_FAILURE (AssertParse (&state, manifest));
3025
3030
3026
3031
DepsLog deps_log;
3027
- ASSERT_TRUE (deps_log.Load (" ninja_deps " , &state, &err));
3028
- ASSERT_TRUE (deps_log.OpenForWrite (" ninja_deps " , &err));
3032
+ ASSERT_TRUE (deps_log.Load (deps_log_file_. path () , &state, &err));
3033
+ ASSERT_TRUE (deps_log.OpenForWrite (deps_log_file_. path () , &err));
3029
3034
ASSERT_EQ (" " , err);
3030
3035
3031
3036
Builder builder (&state, config_, &build_log, &deps_log, &fs_, &status_, 0 );
@@ -3047,8 +3052,8 @@ TEST_F(BuildWithDepsLogTest, DiscoveredDepDuringBuildChanged) {
3047
3052
ASSERT_NO_FATAL_FAILURE (AssertParse (&state, manifest));
3048
3053
3049
3054
DepsLog deps_log;
3050
- ASSERT_TRUE (deps_log.Load (" ninja_deps " , &state, &err));
3051
- ASSERT_TRUE (deps_log.OpenForWrite (" ninja_deps " , &err));
3055
+ ASSERT_TRUE (deps_log.Load (deps_log_file_. path () , &state, &err));
3056
+ ASSERT_TRUE (deps_log.OpenForWrite (deps_log_file_. path () , &err));
3052
3057
ASSERT_EQ (" " , err);
3053
3058
3054
3059
Builder builder (&state, config_, &build_log, &deps_log, &fs_, &status_, 0 );
@@ -3076,7 +3081,7 @@ TEST_F(BuildWithDepsLogTest, DepFileDepsLogCanonicalize) {
3076
3081
3077
3082
// Run the build once, everything should be ok.
3078
3083
DepsLog deps_log;
3079
- ASSERT_TRUE (deps_log.OpenForWrite (" ninja_deps " , &err));
3084
+ ASSERT_TRUE (deps_log.OpenForWrite (deps_log_file_. path () , &err));
3080
3085
ASSERT_EQ (" " , err);
3081
3086
3082
3087
Builder builder (&state, config_, NULL , &deps_log, &fs_, &status_, 0 );
@@ -3098,8 +3103,8 @@ TEST_F(BuildWithDepsLogTest, DepFileDepsLogCanonicalize) {
3098
3103
ASSERT_NO_FATAL_FAILURE (AssertParse (&state, manifest));
3099
3104
3100
3105
DepsLog deps_log;
3101
- ASSERT_TRUE (deps_log.Load (" ninja_deps " , &state, &err));
3102
- ASSERT_TRUE (deps_log.OpenForWrite (" ninja_deps " , &err));
3106
+ ASSERT_TRUE (deps_log.Load (deps_log_file_. path () , &state, &err));
3107
+ ASSERT_TRUE (deps_log.OpenForWrite (deps_log_file_. path () , &err));
3103
3108
ASSERT_EQ (" " , err);
3104
3109
3105
3110
Builder builder (&state, config_, NULL , &deps_log, &fs_, &status_, 0 );
@@ -3169,11 +3174,13 @@ TEST_F(BuildWithDepsLogTest, RestatMissingDepfileDepslog) {
3169
3174
fs_.Create (" out.d" , " out: header.h" );
3170
3175
fs_.Create (" header.h" , " " );
3171
3176
3172
- RebuildTarget (" out" , manifest, " build_log" , " ninja_deps" );
3177
+ RebuildTarget (" out" , manifest, build_log_file_.c_str (),
3178
+ deps_log_file_.c_str ());
3173
3179
ASSERT_EQ (2u , command_runner_.commands_ran_ .size ());
3174
3180
3175
3181
// Sanity: this rebuild should be NOOP
3176
- RebuildTarget (" out" , manifest, " build_log" , " ninja_deps" );
3182
+ RebuildTarget (" out" , manifest, build_log_file_.c_str (),
3183
+ deps_log_file_.c_str ());
3177
3184
ASSERT_EQ (0u , command_runner_.commands_ran_ .size ());
3178
3185
3179
3186
// Touch 'header.in', blank dependencies log (create a different one).
@@ -3182,24 +3189,26 @@ TEST_F(BuildWithDepsLogTest, RestatMissingDepfileDepslog) {
3182
3189
fs_.Tick ();
3183
3190
fs_.Create (" header.in" , " " );
3184
3191
3192
+ ScopedFilePath deps2_file_ (" ninja_deps2" );
3193
+
3185
3194
// (switch to a new blank deps_log "ninja_deps2")
3186
- RebuildTarget (" out" , manifest, " build_log " , " ninja_deps2 " );
3195
+ RebuildTarget (" out" , manifest, build_log_file_. c_str (), deps2_file_. c_str () );
3187
3196
ASSERT_EQ (2u , command_runner_.commands_ran_ .size ());
3188
3197
3189
3198
// Sanity: this build should be NOOP
3190
- RebuildTarget (" out" , manifest, " build_log " , " ninja_deps2 " );
3199
+ RebuildTarget (" out" , manifest, build_log_file_. c_str (), deps2_file_. c_str () );
3191
3200
ASSERT_EQ (0u , command_runner_.commands_ran_ .size ());
3192
3201
3193
3202
// Check that invalidating deps by target timestamp also works here
3194
3203
// Repeat the test but touch target instead of blanking the log.
3195
3204
fs_.Tick ();
3196
3205
fs_.Create (" header.in" , " " );
3197
3206
fs_.Create (" out" , " " );
3198
- RebuildTarget (" out" , manifest, " build_log " , " ninja_deps2 " );
3207
+ RebuildTarget (" out" , manifest, build_log_file_. c_str (), deps2_file_. c_str () );
3199
3208
ASSERT_EQ (2u , command_runner_.commands_ran_ .size ());
3200
3209
3201
3210
// And this build should be NOOP again
3202
- RebuildTarget (" out" , manifest, " build_log " , " ninja_deps2 " );
3211
+ RebuildTarget (" out" , manifest, build_log_file_. c_str (), deps2_file_. c_str () );
3203
3212
ASSERT_EQ (0u , command_runner_.commands_ran_ .size ());
3204
3213
}
3205
3214
@@ -3216,7 +3225,10 @@ TEST_F(BuildTest, WrongOutputInDepfileCausesRebuild) {
3216
3225
fs_.Create (" header.h" , " " );
3217
3226
fs_.Create (" foo.o.d" , " bar.o.d: header.h\n " );
3218
3227
3219
- RebuildTarget (" foo.o" , manifest, " build_log" , " ninja_deps" );
3228
+ ScopedFilePath build_log (" build_log" );
3229
+ ScopedFilePath deps_file (" ninja_deps" );
3230
+
3231
+ RebuildTarget (" foo.o" , manifest, build_log.c_str (), deps_file.c_str ());
3220
3232
ASSERT_EQ (1u , command_runner_.commands_ran_ .size ());
3221
3233
}
3222
3234
@@ -4173,7 +4185,7 @@ TEST_F(BuildWithDepsLogTest, ValidationThroughDepfile) {
4173
4185
ASSERT_NO_FATAL_FAILURE (AssertParse (&state, manifest));
4174
4186
4175
4187
DepsLog deps_log;
4176
- ASSERT_TRUE (deps_log.OpenForWrite (" ninja_deps " , &err));
4188
+ ASSERT_TRUE (deps_log.OpenForWrite (deps_log_file_. path () , &err));
4177
4189
ASSERT_EQ (" " , err);
4178
4190
4179
4191
Builder builder (&state, config_, NULL , &deps_log, &fs_, &status_, 0 );
@@ -4208,8 +4220,8 @@ TEST_F(BuildWithDepsLogTest, ValidationThroughDepfile) {
4208
4220
ASSERT_NO_FATAL_FAILURE (AssertParse (&state, manifest));
4209
4221
4210
4222
DepsLog deps_log;
4211
- ASSERT_TRUE (deps_log.Load (" ninja_deps " , &state, &err));
4212
- ASSERT_TRUE (deps_log.OpenForWrite (" ninja_deps " , &err));
4223
+ ASSERT_TRUE (deps_log.Load (deps_log_file_. path () , &state, &err));
4224
+ ASSERT_TRUE (deps_log.OpenForWrite (deps_log_file_. path () , &err));
4213
4225
ASSERT_EQ (" " , err);
4214
4226
4215
4227
Builder builder (&state, config_, NULL , &deps_log, &fs_, &status_, 0 );
0 commit comments