diff options
author | Holger Hans Peter Freyther <holger@moiji-mobile.com> | 2013-07-18 08:30:06 +0200 |
---|---|---|
committer | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2013-08-22 00:52:14 -0400 |
commit | 143bfdaf0b890fa7acadf02d1eafacaef1b696bd (patch) | |
tree | 5a640d40bc7489c5933aac824f2bf23ecd2818ff /src/journal | |
parent | 67ccd1c4b821b142ccd7b4bb292d9947aea8c581 (diff) |
test: Make testing work on systems without or old systemd
* Introduce a macro to conditionally execute tests. This avoids
skipping the entire test if some parts require systemd
* Skip the journal tests when no /etc/machine-id is present
* Change test-catalog to load the catalog from the source directory
of systemd.
* /proc/PID/comm got introduced in v2.6.33 but travis is still
using v2.6.32.
* Enable make check and make distcheck on the travis build
* Use -D"CATALOG_DIR=STR($(abs_top_srcdir)/catalog)" as a STRINGIY
would result in the path '/home/ich/source/linux' to be expanded
to '/home/ich/source/1' as linux is defined to 1.
Diffstat (limited to 'src/journal')
-rw-r--r-- | src/journal/test-catalog.c | 20 | ||||
-rw-r--r-- | src/journal/test-journal-interleaving.c | 4 | ||||
-rw-r--r-- | src/journal/test-journal-stream.c | 4 | ||||
-rw-r--r-- | src/journal/test-journal-verify.c | 4 | ||||
-rw-r--r-- | src/journal/test-journal.c | 4 |
5 files changed, 33 insertions, 3 deletions
diff --git a/src/journal/test-catalog.c b/src/journal/test-catalog.c index 987867f0c8..5db5bed8de 100644 --- a/src/journal/test-catalog.c +++ b/src/journal/test-catalog.c @@ -31,6 +31,16 @@ #include "sd-messages.h" #include "catalog.h" +static const char *catalog_dirs[] = { + CATALOG_DIR, + NULL, +}; + +static const char *no_catalog_dirs[] = { + "/bin/hopefully/with/no/catalog", + NULL +}; + static void test_import(Hashmap *h, struct strbuf *sb, const char* contents, ssize_t size, int code) { int r; @@ -100,9 +110,13 @@ static void test_catalog_update(void) { r = catalog_update(database, NULL, NULL); assert(r >= 0); - /* Note: this might actually not find anything, if systemd was - * not installed before. That should be fine too. */ - r = catalog_update(database, NULL, catalog_file_dirs); + /* Test what happens if there are no files in the directory. */ + r = catalog_update(database, NULL, no_catalog_dirs); + assert(r >= 0); + + /* Make sure that we at least have some files loaded or the + catalog_list below will fail. */ + r = catalog_update(database, NULL, catalog_dirs); assert(r >= 0); } diff --git a/src/journal/test-journal-interleaving.c b/src/journal/test-journal-interleaving.c index 069d297a9f..2b21523f57 100644 --- a/src/journal/test-journal-interleaving.c +++ b/src/journal/test-journal-interleaving.c @@ -288,6 +288,10 @@ static void test_sequence_numbers(void) { int main(int argc, char *argv[]) { log_set_max_level(LOG_DEBUG); + /* journal_file_open requires a valid machine id */ + if (access("/etc/machine-id", F_OK) != 0) + return EXIT_TEST_SKIP; + arg_keep = argc > 1; test_skip(setup_sequential); diff --git a/src/journal/test-journal-stream.c b/src/journal/test-journal-stream.c index 6b32b252e8..8e1d08d596 100644 --- a/src/journal/test-journal-stream.c +++ b/src/journal/test-journal-stream.c @@ -80,6 +80,10 @@ int main(int argc, char *argv[]) { const void *data; size_t l; + /* journal_file_open requires a valid machine id */ + if (access("/etc/machine-id", F_OK) != 0) + return EXIT_TEST_SKIP; + log_set_max_level(LOG_DEBUG); assert_se(mkdtemp(t)); diff --git a/src/journal/test-journal-verify.c b/src/journal/test-journal-verify.c index 6b7414a4b1..0540074207 100644 --- a/src/journal/test-journal-verify.c +++ b/src/journal/test-journal-verify.c @@ -77,6 +77,10 @@ int main(int argc, char *argv[]) { struct stat st; uint64_t p; + /* journal_file_open requires a valid machine id */ + if (access("/etc/machine-id", F_OK) != 0) + return EXIT_TEST_SKIP; + log_set_max_level(LOG_DEBUG); assert_se(mkdtemp(t)); diff --git a/src/journal/test-journal.c b/src/journal/test-journal.c index 534fd28fa6..190c426eba 100644 --- a/src/journal/test-journal.c +++ b/src/journal/test-journal.c @@ -174,6 +174,10 @@ static void test_empty(void) { int main(int argc, char *argv[]) { arg_keep = argc > 1; + /* journal_file_open requires a valid machine id */ + if (access("/etc/machine-id", F_OK) != 0) + return EXIT_TEST_SKIP; + test_non_empty(); test_empty(); |