summaryrefslogtreecommitdiff
path: root/src/journal
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <holger@moiji-mobile.com>2013-07-18 08:30:06 +0200
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2013-08-22 00:52:14 -0400
commit143bfdaf0b890fa7acadf02d1eafacaef1b696bd (patch)
tree5a640d40bc7489c5933aac824f2bf23ecd2818ff /src/journal
parent67ccd1c4b821b142ccd7b4bb292d9947aea8c581 (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.c20
-rw-r--r--src/journal/test-journal-interleaving.c4
-rw-r--r--src/journal/test-journal-stream.c4
-rw-r--r--src/journal/test-journal-verify.c4
-rw-r--r--src/journal/test-journal.c4
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();