mirror of
https://github.com/pgbackrest/pgbackrest.git
synced 2024-12-14 10:13:05 +02:00
Remove test.pl --smart, --dev, and --dev-test options.
--smart is now the default mode. Since --dev is now just an alias for --no-optimize, remove it. --dev-test has been a noop for a while, so this seems like a good time to remove it. Also make the C auto-generator skip writing files that have not changed to avoid updating the timestamp.
This commit is contained in:
parent
1522cb4ed2
commit
9ee9b1fad6
@ -209,8 +209,6 @@ Examples of test runs are provided in the following sections. There are several
|
||||
|
||||
- `--run` - a number identifying the run within a test if testing a single run rather than the entire test
|
||||
|
||||
- `--dev` - sets several flags that are appropriate for development but should be omitted when performing final testing prior to submitting a Pull Request to the project. Most importantly, it reuses object files from the previous test run to speed testing.
|
||||
|
||||
- `--vm-out` - displays the test output (helpful for monitoring the progress)
|
||||
|
||||
- `--vm` - identifies the pre-built container when using Docker, otherwise the setting should be `none`
|
||||
@ -231,25 +229,30 @@ pgbackrest/test/test.pl --vm=none --dry-run
|
||||
|
||||
--- output ---
|
||||
|
||||
P00 INFO: test begin on x86_64 - log level info
|
||||
P00 INFO: test begin on aarch64 - log level info
|
||||
P00 INFO: configure build
|
||||
P00 INFO: builds required: bin
|
||||
--> P00 INFO: 70 tests selected
|
||||
--> P00 INFO: 72 tests selected
|
||||
|
||||
P00 INFO: P1-T01/70 - vm=none, module=common, test=error
|
||||
[filtered 67 lines of output]
|
||||
P00 INFO: P1-T69/70 - vm=none, module=performance, test=type
|
||||
P00 INFO: P1-T70/70 - vm=none, module=performance, test=storage
|
||||
P00 INFO: P1-T01/72 - vm=none, module=common, test=error
|
||||
[filtered 69 lines of output]
|
||||
P00 INFO: P1-T71/72 - vm=none, module=performance, test=type
|
||||
P00 INFO: P1-T72/72 - vm=none, module=performance, test=storage
|
||||
--> P00 INFO: DRY RUN COMPLETED SUCCESSFULLY
|
||||
```
|
||||
|
||||
pgbackrest-dev => Run a test
|
||||
```
|
||||
pgbackrest/test/test.pl --vm=none --dev --vm-out --module=common --test=wait
|
||||
pgbackrest/test/test.pl --vm=none --vm-out --module=common --test=wait
|
||||
|
||||
--- output ---
|
||||
|
||||
P00 INFO: test begin on x86_64 - log level info
|
||||
P00 INFO: check code autogenerate
|
||||
P00 INFO: test begin on aarch64 - log level info
|
||||
P00 INFO: autogenerate configure
|
||||
P00 INFO: autogenerated version in configure.ac script: no changes
|
||||
P00 INFO: autogenerated configure script: no changes
|
||||
P00 INFO: autogenerate code
|
||||
P00 INFO: autogenerated C code: no changes
|
||||
P00 INFO: cleanup old data
|
||||
P00 INFO: builds required: none
|
||||
P00 INFO: 1 test selected
|
||||
@ -296,12 +299,16 @@ An entire module can be run by using only the `--module` option.
|
||||
|
||||
pgbackrest-dev => Run a module
|
||||
```
|
||||
pgbackrest/test/test.pl --vm=none --dev --module=postgres
|
||||
pgbackrest/test/test.pl --vm=none --module=postgres
|
||||
|
||||
--- output ---
|
||||
|
||||
P00 INFO: test begin on x86_64 - log level info
|
||||
P00 INFO: check code autogenerate
|
||||
P00 INFO: test begin on aarch64 - log level info
|
||||
P00 INFO: autogenerate configure
|
||||
P00 INFO: autogenerated version in configure.ac script: no changes
|
||||
P00 INFO: autogenerated configure script: no changes
|
||||
P00 INFO: autogenerate code
|
||||
P00 INFO: autogenerated C code: no changes
|
||||
P00 INFO: cleanup old data
|
||||
P00 INFO: builds required: none
|
||||
P00 INFO: 2 tests selected
|
||||
@ -323,8 +330,8 @@ pgbackrest/test/test.pl --vm-build --vm=u20
|
||||
|
||||
--- output ---
|
||||
|
||||
P00 INFO: test begin on x86_64 - log level info
|
||||
P00 INFO: Using cached pgbackrest/test:u20-base-20210717A image (738bc9b702a18d1fcb5ba33dae74c74e01e67527) ...
|
||||
P00 INFO: test begin on aarch64 - log level info
|
||||
P00 INFO: Using cached pgbackrest/test:u20-base-20210718A image (d6c377617ac2c112b80a3c1f090345d54769ae1b) ...
|
||||
P00 INFO: Building pgbackrest/test:u20-test image ...
|
||||
P00 INFO: Build Complete
|
||||
```
|
||||
@ -332,18 +339,22 @@ pgbackrest/test/test.pl --vm-build --vm=u20
|
||||
|
||||
pgbackrest-dev => Run a Specific Test Run
|
||||
```
|
||||
pgbackrest/test/test.pl --vm=u20 --dev --module=mock --test=archive --run=2
|
||||
pgbackrest/test/test.pl --vm=u20 --module=mock --test=archive --run=2
|
||||
|
||||
--- output ---
|
||||
|
||||
P00 INFO: test begin on x86_64 - log level info
|
||||
P00 INFO: check code autogenerate
|
||||
P00 INFO: test begin on aarch64 - log level info
|
||||
P00 INFO: autogenerate configure
|
||||
P00 INFO: autogenerated version in configure.ac script: no changes
|
||||
P00 INFO: autogenerated configure script: no changes
|
||||
P00 INFO: autogenerate code
|
||||
P00 INFO: autogenerated C code: no changes
|
||||
P00 INFO: cleanup old data and containers
|
||||
P00 INFO: builds required: bin, bin host
|
||||
P00 INFO: bin dependencies have changed for u20, rebuilding...
|
||||
P00 INFO: build bin for u20 (/home/docker/test/bin/u20)
|
||||
P00 INFO: bin dependencies have changed for none, rebuilding...
|
||||
P00 INFO: bin dependencies have changed, rebuilding
|
||||
P00 INFO: build bin for none (/home/docker/test/bin/none)
|
||||
P00 INFO: bin dependencies have changed, rebuilding
|
||||
P00 INFO: 1 test selected
|
||||
|
||||
P00 INFO: P1-T1/1 - vm=u20, module=mock, test=archive, run=2
|
||||
@ -498,7 +509,7 @@ TEST_ERROR(cmdCheck(), ConfigError, "primary database not found\nHINT: check ind
|
||||
|
||||
Unit tests are run for all files that are listed in `define.yaml` and a coverage report generated for each file listed under the tag `coverage:`. Note that some files are listed in multiple `coverage:` sections for a module; in this case, each test for the file being modified should be specified for the module in which the file exists (e.g. `--module=storage --test=posix --test=gcs`, etc.) or, alternatively, simply run the module without the `--test` option. It is recommended that a `--vm` be specified since running the same test for multiple vms is unnecessary for coverage. The following example would run the test set from the **define.yaml** section detailed above.
|
||||
```
|
||||
pgbackrest/test/test.pl --vm-out --dev --module=command --test=check --vm=u20
|
||||
pgbackrest/test/test.pl --vm-out --module=command --test=check --vm=u20
|
||||
```
|
||||
> **NOTE:** Not all systems perform at the same speed, so if a test is timing out, try rerunning with another vm.
|
||||
|
||||
@ -510,7 +521,7 @@ If 100 percent code coverage has not been achieved, an error message will be dis
|
||||
|
||||
Sometimes it is useful to look at files that were generated during the test. The default for running any test is that, at the start/end of the test, the test harness will clean up all files and directories created. To override this behavior, a single test run must be specified and the option `--no-cleanup` provided. Again, continuing with the check command, from **define.yaml** above, there are four tests. Below, test one will be run and nothing will be cleaned up so that the files and directories in `test/test-0` can be inspected.
|
||||
```
|
||||
pgbackrest/test/test.pl --vm-out --dev --module=command --test=check --run=1 --no-cleanup
|
||||
pgbackrest/test/test.pl --vm-out --module=command --test=check --run=1 --no-cleanup
|
||||
```
|
||||
|
||||
## Adding an Option
|
||||
|
@ -317,7 +317,6 @@ myObjToLog(const MyObj *this)
|
||||
<list-item><setting>--module</setting> - identifies the module in which the test is located</list-item>
|
||||
<list-item><setting>--test</setting> - the actual test set to be run</list-item>
|
||||
<list-item><setting>--run</setting> - a number identifying the run within a test if testing a single run rather than the entire test</list-item>
|
||||
<list-item><setting>--dev</setting> - sets several flags that are appropriate for development but should be omitted when performing final testing prior to submitting a Pull Request to the project. Most importantly, it reuses object files from the previous test run to speed testing.</list-item>
|
||||
<list-item><setting>--vm-out</setting> - displays the test output (helpful for monitoring the progress)</list-item>
|
||||
<list-item><setting>--vm</setting> - identifies the pre-built container when using Docker, otherwise the setting should be <code>none</code></list-item>
|
||||
</list>
|
||||
@ -348,7 +347,7 @@ pgbackrest/doc/doc.pl --help
|
||||
<title>Run a test</title>
|
||||
|
||||
<execute output="y">
|
||||
<exe-cmd>pgbackrest/test/test.pl --vm=none --dev --vm-out --module=common --test=wait</exe-cmd>
|
||||
<exe-cmd>pgbackrest/test/test.pl --vm=none --vm-out --module=common --test=wait</exe-cmd>
|
||||
<exe-cmd-extra>{[test-cmd-extra]}</exe-cmd-extra>
|
||||
</execute>
|
||||
</execute-list>
|
||||
@ -359,7 +358,7 @@ pgbackrest/doc/doc.pl --help
|
||||
<title>Run a module</title>
|
||||
|
||||
<execute output="y">
|
||||
<exe-cmd>pgbackrest/test/test.pl --vm=none --dev --module=postgres</exe-cmd>
|
||||
<exe-cmd>pgbackrest/test/test.pl --vm=none --module=postgres</exe-cmd>
|
||||
<exe-cmd-extra>{[test-cmd-extra]}</exe-cmd-extra>
|
||||
</execute>
|
||||
</execute-list>
|
||||
@ -385,7 +384,7 @@ pgbackrest/doc/doc.pl --help
|
||||
<title>Run a Specific Test Run</title>
|
||||
|
||||
<execute output="y">
|
||||
<exe-cmd>pgbackrest/test/test.pl {[dash]}-vm=u20 {[dash]}-dev {[dash]}-module=mock {[dash]}-test=archive {[dash]}-run=2</exe-cmd>
|
||||
<exe-cmd>pgbackrest/test/test.pl {[dash]}-vm=u20 {[dash]}-module=mock {[dash]}-test=archive {[dash]}-run=2</exe-cmd>
|
||||
<exe-cmd-extra>{[test-cmd-extra]}</exe-cmd-extra>
|
||||
</execute>
|
||||
</execute-list>
|
||||
@ -563,7 +562,7 @@ TEST_ERROR(cmdCheck(), ConfigError, "primary database not found\nHINT: check ind
|
||||
<p>Unit tests are run for all files that are listed in <file>define.yaml</file> and a coverage report generated for each file listed under the tag <code>coverage:</code>. Note that some files are listed in multiple <code>coverage:</code> sections for a module; in this case, each test for the file being modified should be specified for the module in which the file exists (e.g. <code>--module=storage --test=posix --test=gcs</code>, etc.) or, alternatively, simply run the module without the <code>--test</code> option. It is recommended that a <code>--vm</code> be specified since running the same test for multiple vms is unnecessary for coverage. The following example would run the test set from the <b>define.yaml</b> section detailed above.</p>
|
||||
|
||||
<code-block>
|
||||
pgbackrest/test/test.pl --vm-out --dev --module=command --test=check --vm=u20
|
||||
pgbackrest/test/test.pl --vm-out --module=command --test=check --vm=u20
|
||||
</code-block>
|
||||
|
||||
<admonition type="note">Not all systems perform at the same speed, so if a test is timing out, try rerunning with another vm.</admonition>
|
||||
@ -577,7 +576,7 @@ pgbackrest/test/test.pl --vm-out --dev --module=command --test=check --vm=u20
|
||||
<p>Sometimes it is useful to look at files that were generated during the test. The default for running any test is that, at the start/end of the test, the test harness will clean up all files and directories created. To override this behavior, a single test run must be specified and the option <code>--no-cleanup</code> provided. Again, continuing with the check command, from <b>define.yaml</b> above, there are four tests. Below, test one will be run and nothing will be cleaned up so that the files and directories in <path>test/test-0</path> can be inspected.</p>
|
||||
|
||||
<code-block>
|
||||
pgbackrest/test/test.pl --vm-out --dev --module=command --test=check --run=1 --no-cleanup
|
||||
pgbackrest/test/test.pl --vm-out --module=command --test=check --run=1 --no-cleanup
|
||||
</code-block>
|
||||
</section>
|
||||
</section>
|
||||
|
@ -40,4 +40,14 @@ bldHeader(const char *const module, const char *const description)
|
||||
description, module);
|
||||
}
|
||||
|
||||
// Put the file if it is different than the existing file
|
||||
__attribute__((always_inline)) static inline void
|
||||
bldPut(const Storage *const storage, const char *const file, const Buffer *const contentNew)
|
||||
{
|
||||
const Buffer *const contentOld = storageGetP(storageNewReadP(storage, STR(file), .ignoreMissing = true));
|
||||
|
||||
if (contentOld == NULL || !bufEq(contentOld, contentNew))
|
||||
storagePutP(storageNewWriteP(storage, STR(file), .noSyncPath = true), contentNew);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@ -285,7 +285,7 @@ bldCfgRender(const Storage *const storageRepo, const BldCfg bldCfg)
|
||||
"\n"
|
||||
"#endif\n");
|
||||
|
||||
storagePutP(storageNewWriteP(storageRepo, STRDEF("src/config/config.auto.h"), .noSyncPath = true), BUFSTR(config));
|
||||
bldPut(storageRepo, "src/config/config.auto.h", BUFSTR(config));
|
||||
|
||||
// Build C
|
||||
// -----------------------------------------------------------------------------------------------------------------------------
|
||||
@ -326,5 +326,5 @@ bldCfgRender(const Storage *const storageRepo, const BldCfg bldCfg)
|
||||
config,
|
||||
")\n");
|
||||
|
||||
storagePutP(storageNewWriteP(storageRepo, STRDEF("src/config/config.auto.c"), .noSyncPath = true), BUFSTR(config));
|
||||
bldPut(storageRepo, "src/config/config.auto.c", BUFSTR(config));
|
||||
}
|
||||
|
151
test/test.pl
151
test/test.pl
@ -88,9 +88,6 @@ test.pl [options]
|
||||
--no-gen do not run code generation
|
||||
--gen-check check that auto-generated files are correct (used in CI to detect changes)
|
||||
--code-count generate code counts
|
||||
--smart perform bin/package builds only when source timestamps have changed
|
||||
--dev --smart --no-optimize
|
||||
--dev-test does nothing -- kept for backward compatibility
|
||||
--expect --vm=co7 --pg-version=9.6 --log-force
|
||||
--no-valgrind don't run valgrind on C unit tests (saves time)
|
||||
--no-coverage don't run coverage on C unit tests (saves time)
|
||||
@ -171,9 +168,6 @@ my $bGenOnly = false;
|
||||
my $bGenCheck = false;
|
||||
my $bNoGen = false;
|
||||
my $bCodeCount = false;
|
||||
my $bSmart = false;
|
||||
my $bDev = false;
|
||||
my $bDevTest = false;
|
||||
my $bBackTrace = false;
|
||||
my $bProfile = false;
|
||||
my $bExpect = false;
|
||||
@ -226,9 +220,6 @@ GetOptions ('q|quiet' => \$bQuiet,
|
||||
'gen-check' => \$bGenCheck,
|
||||
'no-gen' => \$bNoGen,
|
||||
'code-count' => \$bCodeCount,
|
||||
'smart' => \$bSmart,
|
||||
'dev' => \$bDev,
|
||||
'dev-test' => \$bDevTest,
|
||||
'backtrace' => \$bBackTrace,
|
||||
'profile' => \$bProfile,
|
||||
'expect' => \$bExpect,
|
||||
@ -286,20 +277,6 @@ eval
|
||||
$bCOnly = true;
|
||||
}
|
||||
|
||||
################################################################################################################################
|
||||
# Update options for --dev and --dev-fast and --dev-test
|
||||
################################################################################################################################
|
||||
if ($bDev && $bDevTest)
|
||||
{
|
||||
confess "cannot combine --dev and --dev-test";
|
||||
}
|
||||
|
||||
if ($bDev)
|
||||
{
|
||||
$bSmart = true;
|
||||
$bNoOptimize = true;
|
||||
}
|
||||
|
||||
################################################################################################################################
|
||||
# Update options for --profile
|
||||
################################################################################################################################
|
||||
@ -590,52 +567,19 @@ eval
|
||||
}
|
||||
}
|
||||
|
||||
# Make a copy of the repo to track which files have been changed. Eventually all builds will be done from this directory.
|
||||
# Make a copy of the repo to track which files have been changed
|
||||
#---------------------------------------------------------------------------------------------------------------------------
|
||||
my $strRepoCachePath = "${strTestPath}/repo";
|
||||
my $strRepoCacheManifest = 'repo.manifest';
|
||||
|
||||
# Create the repo path -- this should hopefully prevent obvious rsync errors below
|
||||
$oStorageTest->pathCreate("${strTestPath}/repo", {strMode => '0770', bIgnoreExists => true, bCreateParent => true});
|
||||
$oStorageTest->pathCreate($strRepoCachePath, {strMode => '0770', bIgnoreExists => true, bCreateParent => true});
|
||||
|
||||
# Check if there are any files existing already. If none, that means a full copy is happening and we shouldn't report
|
||||
# modified files
|
||||
my @stryExistingList = $oStorageTest->list($strRepoCachePath, {bIgnoreMissing => true});
|
||||
|
||||
# First check if there is an old manifest that has not been cleared. This indicates that an error happened before all new
|
||||
# files could be processed, which means they should be processed again.
|
||||
my @stryModifiedList;
|
||||
my $rstrModifiedList = $oStorageTest->get(
|
||||
$oStorageTest->openRead("${strRepoCachePath}/${strRepoCacheManifest}", {bIgnoreMissing => true}));
|
||||
|
||||
if (defined($rstrModifiedList))
|
||||
{
|
||||
@stryModifiedList = split("\n", trim($$rstrModifiedList));
|
||||
}
|
||||
|
||||
push(
|
||||
@stryModifiedList,
|
||||
split(
|
||||
"\n",
|
||||
trim(
|
||||
executeTest(
|
||||
"git -C ${strBackRestBase} ls-files -c --others --exclude-standard |" .
|
||||
" rsync -rtW --out-format=\"\%n\" --delete" .
|
||||
# This option is not supported on MacOS. The eventual plan is to remove the need for it.
|
||||
(trim(`uname`) ne 'Darwin' ? ' --ignore-missing-args' : '') .
|
||||
" --exclude=test/result --exclude=repo.manifest" .
|
||||
" ${strBackRestBase}/ --files-from=- ${strRepoCachePath}" .
|
||||
" | grep -E -v '/\$' | cat"))));
|
||||
|
||||
if (@stryModifiedList > 0)
|
||||
{
|
||||
$oStorageTest->put("${strRepoCachePath}/${strRepoCacheManifest}", join("\n", @stryModifiedList));
|
||||
|
||||
if (@stryExistingList > 0)
|
||||
{
|
||||
&log(INFO, "modified since last run: " . join(', ', @stryModifiedList));
|
||||
}
|
||||
}
|
||||
# Copy the repo
|
||||
executeTest(
|
||||
"git -C ${strBackRestBase} ls-files -c --others --exclude-standard | rsync -rtW --delete --exclude=test/result" .
|
||||
# This option is not supported on MacOS. The eventual plan is to remove the need for it.
|
||||
(trim(`uname`) ne 'Darwin' ? ' --ignore-missing-args' : '') .
|
||||
" ${strBackRestBase}/ ${strRepoCachePath}");
|
||||
|
||||
# Generate code counts
|
||||
#---------------------------------------------------------------------------------------------------------------------------
|
||||
@ -670,7 +614,7 @@ eval
|
||||
|
||||
executeTest(
|
||||
"chmod 700 -R ${strTestPath}/test-* 2>&1 || true && rm -rf ${strTestPath}/temp ${strTestPath}/test-*" .
|
||||
" ${strTestPath}/data-*" . ($bDev ? '' : " ${strTestPath}/gcov-*"));
|
||||
" ${strTestPath}/data-*");
|
||||
$oStorageTest->pathCreate("${strTestPath}/temp", {strMode => '0770', bIgnoreExists => true, bCreateParent => true});
|
||||
|
||||
# Remove old lcov dirs -- do it this way so the dirs stay open in finder/explorer, etc.
|
||||
@ -771,8 +715,8 @@ eval
|
||||
foreach my $strBuildVM (@stryBuildVm)
|
||||
{
|
||||
my $strBuildPath = "${strBinPath}/${strBuildVM}";
|
||||
my $bRebuild = !$bSmart;
|
||||
$rhBinBuild->{$strBuildVM} = true;
|
||||
my $bRebuild = false;
|
||||
$rhBinBuild->{$strBuildVM} = false;
|
||||
|
||||
# Build configure/compile options and see if they have changed from the previous build
|
||||
my $strCFlags =
|
||||
@ -785,59 +729,46 @@ eval
|
||||
my $strBuildFlagFile = "${strBinPath}/${strBuildVM}/build.flags";
|
||||
|
||||
my $bBuildOptionsDiffer = buildPutDiffers($oStorageBackRest, $strBuildFlagFile, $strBuildFlags);
|
||||
$bBuildOptionsDiffer |= grep(/^src\/configure|src\/Makefile.in|src\/build\.auto\.h\.in$/, @stryModifiedList);
|
||||
|
||||
# Rebuild if the modification time of the bin file is less than the last changes in source paths
|
||||
my $strBinSmart = "${strBuildPath}/pgbackrest";
|
||||
&log(INFO, " build bin for ${strBuildVM} (${strBuildPath})");
|
||||
|
||||
if ($bBuildOptionsDiffer ||
|
||||
($bSmart &&
|
||||
(!$oStorageBackRest->exists($strBinSmart) ||
|
||||
$oStorageBackRest->info($strBinSmart)->mtime < $lTimestampLast)))
|
||||
if ($strBuildVM ne VM_NONE)
|
||||
{
|
||||
&log(
|
||||
INFO, " bin dependencies have changed for ${strBuildVM}, " . ($bBuildOptionsDiffer ? 're' : '') .
|
||||
'building...');
|
||||
|
||||
$bRebuild = true;
|
||||
executeTest(
|
||||
"docker run -itd -h test-build --name=test-build" .
|
||||
" -v ${strBackRestBase}:${strBackRestBase} -v ${strTestPath}:${strTestPath} " .
|
||||
containerRepo() . ":${strBuildVM}-test",
|
||||
{bSuppressStdErr => true});
|
||||
}
|
||||
|
||||
if ($bRebuild)
|
||||
if ($bBuildOptionsDiffer ||
|
||||
!-e "${strBuildPath}/Makefile" ||
|
||||
stat("${strBackRestBase}/src/Makefile.in")->mtime > stat("${strBuildPath}/Makefile")->mtime ||
|
||||
stat("${strBackRestBase}/src/configure")->mtime > stat("${strBuildPath}/Makefile")->mtime ||
|
||||
stat("${strBackRestBase}/src/build.auto.h.in")->mtime > stat("${strBuildPath}/Makefile")->mtime)
|
||||
{
|
||||
&log(INFO, " build bin for ${strBuildVM} (${strBuildPath})");
|
||||
&log(INFO, ' bin dependencies have changed, rebuilding');
|
||||
|
||||
if ($strBuildVM ne VM_NONE)
|
||||
{
|
||||
executeTest(
|
||||
"docker run -itd -h test-build --name=test-build" .
|
||||
" -v ${strBackRestBase}:${strBackRestBase} -v ${strTestPath}:${strTestPath} " .
|
||||
containerRepo() . ":${strBuildVM}-test",
|
||||
{bSuppressStdErr => true});
|
||||
}
|
||||
|
||||
if (!$bSmart || $bBuildOptionsDiffer || !$oStorageBackRest->exists("${strBuildPath}/Makefile"))
|
||||
{
|
||||
# Remove old path if it exists and save the build flags
|
||||
executeTest("rm -rf ${strBuildPath}");
|
||||
buildPutDiffers($oStorageBackRest, $strBuildFlagFile, $strBuildFlags);
|
||||
|
||||
executeTest(
|
||||
($strBuildVM ne VM_NONE ? 'docker exec -i -u ' . TEST_USER . ' test-build ' : '') .
|
||||
"bash -c 'cd ${strBuildPath} && ${strBackRestBase}/src/configure -q${strConfigOptions}'",
|
||||
{bShowOutputAsync => $bLogDetail});
|
||||
}
|
||||
# Remove old path if it exists and save the build flags
|
||||
executeTest("rm -rf ${strBuildPath}");
|
||||
buildPutDiffers($oStorageBackRest, $strBuildFlagFile, $strBuildFlags);
|
||||
|
||||
executeTest(
|
||||
($strBuildVM ne VM_NONE ? 'docker exec -i -u ' . TEST_USER . ' test-build ' : '') .
|
||||
"${strMakeCmd} -s -j ${iBuildMax}" . ($bLogDetail ? '' : ' --silent') .
|
||||
" --directory ${strBuildPath} CFLAGS_EXTRA='${strCFlags}'" .
|
||||
($strLdFlags ne '' ? " LDFLAGS_EXTRA='${strLdFlags}'" : ''),
|
||||
"bash -c 'cd ${strBuildPath} && ${strBackRestBase}/src/configure -q${strConfigOptions}'",
|
||||
{bShowOutputAsync => $bLogDetail});
|
||||
}
|
||||
|
||||
if ($strBuildVM ne VM_NONE)
|
||||
{
|
||||
executeTest("docker rm -f test-build");
|
||||
}
|
||||
executeTest(
|
||||
($strBuildVM ne VM_NONE ? 'docker exec -i -u ' . TEST_USER . ' test-build ' : '') .
|
||||
"${strMakeCmd} -s -j ${iBuildMax}" . ($bLogDetail ? '' : ' --silent') .
|
||||
" --directory ${strBuildPath} CFLAGS_EXTRA='${strCFlags}'" .
|
||||
($strLdFlags ne '' ? " LDFLAGS_EXTRA='${strLdFlags}'" : ''),
|
||||
{bShowOutputAsync => $bLogDetail});
|
||||
|
||||
if ($strBuildVM ne VM_NONE)
|
||||
{
|
||||
executeTest("docker rm -f test-build");
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1034,10 +965,6 @@ eval
|
||||
exit 0 if $bBuildOnly;
|
||||
}
|
||||
|
||||
# Remove repo.manifest now that all processing that depends on modified files has been completed
|
||||
#---------------------------------------------------------------------------------------------------------------------------
|
||||
$oStorageTest->remove("${strRepoCachePath}/${strRepoCacheManifest}");
|
||||
|
||||
# Perform static source code analysis
|
||||
#---------------------------------------------------------------------------------------------------------------------------
|
||||
if (!$bDryRun)
|
||||
|
Loading…
Reference in New Issue
Block a user