Commit Graph

144 Commits

Author SHA1 Message Date
martin fd70cddd86 Wait 10 seconds instead of 1 before killing the helper - otherwise on slow
machines it might not have gotten around to execute the first command at
all (and since it next waits for 42 seconds, 10 seconds is safe).
2015-02-23 08:48:18 +00:00
gson 32627f22be Mark atf/atf-c/macros_test/detect_unused_tests and
atf/atf-c++/macros_test/detect_unused_tests as expected failures
when using versions of GCC where they are known to fail, with a
reference to PR toolchain/49187.
2015-01-22 12:33:35 +00:00
dholland b7b7574d3b Reorg docs, part 1:
Move all the reference manuals to subdirs of /usr/share/doc/reference.
We have subdirs ref1-ref9, corresponding to man page sections 1-9.

Everything that's the reference manual for a program (sections 1, 6,
8), C interface (sections 2, 3), driver or file system (section 4),
format or configuration (section 5), or kernel internal interface
(section 9) belongs in here.

Section 7 is a little less clear: some things that might go in section
7 if they were a man page aren't really reference manuals. So I'm only
putting things in reference section 7 that are (to me) clearly
reference material, rather than e.g. tutorials, guides, FAQs, etc.
This obviously leaves some room for debate, especially without first
editing the docs with this distinction in mind, but if people hate
what I've done things can always be moved again.

Note also that while roff macro man pages traditionally go in section
7, I have put all the roff documentation (macros, tools, etc.) in one
place in reference/ref1/roff. This will make it easier to find and
also easier to edit it into some kind of coherent form.
2014-07-05 19:22:41 +00:00
jmmv ba38cec1e2 Avoid running a helper program for atf-sh as a test.
Should fix failures observed in PR bin/48624.
2014-03-03 19:56:32 +00:00
jmmv 285456ed54 Fix bundling of the atf version into pkgconfig files and atf-version.
Sigh; one more attempt.  This time I'm sure I've verified that the
.pc files contain the right number and that atf-version also outputs
the right stuff...  Both with a clean and non-clean obj directory.

Should fix part of the problems reported in PR bin/48624.
2014-03-02 22:50:13 +00:00
jmmv d9eee690ca Obviously, we want ATFFILE and KYUAFILE to be set to yes... 2014-02-15 22:32:26 +00:00
jmmv 5ecd3e3027 Prevent registering the helper programs as test programs.
Same trick as with atf/test-programs: provide hand-generated Atffile and
Kyuafile files so that the helpers that we build as test programs do not
end up in them.

Reported by gson@.
2014-02-15 19:33:54 +00:00
jmmv 752fe084c0 Fix the bundling of the version number in built files.
Yes, attempting yet another fix at this so that the version number that
gets recorded in the pkgconfig files and inside atf-version really matches
the latest imported version.  Should resolve issues where the built files
get stuck with an older version number during update builds.

This time, I'm trying the same approach I applied in the FreeBSD source
tree, which has been working fine so far across various release imports.
2014-02-15 04:19:46 +00:00
jmmv 70bbcb4b33 Prevent registering the helper programs as test programs.
They are not intended to be run neither by atf-run nor Kyua, and doing so
results in test failures.  The easiest way to do this for now is to just
ship custom Atffile and Kyuafile files.  (This broke because with atf-0.20
we started using the auto-generated versions of these, and due to the way
bsd.test.mk works, these registered the helpers as well.)

Problem reported by martin@.
2014-02-15 04:15:20 +00:00
jmmv 3e03992881 Fix path to libtools.a.
The build would break when we do not use MAKEOBJDIR* but do use OBJMACHINE.
Problem found by B Harder and fix based on patch from NONAKA Kimihiro as
posted on current-users.
2014-02-15 02:02:39 +00:00
jmmv a38e0b43c5 Homogenize reachover build file structure with that of kyua-cli:
- Move the majority of the common build definitions to the top-level
  Makefile.inc and ensure this gets included everywhere.
- Move the bconfig.h file to the top-level directory.
- Add a statically-generated defs.h file instead of creating one
  during the build.  Easier to understand and less chances for things
  to go wrong.
- Make sure all files using ATF_VERSION have the right dependency to
  trigger a rebuild when the value changes.
- Clean up stale -I flags.

This is all mostly for simplicity reasons and to reduce the cognitive
load required to understand the build of the atf and kyua-* packages.

I have tested this with both MKKYUA=no/yes and non-clean/clean builds
so hopefully I got the details right.  But if not, let me know please.
2014-02-12 04:08:31 +00:00
jmmv 5506dc87b2 Remove unused reachover Makefiles.
The content of these was subsumed into the sibling 'tools' subdirectory
during the import of atf-0.19.
2014-02-12 03:47:21 +00:00
jmmv 646fe152bb Remove portability-related guards from the atf tools.
Just assume we are building for NetBSD given that the tools code is now
owned by the NetBSD tree.
2014-02-11 18:13:45 +00:00
jmmv 892cb06d80 Remove revision.h and associated complexity from atf-version.
Arguably, this was never needed and only made the code and the build system
more complex for no real reason.
2014-02-11 18:07:30 +00:00
jmmv fd47ea3b40 Stop using bconfig.h in the tools code.
Just assume the code is being built for NetBSD for simplicity reasons.
2014-02-11 17:28:20 +00:00
jmmv ad23a81712 Remove defs.hpp.
Because we now own the 'tools' subdirectory in the tree, we can yank some
of the upstream autoconf-related complexity.  Start doing so by removing
defs.hpp and using the real compiler attributes where necessary.
2014-02-11 16:31:38 +00:00
jmmv 25347c603f Update reachover build files for atf-0.20. 2014-02-11 16:11:28 +00:00
jmmv 6b0aadc835 Merge atf-0.20.
The upstream Atffiles are gone so we will just rely on our automatic
generation of such files from bsd.test.mk.
2014-02-11 16:10:40 +00:00
jmmv 940a202b3a Import atf-0.20:
Experimental version released on February 7th, 2014.

This is the first release without the code for the deprecated tools.  If
you require such code, please fetch a copy of the 0.19 release and extract
the 'tools' directory for your own consumption.

* Removed the deprecated tools.  This includes atf-config, atf-report,
  atf-run and atf-version.
2014-02-11 16:07:06 +00:00
jmmv fd82d5173d Update for atf 0.19. 2014-02-09 14:02:39 +00:00
jmmv 152d2ecbea Adjust reachover Makefiles for atf-0.19.
The main change here is that the atf-config, atf-report, atf-run and
atf-version tools no longer depend on libatf-c nor libatf-c++.  Instead,
they depend on an internal libtools.a that contains code specifically
for these tools and nothing else, making them self-contained.
2014-02-08 19:15:33 +00:00
jmmv 97bff2045d Merge atf-0.19. 2014-02-08 19:13:43 +00:00
jmmv d780102efe Import atf 0.19:
Changes in version 0.19
***********************

Experimental version released on February 7th, 2014.

This is the last release to bundle the code for the deprecated tools.
The next release will drop their code and will stop worrying about
backwards compatibility between the ATF libraries and what the old tools
may or may not support.

If you still require the old tools for some reason, grab a copy of the
'tools' directory now.  The code in this directory is standalone and
does not depend on any internal details of atf-c++ any longer.

* Various fixes and improvements to support running as part of the FreeBSD
  test suite.

* Project hosting moved from Google Code (as a subproject of Kyua) to
  GitHub (as a first-class project).  The main reason for the change is
  the suppression of binary downloads in Google Code on Jan 15th, 2014.
  See https://github.com/jmmv/atf/

* Removed builtin help from atf-sh(1) and atf-check(1) for simplicity
  reasons.  In other words, their -h option is gone.

* Moved the code of the deprecated tools into a 'tools' directory and
  completely decoupled their code from the internals of atf-c++.  The
  reason for this is to painlessly allow a third-party to maintain a
  copy of these tools after we delete them because upcoming changes to
  atf-c++ would break the stale tools.


Changes in version 0.18
***********************

Experimental version released on November 16th, 2013.

* Issue 45: Added require.memory support in atf-run for FreeBSD.

* Fixed an issue with the handling of cin with libc++.

* Issue 64: Fixed various mandoc formatting warnings.

* NetBSD PR bin/48284: Made atf-check flush its progress message to
  stdout so that an interrupted test case always shows the last message
  being executed.

* NetBSD PR bin/48285: Fixed atf_check examples in atf-sh-api(3).
2014-02-08 19:11:29 +00:00
jmmv 01fb61d6eb Adjust for import of atf 0.19.
- Delete some unnecessary files.
- Print out both the list of deleted files and added files in the import.
  Useful when adjusting file lists and the reachover Makefiles.
2014-02-08 19:06:05 +00:00
christos 558f21b60f Undo previous; unfortunately the cleanup routine gets called in a different
shell so it can't cleanup stuff set in the environment of the first shell.
There are 2 problems:
	- calling the test routine directly does not cleanup (not using
	  atf-run)
	- when using atf-run, the cleanup routine needs state from the
	  running code which can only be stored in files. This will never
	  allow us to run tests in parallel since we need to keep a known
	  place to pass state.
2014-01-10 01:39:32 +00:00
christos beed3378d3 Make cleanup work as documented; note there are no tests testing that cleanup
works.
2014-01-10 01:16:07 +00:00
joerg d29a92a31f Format string annotations and fixes for resulting fallout. 2014-01-07 02:06:42 +00:00
joerg 36a6d19157 Handle dependency on libstdc++ / libc++ in bsd.lib.mk. 2013-09-12 17:14:20 +00:00
joerg 1031501f81 It is unclear whether cin is guaranteed to buffer the last input
character of a get() for ungetch() to work. Prefer putback() to make it
work with current implementations of cin in libc++. Tracked as
http://llvm.org/bugs/show_bug.cgi?id=15867 with test case.
2013-04-30 00:31:56 +00:00
jmmv 4efe0dfefd Mark the atf/atf-{c,c++}/pkg_config_test:version tests as needing atf-version. 2013-03-16 04:21:19 +00:00
jmmv 29a902d3bf Deduce the version number to encode in pkgconfig files by getting it from
bconfig.h.  Also make the build of these files depends on bconfig.h itself.

This should fix once and for all the problems of the
atf/atf-{c,c++}/pkg_config_test:version tests breaking because the
pkgconfig files hold an old version number during update builds.
2013-03-14 07:10:05 +00:00
jmmv 8c23905fbe Do not install atf-config, atf-report, atf-run nor atf-version when
MKKYUA!=no.  The newly imported kyua-atf-compat module provides a
backwards-compatibility implementation of atf-report and atf-run
based on kyua(1).
2013-02-25 00:22:10 +00:00
jmmv 2ff3d6baf3 Fix atf version in pkgconfig files (should be 0.17).
Keeping these files up to date with every new import is too easy to get
wrong.  Would be nice if we'd extract the version number in some other
manner, like from lib/libatf-c/bconfig.h.

Found by martin@.
2013-02-19 15:35:42 +00:00
jmmv a9d87426d0 Update reachover Makefiles for atf 0.17. 2013-02-15 17:08:34 +00:00
jmmv 6f587c9882 Fix merge conflicts after import of atf 0.17. 2013-02-15 17:07:59 +00:00
jmmv 0659fc670c Import atf 0.17:
Experimental version released on February 14th, 2013.

* Added the atf_utils_cat_file, atf_utils_compare_file,
  atf_utils_copy_file, atf_utils_create_file, atf_utils_file_exists,
  atf_utils_fork, atf_utils_grep_file, atf_utils_grep_string,
  atf_utils_readline, atf_utils_redirect and atf_utils_wait utility
  functions to atf-c-api.  Documented the already-public
  atf_utils_free_charpp function.

* Added the cat_file, compare_file, copy_file, create_file, file_exists,
  fork, grep_collection, grep_file, grep_string, redirect and wait
  functions to the atf::utils namespace of atf-c++-api.  These are
  wrappers around the same functions added to the atf-c-api library.

* Added the ATF_CHECK_MATCH, ATF_CHECK_MATCH_MSG, ATF_REQUIRE_MATCH and
  ATF_REQUIRE_MATCH_MSG macros to atf-c to simplify the validation of a
  string against a regular expression.

* Miscellaneous fixes for manpage typos and compilation problems with
  clang.

* Added caching of the results of those configure tests that rely on
  executing a test program.  This should help crossbuild systems by
  providing a mechanism to pre-specify what the results should be.

* PR bin/45690: Make atf-report convert any non-printable characters to
  a plain-text representation (matching their corresponding hexadecimal
  entities) in XML output files.  This is to prevent the output of test
  cases from breaking xsltproc later.
2013-02-15 17:04:15 +00:00
joerg fa51ffa63a now sense -> no sense 2012-09-26 23:27:34 +00:00
joerg ed602fb487 Don't use const foo const as type, one const is enough. 2012-09-13 21:44:49 +00:00
joerg cbb088a668 Clang supports -Wno-stack-protector. 2012-08-10 17:12:11 +00:00
abs e1e1c8c184 Check for ${HAVE_GCC} and pick the right path to stdc++ 2012-07-15 00:05:51 +00:00
christos b48e242cbc depend on more libraries 2012-07-12 22:15:29 +00:00
christos a931a66df8 Properly include dependent library, unbreaks objdir build. 2012-07-12 16:15:40 +00:00
jmmv 5b0d95a977 Update reachover Makefiles for atf 0.16.
As part of this change (and as done upstream and in various packaging
systems), start shipping shared libraries of both libatf-c and libatf-c++.
2012-07-11 22:40:16 +00:00
jmmv 9e6674dcce Post-import merge of atf 0.16. 2012-07-11 22:38:40 +00:00
jmmv 4e0366868d Import atf 0.16:
Experimental version released on July 10th, 2012.

* Added a --enable-tools flag to configure to request the build of the
  deprecated ATF tools, whose build is now disabled by default.  In order
  to continue running tests, you should migrate to Kyua instead of enabling
  the build of the deprecated tools.  The kyua-atf-compat package provides
  transitional compatibility versions of atf-run and atf-report built on
  top of Kyua.

* Tweaked the ATF_TEST_CASE macro of atf-c++ so that the compiler can
  detect defined but unused test cases.

* PR bin/45859: Fixed some XSLT bugs that resulted in the tc-time and
  tp-time XML tags leaking into the generated HTML file.  Also improved
  the CSS file slightly to correct alignment and color issues with the
  timestamps column.

* Optimized atf-c++/macros.hpp so that GNU G++ consumes less memory during
  compilation with GNU G++.

* Flipped the default to building shared libraries for atf-c and atf-c++,
  and started versioning them.  As a side-effect, this removes the
  --enable-unstable-shared flag from configure that appears to not work any
  more (under NetBSD).  Additionally, some distributions require the use of
  shared libraries for proper dependency tracking (e.g. Fedora), so it is
  better if we do the right versioning upstream.

* Project hosting moved from an adhoc solution (custom web site and
  Monotone repository) to Google Code (standard wiki and Git).  ATF now
  lives in a subcomponent of the Kyua project.
2012-07-11 22:37:05 +00:00
joerg 8df5dadc39 Don't bail out on unused private fields. 2012-06-16 17:02:33 +00:00
jmmv a2edf997c0 Fix retry logic to avoid triggering an assertion. 2012-04-05 01:04:18 +00:00
jmmv a5f84fa6bf Pull up upstream revision db8568696ad5a100ab3f118ac1cde53ee61ccbc3:
Fix some XSLT/CSS bugs that leaked some internal tags into the HTML file.
This, together with some CSS inconsistency, supposedly prevented the
timestamp column from being right-aligned... although I have not been able
to reproduce it with neither Chrome nor Firefox.  That said, the changes
in here should fix this.

While doing this, also change the background color of the timestamp column
for test programs to improve the divider bar between test programs.

Based on patches and ideas from pgoyette@.  Should fix PR bin/45859.
2012-01-23 23:03:39 +00:00
jmmv 5436766ad5 Update reachover build files and scripts to deal with the just-imported
atf 0.15.
2012-01-16 22:42:40 +00:00
jmmv 36b886fe83 Resolve conflicts after the import of atf 0.15. 2012-01-16 22:41:30 +00:00