Age | Commit message (Collapse) | Author |
|
When manifests differ, we dump the tail of the log of the comparison
build, but since we execute the build under 'set -x', this includes
traces that make interesting/important information disappear from the
tail of the tail. This patch simply dumps the last 20 lines, which
looks sufficient.
Change-Id: I4c336d9c5fabd4a49869fd6638ea000cc3b130b8
|
|
The only reason I see for this working before -- is that bash versions
before one in Ubuntu 22.04 didn't consider it an error to read
from absent file.
Change-Id: I5261c7823995ebffd4314f13f7c5927973218ef0
|
|
Since we recently unconditionally updated the versions
of gmp and mpfr, we need to update the manifest we use
for testing to avoid failures.
Change-Id: Ibad04973d0fd38319102466ea51c56bd2c482f5e
|
|
Change-Id: Id1e9af44681092d1367769ad6838176819cae4a9
|
|
This reverts commit 12c00a3039aab006db2ea977ee65ea08d6b8e0ae.
Reason for revert: <INSERT REASONING HERE>
Change-Id: I3a88632e1d826cd7435f28c70bfb254cf910101a
|
|
... now that we use gdbserver as subcomponent to itself.
Change-Id: I673efcf620c98e80047884c877d421c4567cc831
|
|
... after fixing (hopefully!) sysroot handling in ABE.
Change-Id: I26c672fbc6f3dfc0bc87491e94cad50725326962
|
|
They include qemu (but only for linux-hosted toolchains)
Change-Id: I2d7f82bee2f6c4d3aef9278e7f6c3216a87637d2
|
|
This is to help diagnose problems when looking at the Jenkins console,
without having to need to connect to the builder and manually inspect
the logs (which may have been cleaned up since the job ran).
Change-Id: If4f5573036808846ab6bce44a4b3fb40e96bd732
|
|
Change-Id: I362aba30e9c129d059e45ebbd0c14fee10f509f8
|
|
The purpose is to make these messages easier to match in the Jenkins
console (as 'fail' or 'failed' appear in locations unrelated to the
tests).
Change-Id: Iece616e1877c5bba04e01ea7609f531b73ef2415
|
|
Scan the whole history between the selected previous
Abe version and the version under test. This ensures that
the tags are detected if the HEAD of the Abe branch is
not the one where the manifest format is changed (eg if
testing with --prev-abe-revision origin/tested)
Also, don't require the tags to be placed at the start of a
line in the commit message.
Change-Id: Iab46c9fdbf4a0f6d1f3967f88a03bca36a6d029b
|
|
When using one of the commit message tags to skip the
previous Abe tests, record the comparison result in the
output.
Change-Id: I6e9e4fbe98fca4576cceac6f56cef8190dd93b72
|
|
Manifest format version 1.5 introduces libiconv as a new required
component. The following changes are required:
. accept version 1.5
. it manifest version >= 1.5, require libiconv for all
host platforms.
Change-Id: I469481e647de8dc13e969d1def0fc66ceb59a56d
|
|
The test_previous_abe_cmd_line and test_previous_abe_manifest tests
report failures even when the change to the manifest was an
intentional result of a change in Abe. This is particularly annoying
in the tcwg-regression tests, where these failures can be reported
for other changes for as long as the Abe change remains the most
recent Abe commit.
Therefore, introduce new tags which can be incorporated into commit
messages, which indicate that the manifest comparisons should not
be done. These have the format:
[ABE_PREV_<MANIFEST|CMD>_<VERSION|ALL>]
For example, the following tags can be used:
[ABE_PREV_MANIFEST_GCC4_9] - skip the manifest comparison for the
previous manifest test on gcc 4.9
[ABE_PREV_CMD_GCC5] - skip the manifest comparison for the
previous command line test on gcc 5
[ABE_PREV_CMD_ALL] - skip the manifest comparison for the
previous command line test on all
GCC versions
Change-Id: I5753adb5e917da1141ef79037333cb54f88a167e
|
|
Avoid the cost of repeated git clones for the prev_abe_* tests.
These tests are not intended to prove that clean checkouts work,
which is already covered by the earlier tests. In fact, sharing
the snapshots directory slightly improves testing coverage.
Change-Id: I6e35b6fd5b5b9e210cef1ddb4e178e6b02e37333
|
|
Add support for --target auto, and make "auto" the default
target.
The "auto" target cycles around the list of all released targets.
Change-Id: Ib2b79d6b07b7f663ffd7bc04b4b9543ff5f211ed
|
|
Ensure that all artifacts have absolute paths, and point to files
which exist.
Change-Id: Icbadd8171b8c9671403d315468972dfaa244eca0
|
|
When doing the prev_abe_manifest_* tests, and the previous version
of Abe generates an older format manifest than the current version,
it is expected that the new manifest may be incomplete (eg missing
required components which were not in the previous format of
manifest).
Therefore, when the manifest formats differ, pass --type=generic
to validate_manifest.pl, so that only the syntax of the manifest
is checked.
In all cases, compare_manifests.pl passes --type=generic, because
its goal is comparison not validation (ideally, it would be even
less strict, but validate_manifest.pl does not yet have a suitable
mode)
The test will still fail in these cases because the manifests differ,
but this is the expected behaviour because it requires manual
inspection of the changes.
Change-Id: I8b4cbfc4c456c6a59fcdee0d75aebe1ce61a2181
|
|
Use --list-artifacts for the manifest tests and checkout tests
in place of using find to locate the manifest and the toolchain
tarballs.
Change-Id: Icf88f37c0ec9512d07d12f3ca1580347bc4bac32
|
|
Currently, validate-manifest.pl simultaneous validates both
the syntax of the manifest file, and that its contents match
the expected output from Abe when it builds a full gcc toolchain.
This can be useful for partial validation of manifests which
arise from partial builds (eg abe.sh --build gcc), or from
old format manifests which don't contain components which
are now required.
Change-Id: I735a1038eac94c9d30c9ab99361172555db6cfb7
|
|
Add testing of --extraconfigdir gcc7 to the set of config
dir validation tests.
Change-Id: Id3715a70ba280cf5bddc04f974f105a5ade8106d
|
|
Improve the test_gccver_* tests so that they ensure that
the expected branch, tag, revision or URL was actually selected
by Abe.
Change do_test to take an explicit test name, which improves
the ease of selecting the right log file in the artifacts list.
Change-Id: Ida212680593da4428b86a2820357090d58c73e54
|
|
Add --verbose flag to display an explicit message if the
manifest is valid.
Change-Id: Ie44fa321a2b3906b54ac04d10625c71cfce2da7b
|
|
Accept multiple manifests on a single command line.
Cache md5sums of downloaded files so that files are only
downloaded once when validating multiple files.
Change-Id: I718da2e6c15ac2774e9a3967724da7ff9c3ef8b9
|
|
If --release is not specified Abe sets --with-pkgversion with
the current date, which can cause spurious test failures if
midnight occurs during the test.
Change-Id: I666723933ede610281cdab1b66c97125a049980c
|
|
|
|
Handle mingw_only and mingw_extraconf flags.
Test that mingw and linux manifests are identical.
Make expat and python required components for manifest format >= 1.4
Change-Id: I60fcb8d7d5bb58ab5d3c628551817e04bcde7996
|
|
Since different revisions cause the manifest id to change, it
is necessary to also ignore the manifestid field when
the --ignore-revisions switch is passed to compare-manifests.pl.
This fixes a problem with the abe-test-checkout test when midnight
occurs while the test_previous_abe_cmd_line subtests are running.
Change-Id: I4d9e3aa49119bcfca39ae854fb77e2e806aaab68
|
|
Add --abe-revision and --prev-abe-revision options.
It is not permissible to use --abe-revision with --abe-path. It is
assumed that if --abe-path is supplied then the pre-existing abe
checkout is to be tested. An error is reported if this is attempted.
Example usage:
$ abe-tests/test-checkout.sh --abe-revision HEAD --prev-abe-revision HEAD~1
Implements TCWG-995 (ABE: Manifest testing script needs to compare two sha1s instead of HEAD and HEAD-1)
Change-Id: Iec7896107c1c9173f6c5efa176fada2241c87a21
|
|
This patch adds the --only-prev-abe-test switch which means that
only the tests which compare two abe revisions are run.
This is intended to be used for the validation/release integration
testing.
Implements TCWG-993 (ABE: move manifest tests out of checkout tests)
Change-Id: I831c1b651d26ddc7b3e44658989b5bef73cbd648
|
|
Print the actual log name in case of error.
Change-Id: Idb63ad0e06499140554e0ef90ea104660966fdd2
|
|
THis function causes 'set -e' to be supressed when doing the
prev-abe tests. The message is potentially misleading when the
test fails for a genuine reason, so it's best removed anyway.
Change-Id: I2058375358ecd921f0cd5908b4db089207332366
|
|
There are two tests added here:
First test (implements TCWG-892):
. checkout previous revision of ABE.
. use that version of ABE to perform --checkout all, and generate
a manifest
. use the current version of ABE to perform --checkout all, with
the manifest from the first run of ABE. This also generates a
new manifest.
. compare the two manifests for equivalence.
Second test (implements TCWG-893):
. checkout previous revision of ABE.
. use that version of ABE to perform --checkout all, and generate
a manifest
. use the current version of ABE to perform --checkout all, using
the same command line as the first invocation of ABE. This also
generates a manifest.
. compare the two manifests for equivalence.
Since the repos used in the build may be updated between the
two runs of ABE, the *_revision fields in the manifests are ignored
for the comparison.
These tests may fail when the manifest version is updated, or when
the ABE commit changes the latest= field in config/*.conf. In
such cases, manual review of the results will be required.
Change-Id: Ib0aaa630df400ffe302ca18f36e3be39ce16a599
|
|
If test-checkout.sh is invoked via a relative path, then
ABE_TESTS_PATH is set relative to the checkout-test directory
rather than the PWD when test-checkout.sh was invoked. Therefore
set ABE_TESTS_PATH before the cd.
Change-Id: I1e2df38478551e3edb0cfa45286cb530805e8f47
|
|
|
|
For manifests with a version 1.3 or newer, require the presence
of a manifestid field and check that its value is correct.
Change-Id: I5b01e9359d96fe8b732cd2fab65a0b0ff39e0f5f
|
|
|
|
If --abe-path is not specified, test-checkout.sh will clone
the abe repo and test the master branch. This clone was
incorrectly placed outside the working directory.
Change-Id: I20c1caa8f120dc21c6ca70b0996500bbacc6335c
|
|
If filespec is missing, arbitrarily treat as component
as a tar file, and therefore expect md5sum field too.
Change-Id: Ic2dbdb355a131bf3219731fff01f4e82be8c50a5
|
|
This patch validates the manifests generated by each checkout test,
except for the native target test, where ABE the validator rejects
the manifest because gdbserver is not present. This is because ABE
does not build gdbserver for native builds, but it is not possible
to determine from the manifest that it describes a native build.
This implements TCWG-891 (except for native builds)
Change-Id: I91847d4f103b43d9cf612d94455207ae5f42481a
|
|
This script normalizes and compares two manifests.
This is part of TCWG-890.
Change-Id: I4a18f4302973e1b37ceef059da82a3376016215f
|
|
Output normalized version of the manifest, containing only data
fields in a predictable order.
This is part of TCWG-890.
Change-Id: I03fe3382cdffd8509ae35a05960bad384703659f
|
|
Move manifest parser state into $manifest->{ctx}. This cleans up
use of $errors, $line and $line_no.
This is part of TCWG-890.
Change-Id: I4a661178885852c238fc5d73ea132de9b98ea904
|
|
parse_manifest() now returns a reference to a hash which describes
all the fields in a manifest. This means that the parser can be used
to parse multiple manifests in one script.
This is part of TCWG-890.
Change-Id: I29282d8df99b0ccd86e61f67fe282bffe7444f93
|
|
This starts a process of making the manifest parser usable from
other scripts.
This is part of TCWG-890.
Change-Id: I11c960ea100af743270fd198f7450452aa6032b7
|
|
Change-Id: Ic7b47e8c5c18fc17ce931e30843e446963c13513
|
|
Change-Id: I63ce83832d0c4d2266fd5c983ba32b7ba001f333
|
|
|
|
Support for --extraconfigdir .../config/gcc4_9 was added to abe,
so add that to test-checkout.sh.
|