testsuite.git
4 weeks agoRemove ppc32 (#203) master v12.0.0
Tim Haines [Sun, 7 Nov 2021 19:53:45 +0000 (13:53 -0600)]
Remove ppc32 (#203)

* Remove build files

* Remove from Makefile.genspec

* Remove ppc32_linux

* Cleanup comments

* Remove from prolog files

* Remove use of arch_ppc_little_endian_test

Co-authored-by: Tim Haines <thaines@cs.wisc.edu>
4 weeks agoRemove use of cap_32_64 (#202)
Tim Haines [Tue, 2 Nov 2021 19:03:18 +0000 (14:03 -0500)]
Remove use of cap_32_64 (#202)

The ABI should always be presented in the logs.

Co-authored-by: Tim Haines <thaines@cs.wisc.edu>
4 months agoInclude Try::Tiny in utils module (#201)
Tim Haines [Mon, 19 Jul 2021 19:11:15 +0000 (14:11 -0500)]
Include Try::Tiny in utils module (#201)

4 months agoBuild script refactor (#200)
Tim Haines [Fri, 16 Jul 2021 04:45:41 +0000 (23:45 -0500)]
Build script refactor (#200)

* Move options handling into separate module

* Move file name defaults and canonicalization into respective modules

* Move restart code into its own module

* Handle root directory creation in Dyninst::utils

* Whitespace cleanup

* Reorder logger entries

* Make wrapper functions for testsuite and dyninst

This moves all of the logical into the respective modules.

* Remove unused imports

* Move results parsing into its own module

* Add comments to new calls

* Reorganize imports in build.pl

* Have results::save return the file name of the archive

* Move the upload function into Dyninst::utils

* Use the exported make_root function

* Add more comments

* Move cmake stuff into its own module

* Move save_compiler_config from utils to logs

* Conditionally use FindBin

It's not available on older perls used on Fedora.

* Whitespace cleanup with perltidy

* Remove config-only option

* Actually import Dyninst::results in build.pl

* Add strict/warnings to all modules

* Replace try/catch in dyninst::run

For some reason, the try block would never be executed. I have no explanation.

* Do not run test suite setup if --no-tests was given.

* Add only-config undocumented option

This is useful for checking build system changes

* Fix test-src default/canonicalization bug

* Use correct variable in catch block

* Refactor logger class to explicitly take filename and quiet flag

* Update formatting of invocation args

* Move options sanity checks into 'options' module

* Fix eval for FindBin

* Return correct value in dyninst::run

* Move '--no-tests' check into options module

* Whitespace cleanup in build.pl

* Add Cwd::realpath in logs module

Co-authored-by: Tim Haines <thaines@cs.wisc.edu>
4 months agomake cmp function object operator() a const func (#199)
kupsch [Wed, 14 Jul 2021 16:14:38 +0000 (11:14 -0500)]
make cmp function object operator() a const func (#199)

STL in C++17 requires this

5 months agoRemove BlueGene/Q build files (#197)
Tim Haines [Tue, 6 Jul 2021 21:44:45 +0000 (16:44 -0500)]
Remove BlueGene/Q build files (#197)

* Remove BlueGene/Q build files

This should have been removed by c654acc.

* Remove from genspec

5 months agoUse same cc/gcc for -m32 compilations as found for the
Bolo [Tue, 6 Jul 2021 15:55:42 +0000 (10:55 -0500)]
Use same cc/gcc for -m32 compilations as found for the
other mutatee compilers.    This was part of the prior
change to select mutatee compilers reliably which was lost.

5 months agoCleanup deprecated OSes (#193)
Tim Haines [Mon, 28 Jun 2021 18:26:28 +0000 (13:26 -0500)]
Cleanup deprecated OSes (#193)

* Remove vestiges of MIPS

* Remove vestiges of AIX

* Remove vestiges of Solaris

* Remove vestiges of Irix

* Remove vestiges of OSF

* Remove AIX Fortran compiler checks

* Remove vestiges of Sun

5 months agoUpdate test_type_info to include DWARF type encoding (#196)
Tim Haines [Sat, 26 Jun 2021 03:10:14 +0000 (22:10 -0500)]
Update test_type_info to include DWARF type encoding (#196)

* Improve error reporting

* Don't require fields to have a name

* Remove dead code

* Whitespace cleanup

* Add tests for encoding information

* Fix whitespace

5 months agoRemove use of nasm assembler (#195)
Tim Haines [Fri, 18 Jun 2021 03:44:22 +0000 (22:44 -0500)]
Remove use of nasm assembler (#195)

It's deprecated on linux, and no longer present on Fedora 34 x86.

5 months agoAllow non-HTTPS connection when uploading to dashboard (#189) v11.0.1
Tim Haines [Tue, 15 Jun 2021 01:36:56 +0000 (20:36 -0500)]
Allow non-HTTPS connection when uploading to dashboard (#189)

Some machines are configured to not allow non-HTTPS traffic by default.

5 months agoRemove '.tmp' files (#192)
Tim Haines [Tue, 15 Jun 2021 01:31:25 +0000 (20:31 -0500)]
Remove '.tmp' files (#192)

6 months agoDo not search system locations for libdyninstAPI_RT.so (#190)
Xiaozhu Meng [Wed, 2 Jun 2021 21:23:59 +0000 (16:23 -0500)]
Do not search system locations for libdyninstAPI_RT.so (#190)

6 months agoRevert "Do not use PIE for group test binaries (#170)" (#188)
kupsch [Fri, 28 May 2021 20:47:17 +0000 (15:47 -0500)]
Revert "Do not use PIE for group test binaries (#170)" (#188)

This reverts commit d2d3aba2cc38e2cdf6adc43a9f76c8e44ed9cd5d.

7 months agoAutomate finding the testsuite perl modules.
Bolo [Fri, 30 Apr 2021 12:16:11 +0000 (07:16 -0500)]
Automate finding the testsuite perl modules.
Setting PERL5LIB is no longer required.

In case there are problems with FindBin, the alternate  solution
is in the comments listed .. which has it's own problems, but solves
the bizzare occasional FindBin problem.

7 months agoSearch for libdyninstAPI_RT.so instead of hardcoding the path. (#184)
Stan Cox [Thu, 22 Apr 2021 19:41:20 +0000 (15:41 -0400)]
Search for libdyninstAPI_RT.so instead of hardcoding the path. (#184)

Search for libdyninstAPI_RT.so since the Linux build process installs dyninst libraries in /usr/lib64/dyninst

8 months agoAdd --no-replay option. 11.0.0
Bolo [Mon, 22 Mar 2021 17:21:06 +0000 (12:21 -0500)]
Add --no-replay option.

Turning this on disables test replay via single stepping if group
tests fail.

Better run log status of how replay is happening.

Improved status message in run log about watchdog timer
actuations to track down timeout oddities causing failures.

8 months agoAllow specifying the name of a new build / run directory via option:
Bolo [Mon, 22 Mar 2021 16:43:22 +0000 (11:43 -0500)]
Allow specifying the name of a new build / run directory via option:

--root=dir-name

There are no changes to existing behavior.

8 months agoAdd '--limit=n' option to the testsuite runner.
Bolo [Wed, 10 Mar 2021 21:54:12 +0000 (15:54 -0600)]
Add '--limit=n' option to the testsuite runner.

This allows changing the '-limit n' option to the testsuite.

If omitted, existing behavior continues unchanged.

9 months agoAdd indirect call analysis to test1_36 (#182)
Tim Haines [Mon, 15 Feb 2021 18:36:58 +0000 (12:36 -0600)]
Add indirect call analysis to test1_36 (#182)

* Move test for indirect call into its own function

* Add indirect call test

* Require found functions exactly match expected results

* Don't execute indirect call tests on static executables

* Use looser name matching for indirect call test

* Whitespace cleanup

10 months agonostatic changes for aarch64. (#181)
Bolo -- Josef Burger [Fri, 22 Jan 2021 19:30:30 +0000 (13:30 -0600)]
nostatic changes for aarch64. (#181)

Original definitions left commented out, so we can switch
back easily once dyninst aarch64 implements static linking.

12 months agoRemove test2_11 (#178)
Bolo -- Josef Burger [Fri, 4 Dec 2020 01:08:58 +0000 (19:08 -0600)]
Remove test2_11 (#178)

* Rebuild test specification without test2_11

* Remove deleted test2_11 source files.

12 months agoSpecify mutatee c and c++ compilers. (#179)
Bolo -- Josef Burger [Wed, 2 Dec 2020 00:30:24 +0000 (18:30 -0600)]
Specify mutatee c and c++ compilers. (#179)

Previously it was possible for a different compiler than was configured to be used for mutatees.

Now:
If a mutatee compiler is specified, use it.
CMAKE_MUT_C_COMPILER
CMAKE_MUT_CXX_COMPILER

Otherwise, use the specified C and C++ compilers
CMAKE_C_COMPILER
CMAKE_CXX_COMPILER

And there is still a fall back to gcc and g++.

This may need to be revisited once we actively go to using
more than gcc with mutators, but it prevents the wrong compiler
from being used for mutators at this point.

12 months agoRemove serialization tests (#173)
Bolo -- Josef Burger [Tue, 24 Nov 2020 00:15:21 +0000 (18:15 -0600)]
Remove serialization tests (#173)

* Testsuite Issue 159.
    Remove serialization tests.

* Delete unused serialization test source.

12 months agoRemove unused files (#176)
Tim Haines [Sat, 7 Nov 2020 09:11:41 +0000 (03:11 -0600)]
Remove unused files (#176)

12 months agoRemove remnants of sparc and DEC alpha tests (#175)
Tim Haines [Sat, 7 Nov 2020 08:19:11 +0000 (02:19 -0600)]
Remove remnants of sparc and DEC alpha tests (#175)

* Remove remnants of sparc tests
* Remove remnants of DEC alpha tests

12 months agoRemove Arch comment from files (#174)
Tim Haines [Sat, 7 Nov 2020 07:36:54 +0000 (01:36 -0600)]
Remove Arch comment from files (#174)

It wasn't maintained, so it was wrong in many places.

13 months agoRegenerated testsuite from identical specification. ts_delta
Bolo [Mon, 26 Oct 2020 18:27:48 +0000 (13:27 -0500)]
Regenerated testsuite from identical specification.

These changes reflect the conversion of generated code
to be line-by-line instead of one-giant-line.

From now on test specification changes will be human readable
via VCS diff, and by the human eyeball.

No functional change at all.

13 months agoGenerate in a line-by-line format so that all changes
Bolo [Mon, 26 Oct 2020 18:25:47 +0000 (13:25 -0500)]
Generate in a line-by-line format so that all changes
can easily be viewed using VCS diff.

Seperate stanzas in source with spacing to increase readability.

13 months agoMake list elements for dyninst group tests
Bolo [Mon, 26 Oct 2020 18:10:04 +0000 (13:10 -0500)]
Make list elements for dyninst group tests
separate from the surrounding logic; they
are now on their own lines.

13 months agoSpecifying which cmake to use.
Bolo [Wed, 21 Oct 2020 15:11:28 +0000 (10:11 -0500)]
Specifying which cmake to use.

Clean up perl statements involved to have one item per line,
to allow clean diffs.

13 months agoWarn on missing compiler paths instead of dying (#171)
Tim Haines [Mon, 12 Oct 2020 00:23:25 +0000 (19:23 -0500)]
Warn on missing compiler paths instead of dying (#171)

14 months agoDo not use PIE for group test binaries (#170)
Tim Haines [Fri, 2 Oct 2020 20:21:33 +0000 (15:21 -0500)]
Do not use PIE for group test binaries (#170)

Dyninst doesn't support PIE and glibc-2.30+ no longer allows
dlopening a PIE executable. See https://github.com/dyninst/dyninst/issues/778
for details.

14 months agoFix buffer overflow in init_fini_callback test (#169)
Tim Haines [Tue, 29 Sep 2020 01:48:30 +0000 (20:48 -0500)]
Fix buffer overflow in init_fini_callback test (#169)

14 months agoMerge branch 'ts_verify'
Bolo [Mon, 28 Sep 2020 16:38:43 +0000 (11:38 -0500)]
Merge branch 'ts_verify'

These corrections and changes allow for reconfiguring the testsuite,
and to regenerate an existing testsuite configuration to verify the
results are identical before changing the configuration.

Out of date files, no longer used, have been removed.

The testsuite configuration and generation issues are noted
making it easier to update the test configuration in the future.

14 months agoRemove Bluegene support (#168)
Tim Haines [Tue, 22 Sep 2020 18:18:03 +0000 (13:18 -0500)]
Remove Bluegene support (#168)

* Remove Bluegene-specific code
* Remove code guarded by USE_PIPES
* Remove USE_SOCKETS
    It's always true now. It was only used on Bluegene.
* Remove LaunchMON code
    This was for Bluegene systems

14 months agoRemove explicit template instantiations for BPatch_Vector (#166)
Tim Haines [Mon, 21 Sep 2020 20:23:29 +0000 (15:23 -0500)]
Remove explicit template instantiations for BPatch_Vector (#166)

BPatch_Vector is now an alias template.
See https://github.com/dyninst/dyninst/pull/844 for details.

14 months agoUpdate .gitignore ; add tuples 167/head
Bolo [Tue, 15 Sep 2020 15:02:32 +0000 (10:02 -0500)]
Update .gitignore ; add tuples

14 months agoNote that some platforms have broken gprolog, and that you need
Bolo [Tue, 15 Sep 2020 14:51:25 +0000 (09:51 -0500)]
Note that some platforms have broken gprolog, and that you need
to download an install gprolog on those platforms.

14 months agoUpdate notes and other issues, improve verbiage, etc.
Bolo [Mon, 14 Sep 2020 21:32:13 +0000 (16:32 -0500)]
Update notes and other issues, improve verbiage, etc.

14 months agoRemove no longer used file spec-ungroup.pl ; unmaintained since 2013.
Bolo [Mon, 14 Sep 2020 20:38:32 +0000 (15:38 -0500)]
Remove no longer used file spec-ungroup.pl ; unmaintained since 2013.

14 months agoRemove reference to the already deleted arm64... platform.
Bolo [Mon, 14 Sep 2020 20:07:57 +0000 (15:07 -0500)]
Remove reference to the already deleted arm64... platform.

14 months agoRemove references to no longer used spec-ungrouped.pl
Bolo [Mon, 14 Sep 2020 20:06:14 +0000 (15:06 -0500)]
Remove references to no longer used spec-ungrouped.pl

14 months agoRemove serialization test contents (#165)
Tim Haines [Sun, 13 Sep 2020 04:46:06 +0000 (23:46 -0500)]
Remove serialization test contents (#165)

The actual tests will be removed later once we better understand how
to do so.

14 months agoThese tuples.gz files contain EXACTLY the same content as prior.
Bolo [Fri, 11 Sep 2020 00:37:44 +0000 (19:37 -0500)]
These tuples.gz files contain EXACTLY the same content as prior.

Now, they are generated w/out embedded information about the current
date.  This means that if you redo the configuration for the testsuite,
the files will ONLY change if an actual change occurs to the testsuite,
not just a re-run of the existing configuration.

There are ZERO, repeat ZERO changes to the content of the files,
only to the gzip envelope.

14 months agoMove make_test_xml.pl out of x86_64-unknown-linux2.4, not auto-generated.
Bolo [Fri, 11 Sep 2020 00:35:40 +0000 (19:35 -0500)]
Move make_test_xml.pl out of x86_64-unknown-linux2.4, not auto-generated.

14 months agoRemove dlls.txt from nt test directory, random file.
Bolo [Fri, 11 Sep 2020 00:34:34 +0000 (19:34 -0500)]
Remove dlls.txt from nt test directory, random file.

14 months agoRemove platform .cvsignore files.
Bolo [Fri, 11 Sep 2020 00:32:41 +0000 (19:32 -0500)]
Remove platform .cvsignore files.

14 months agoRemoved unused cmake-compilers.txt
Bolo [Fri, 11 Sep 2020 00:28:56 +0000 (19:28 -0500)]
Removed unused cmake-compilers.txt

14 months agoRemove unsed CMakeLists for optimization levels which have been removed.
Bolo [Fri, 11 Sep 2020 00:26:28 +0000 (19:26 -0500)]
Remove unsed CMakeLists for optimization levels which have been removed.

14 months agoRemove unused arm64-unknown-linux test config; it is no longer generated.
Bolo [Thu, 10 Sep 2020 22:40:02 +0000 (17:40 -0500)]
Remove unused arm64-unknown-linux test config; it is no longer generated.

14 months agoAdd comments on process and requirements for generating
Bolo [Thu, 10 Sep 2020 21:31:18 +0000 (16:31 -0500)]
Add comments on process and requirements for generating
a new test specification.

14 months agoAdd make rules to auto-generate the .gitignore from the Makefile
Bolo [Thu, 10 Sep 2020 21:28:50 +0000 (16:28 -0500)]
Add make rules to auto-generate the .gitignore from the Makefile
in the platform directories.

Tuples and tuples.gz are added as dependencies to ensure
that any config changes result in a new config at both the
prolog and python levels.

14 months agoCreate platform directory as needed.
Bolo [Thu, 10 Sep 2020 21:23:44 +0000 (16:23 -0500)]
Create platform directory as needed.

Retain tuples to allow comparison with prior tuples for
correctness verification.

Compress tuples so that identical tuples files will produce identical
tuples.gz files.   This prevents VCS churn, and shows only true
changes in the history.

14 months agoFormat prolog command to be more VCS friendly.
Bolo [Thu, 10 Sep 2020 21:17:30 +0000 (16:17 -0500)]
Format prolog command to be more VCS friendly.
Parameterize gprolog and gzip used.

14 months agoConvert prolog and python file lists to
Bolo [Thu, 10 Sep 2020 21:13:42 +0000 (16:13 -0500)]
Convert prolog and python file lists to
per-line format so changes diff cleanly in VCS.

Add comments about file purposes.

14 months agoConvert platform (subdirs) to per-line format so they
Bolo [Thu, 10 Sep 2020 21:09:30 +0000 (16:09 -0500)]
Convert platform (subdirs) to per-line format so they
will diff cleanly with a VCS.

14 months agoSwitch to standardized mechanically generated .gitignore.
Bolo [Thu, 10 Sep 2020 21:06:26 +0000 (16:06 -0500)]
Switch to standardized mechanically generated .gitignore.
This makes tests .gitnore uniform across all dyninst platforms.

14 months agoRemove exception specifications (#164)
Tim Haines [Thu, 10 Sep 2020 00:57:19 +0000 (19:57 -0500)]
Remove exception specifications (#164)

They were deprecated in c++11 and removed in c++17. (#164)

14 months agoRemove usage of deprecated usage of findFunctionByAddr (#163)
Tim Haines [Tue, 8 Sep 2020 04:39:01 +0000 (23:39 -0500)]
Remove usage of deprecated usage of findFunctionByAddr (#163)

This is replaced with findFunctionByEntry. See also
https://github.com/dyninst/dyninst/pull/837.

15 months agoRemove checkCost (#162)
Tim Haines [Thu, 3 Sep 2020 00:34:02 +0000 (19:34 -0500)]
Remove checkCost (#162)

The corresponding functionality in Dyninst was deprecated in 2010.
See also https://github.com/dyninst/dyninst/pull/832

15 months agoMake test suite buildable with Clang (#146)
Tim Haines [Mon, 31 Aug 2020 02:07:25 +0000 (21:07 -0500)]
Make test suite buildable with Clang (#146)

15 months agoReturn non-zero from runTests on error (#158)
Tim Haines [Thu, 20 Aug 2020 03:52:39 +0000 (22:52 -0500)]
Return non-zero from runTests on error (#158)

15 months agoFix farcall test (#100)
Xiaozhu Meng [Tue, 18 Aug 2020 04:38:13 +0000 (21:38 -0700)]
Fix farcall test (#100)

15 months agoRemove unused statckwalker files (#157)
Tim Haines [Tue, 18 Aug 2020 00:07:14 +0000 (19:07 -0500)]
Remove unused statckwalker files (#157)

15 months agoRemove 'tags' files (#155)
Tim Haines [Mon, 17 Aug 2020 23:45:26 +0000 (18:45 -0500)]
Remove 'tags' files (#155)

16 months agoAdd -dry-run and -exclude flags to test_driver (#151)
Stan Cox [Sun, 2 Aug 2020 23:02:05 +0000 (19:02 -0400)]
Add -dry-run and -exclude flags to test_driver (#151)

Add -exclude as a complement to -test and -dry-run to list the tests that would be run.

16 months agoReintroduce parallel test execution (#154)
Tim Haines [Sun, 2 Aug 2020 04:58:58 +0000 (23:58 -0500)]
Reintroduce parallel test execution (#154)

This was inadvertently removed in 6bc8257ca3

16 months agoFix data race in test_thread_6 (#152)
Tim Haines [Fri, 24 Jul 2020 19:51:43 +0000 (14:51 -0500)]
Fix data race in test_thread_6 (#152)

thread_thread_6_mutatee.c

- Use proper barrier instead of volatile+sleep to synchronize threads before attaching mutator
- General code cleanup and extra logging

thread_thread_6.C

- Use threadsafe unordered_map to map BPatchIDs to tids
- Use dprintf and make it threadsafe
- Remove unused stackwalking
- Refactor mutatorTest into separate functions and correctly handle errors at each step
- Remove unused variables

17 months agoRemove user-defined gettid function (#153)
Tim Haines [Sat, 27 Jun 2020 05:30:53 +0000 (00:30 -0500)]
Remove user-defined gettid function (#153)

This is now defined in unistd.h as of glibc-2.30. The calls to this
function were already commented-out, so those lines were removed.

18 months agoUse the LanguageStandards module from Dyninst (#71)
Tim Haines [Sun, 31 May 2020 23:37:02 +0000 (18:37 -0500)]
Use the LanguageStandards module from Dyninst (#71)

* Use the LanguageStandards module from Dyninst

* Allow usage of GNU library extensions to ISOC99

19 months agoOnly use gcc to compile mutatees on linux (#148)
Tim Haines [Tue, 21 Apr 2020 17:19:23 +0000 (12:19 -0500)]
Only use gcc to compile mutatees on linux (#148)

Clang _should_ work, but it will be added later. The test suite will not compile with any other compiler.

19 months agoUpdate compiler path detection for CMake 3.17 (#150)
Tim Haines [Tue, 21 Apr 2020 17:13:01 +0000 (12:13 -0500)]
Update compiler path detection for CMake 3.17 (#150)

The format changed slightly, so this is a generic fix. This also removes the unused logs::save_compiler_info.

19 months agobuild script: Allow user to override the hostname (#149)
Tim Haines [Sun, 19 Apr 2020 00:26:06 +0000 (19:26 -0500)]
build script: Allow user to override the hostname (#149)

This is useful when the default hostname isn't related to the name of
the HPC machine (e.g., compute notes at cori.nersc.gov are named 'nid').

20 months agoAdd libc search path for aarch64 for test for test test_instruction_profile (#147)
Sasha NĂ­colas [Fri, 27 Mar 2020 19:25:31 +0000 (14:25 -0500)]
Add libc search path for aarch64 for test for test test_instruction_profile (#147)

Correct InstructionDecoder creation for each platform
Skip test_instruction_read_write for power and ARMv8

20 months agoReduce watchdog timeout to ten minutes (#144)
Tim Haines [Mon, 9 Mar 2020 22:54:02 +0000 (17:54 -0500)]
Reduce watchdog timeout to ten minutes (#144)

20 months agoRefactor how tests are run in build script (#143)
Tim Haines [Mon, 9 Mar 2020 22:53:42 +0000 (17:53 -0500)]
Refactor how tests are run in build script (#143)

Refactor how tests are run in build script

1. Running in single-stepping mode captures hangs
2. If 'runTest -all' hangs, it will be re-run in single-stepping mode
3. Improve logging to better trace where errors are happening
4. Remove platform-dependent run configs

22 months agoChange script to use runTests instead of test_driver
Sasha Nicolas (zeroah) [Thu, 30 Jan 2020 19:37:37 +0000 (11:37 -0800)]
Change script to use runTests instead of test_driver

22 months agoDon't instrument libdyninstAPI_RT in test_reloc (#141)
Tim Haines [Mon, 13 Jan 2020 21:44:29 +0000 (15:44 -0600)]
Don't instrument libdyninstAPI_RT in test_reloc (#141)

23 months agoClean up CMake modules (#83)
Tim Haines [Wed, 11 Dec 2019 23:25:13 +0000 (17:25 -0600)]
Clean up CMake modules (#83)

* Use libiberty from Dyninst
* Use optimization settings from Dyninst

23 months agoCorrectly link libTest12 against libDyninstAPI_RT (#135)
Tim Haines [Wed, 11 Dec 2019 08:15:17 +0000 (02:15 -0600)]
Correctly link libTest12 against libDyninstAPI_RT (#135)

2 years agoDon't skip rewriter tests for static pic mutatees (#134)
Tim Haines [Sun, 24 Nov 2019 04:29:37 +0000 (21:29 -0700)]
Don't skip rewriter tests for static pic mutatees (#134)

This fails on ARM because the implementation isn't complete, but it's
good to start tracking these since work on this is undergoing again.

2 years agoPrepend instead of replacing LD_LIBRARY_PATH when single-stepping (#133)
Tim Haines [Sat, 23 Nov 2019 19:35:39 +0000 (12:35 -0700)]
Prepend instead of replacing LD_LIBRARY_PATH when single-stepping (#133)

This prevents losing library paths that are set before running the build script (e.g., by a compiler wrapper).

2 years agoSkip 'test_thread_5 g++ dynamiclink create pic' on Zeroah (#131)
Tim Haines [Sat, 23 Nov 2019 19:14:24 +0000 (12:14 -0700)]
Skip 'test_thread_5 g++ dynamiclink create pic' on Zeroah (#131)

This one configuration of the test is nearly always hanging, so just
skip it for now. The other configurations of this test are working fine.

2 years agoRefactor system log info gathering in build script (#130)
Tim Haines [Sat, 23 Nov 2019 08:55:03 +0000 (01:55 -0700)]
Refactor system log info gathering in build script (#130)

2 years agoIgnore log header when parsing fixed-width format in build script (#129)
Tim Haines [Wed, 20 Nov 2019 08:26:14 +0000 (01:26 -0700)]
Ignore log header when parsing fixed-width format in build script (#129)

2 years agoCreate log backup before creating new log in build script (#128)
Tim Haines [Wed, 20 Nov 2019 08:10:22 +0000 (01:10 -0700)]
Create log backup before creating new log in build script (#128)

2 years agoFix fixed-width log parser (#127)
Tim Haines [Wed, 20 Nov 2019 07:50:15 +0000 (00:50 -0700)]
Fix fixed-width log parser (#127)

The last field width was off-by-one when a crash occurred during group
teardown (i.e., result was 'CRASHED (Group Teardown)').

2 years agoRefactor logging in the build script (#125)
Tim Haines [Mon, 18 Nov 2019 05:53:53 +0000 (23:53 -0600)]
Refactor logging in the build script (#125)

Refactor logging to be object-oriented. This saves on repeatedly passing around a bunch of state.

2 years agoRemove undefined behavior from runTests-utils.C:RunTest (#118)
Tim Haines [Mon, 18 Nov 2019 05:01:01 +0000 (23:01 -0600)]
Remove undefined behavior from runTests-utils.C:RunTest (#118)

It is undefined behavior to refer to the pointer returned from
`std::basic_string::c_str` after the owning string object's lifetime
has expired.

2 years agoUse a unique value for the NOTESTS error condition (#121)
Tim Haines [Mon, 18 Nov 2019 05:00:31 +0000 (23:00 -0600)]
Use a unique value for the NOTESTS error condition (#121)

The other three flags were never used, so they were removed. For
simplicity and to de facto remove the overlap between the numeric value
of NOTESTS and PASSED, NOTESTS was added to the `test_results_t` enum.

2 years agoExtend check after PR checkout before commiting (#126)
Tim Haines [Sun, 17 Nov 2019 22:32:22 +0000 (16:32 -0600)]
Extend check after PR checkout before commiting (#126)

Some git versions report 'Already up to date', while others report
'Already up-to-date'.

2 years agoSave last ten commits in the git log in build script (#123)
Tim Haines [Sat, 16 Nov 2019 21:07:38 +0000 (15:07 -0600)]
Save last ten commits in the git log in build script (#123)

This is useful for seeing which base commits a PR has been tested on top of.

2 years agoDon't save the 'test.log' file when using single-stepping. (#124)
Tim Haines [Sat, 16 Nov 2019 20:41:34 +0000 (14:41 -0600)]
Don't save the 'test.log' file when using single-stepping. (#124)

Single-stepping creates an enormous (>2GB) log file which is unruly
to examine and takes up a lot of space on the dashboard server, even
when compressed.

2 years agoFix test_relocations where it misses libc.so directory on aarch64 (#106)
Xiaozhu Meng [Sat, 16 Nov 2019 20:23:14 +0000 (14:23 -0600)]
Fix test_relocations where it misses libc.so directory on aarch64 (#106)

2 years agoChange stop signal from SIGBUS to (SIGRTMIN + 4) (#117)
Xiaozhu Meng [Sat, 16 Nov 2019 20:22:58 +0000 (14:22 -0600)]
Change stop signal from SIGBUS to (SIGRTMIN + 4) (#117)

* Change stop signal from SIGBUS to (SIGRTMIN + 4)
* Since we decide to use breakpoint as a way of sending message, add SIGTRAP as a stop signal

2 years agoproccontrol attach tests will hang if the tests are skipped. (#107)
Xiaozhu Meng [Sat, 16 Nov 2019 01:38:44 +0000 (19:38 -0600)]
proccontrol attach tests will hang if the tests are skipped. (#107)

* proccontrol attach tests will hang if the tests are skipped.
* On platforms that do not have ThreadDB, thread level tests should be skipped.
test_thread_2, 3, 5, 6 are now skipped when ThreadDB is not found. test_thread_1 tests process level control, so is not skipped

2 years agoAdd CMake configuration option to create a sterile build (#93)
Tim Haines [Wed, 13 Nov 2019 19:31:00 +0000 (13:31 -0600)]
Add CMake configuration option to create a sterile build (#93)

A sterile build requires that all dependencies are already installed on the system and thus will not be downloaded and built from source by the build system. See https://github.com/dyninst/dyninst/pull/641 for details.

2 years agoRename build log file to 'build.log' when creating the tarball (#115)
Tim Haines [Thu, 17 Oct 2019 16:46:33 +0000 (11:46 -0500)]
Rename build log file to 'build.log' when creating the tarball (#115)

The dashboard assumes the log file's name is always 'build.log' which
breaks when using '--log-file=S'. This uses an in-memory representation
of the final tarball to rename this file on the fly.

2 years agoFix incorrect behavior for switches without a value in build script. (#114)
Tim Haines [Wed, 16 Oct 2019 17:36:49 +0000 (12:36 -0500)]
Fix incorrect behavior for switches without a value in build script. (#114)

When building the invocation argument string, account for the case when
there is no value passed to a switch.