mirror of
https://gitlab.com/apparmor/apparmor.git
synced 2025-03-04 08:24:42 +01:00
Basic test that invokes aalogparse functions from C++ code
Signed-off-by: Ryan Lee <ryan.lee@canonical.com>
This commit is contained in:
parent
3cb61b6b41
commit
645b1406d1
4 changed files with 31 additions and 1 deletions
4
.gitignore
vendored
4
.gitignore
vendored
|
@ -109,6 +109,10 @@ libraries/libapparmor/src/tst_aalogmisc
|
||||||
libraries/libapparmor/src/tst_aalogmisc.log
|
libraries/libapparmor/src/tst_aalogmisc.log
|
||||||
libraries/libapparmor/src/tst_aalogmisc.o
|
libraries/libapparmor/src/tst_aalogmisc.o
|
||||||
libraries/libapparmor/src/tst_aalogmisc.trs
|
libraries/libapparmor/src/tst_aalogmisc.trs
|
||||||
|
libraries/libapparmor/src/tst_aalogparse_cpp
|
||||||
|
libraries/libapparmor/src/tst_aalogparse_cpp.log
|
||||||
|
libraries/libapparmor/src/tst_aalogparse_cpp.o
|
||||||
|
libraries/libapparmor/src/tst_aalogparse_cpp.trs
|
||||||
libraries/libapparmor/src/tst_aalogparse_reentrancy
|
libraries/libapparmor/src/tst_aalogparse_reentrancy
|
||||||
libraries/libapparmor/src/tst_aalogparse_reentrancy.log
|
libraries/libapparmor/src/tst_aalogparse_reentrancy.log
|
||||||
libraries/libapparmor/src/tst_aalogparse_reentrancy.o
|
libraries/libapparmor/src/tst_aalogparse_reentrancy.o
|
||||||
|
|
|
@ -92,6 +92,8 @@ if test "$ac_cv_prog_cc_c99" = "no"; then
|
||||||
AC_MSG_ERROR([C99 mode is required to build libapparmor])
|
AC_MSG_ERROR([C99 mode is required to build libapparmor])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
AC_PROG_CXX
|
||||||
|
|
||||||
m4_ifndef([AX_CHECK_COMPILE_FLAG], [AC_MSG_ERROR(['autoconf-archive' missing])])
|
m4_ifndef([AX_CHECK_COMPILE_FLAG], [AC_MSG_ERROR(['autoconf-archive' missing])])
|
||||||
EXTRA_CFLAGS="-Wall $EXTRA_WARNINGS -fPIC"
|
EXTRA_CFLAGS="-Wall $EXTRA_WARNINGS -fPIC"
|
||||||
AX_CHECK_COMPILE_FLAG([-flto-partition=none], , , [-Werror])
|
AX_CHECK_COMPILE_FLAG([-flto-partition=none], , , [-Werror])
|
||||||
|
@ -99,6 +101,7 @@ AS_VAR_IF([ax_cv_check_cflags__Werror__flto_partition_none], [yes],
|
||||||
[EXTRA_CFLAGS="$EXTRA_CFLAGS -flto-partition=none"]
|
[EXTRA_CFLAGS="$EXTRA_CFLAGS -flto-partition=none"]
|
||||||
,)
|
,)
|
||||||
AC_SUBST([AM_CFLAGS], ["$EXTRA_CFLAGS"])
|
AC_SUBST([AM_CFLAGS], ["$EXTRA_CFLAGS"])
|
||||||
|
AC_SUBST([AM_CXXFLAGS], ["$EXTRA_CFLAGS"])
|
||||||
|
|
||||||
AC_OUTPUT(
|
AC_OUTPUT(
|
||||||
Makefile
|
Makefile
|
||||||
|
|
|
@ -73,6 +73,9 @@ CLEANFILES = libapparmor.pc
|
||||||
tst_aalogmisc_SOURCES = tst_aalogmisc.c
|
tst_aalogmisc_SOURCES = tst_aalogmisc.c
|
||||||
tst_aalogmisc_LDADD = .libs/libapparmor.a
|
tst_aalogmisc_LDADD = .libs/libapparmor.a
|
||||||
|
|
||||||
|
tst_aalogparse_cpp_SOURCES = tst_aalogparse_cpp.cpp
|
||||||
|
tst_aalogparse_cpp_LDADD = .libs/libapparmor.a
|
||||||
|
|
||||||
tst_aalogparse_reentrancy_SOURCES = tst_aalogparse_reentrancy.c
|
tst_aalogparse_reentrancy_SOURCES = tst_aalogparse_reentrancy.c
|
||||||
tst_aalogparse_reentrancy_LDADD = .libs/libapparmor.a
|
tst_aalogparse_reentrancy_LDADD = .libs/libapparmor.a
|
||||||
tst_aalogparse_reentrancy_LDFLAGS = -pthread
|
tst_aalogparse_reentrancy_LDFLAGS = -pthread
|
||||||
|
@ -84,7 +87,7 @@ tst_kernel_SOURCES = tst_kernel.c
|
||||||
tst_kernel_LDADD = .libs/libapparmor.a
|
tst_kernel_LDADD = .libs/libapparmor.a
|
||||||
tst_kernel_LDFLAGS = -pthread
|
tst_kernel_LDFLAGS = -pthread
|
||||||
|
|
||||||
check_PROGRAMS = tst_aalogmisc tst_aalogparse_reentrancy tst_features tst_kernel
|
check_PROGRAMS = tst_aalogmisc tst_aalogparse_reentrancy tst_aalogparse_cpp tst_features tst_kernel
|
||||||
TESTS = $(check_PROGRAMS)
|
TESTS = $(check_PROGRAMS)
|
||||||
|
|
||||||
.PHONY: check-local
|
.PHONY: check-local
|
||||||
|
|
20
libraries/libapparmor/src/tst_aalogparse_cpp.cpp
Normal file
20
libraries/libapparmor/src/tst_aalogparse_cpp.cpp
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
#include <aalogparse.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
#include "private.h"
|
||||||
|
|
||||||
|
const char* log_line = "[23342.075380] audit: type=1400 audit(1725487203.971:1831): apparmor=\"DENIED\" operation=\"open\" class=\"file\" profile=\"snap-update-ns.firmware-updater\" name=\"/proc/202964/maps\" pid=202964 comm=\"5\" requested_mask=\"r\" denied_mask=\"r\" fsuid=1000 ouid=0";
|
||||||
|
|
||||||
|
int main(void) {
|
||||||
|
int rc = 0;
|
||||||
|
|
||||||
|
/* Very basic test to ensure we can do aalogparse stuff in C++ */
|
||||||
|
aa_log_record *record = parse_record(log_line);
|
||||||
|
MY_TEST(record != NULL, "Log failed to parse");
|
||||||
|
MY_TEST(record->version == AA_RECORD_SYNTAX_V2, "Log should have parsed as v2 form");
|
||||||
|
MY_TEST(record->aa_namespace == NULL, "Log should have NULL namespace");
|
||||||
|
MY_TEST((record->rule_class != NULL) && (strcmp(record->rule_class, "file") == 0), "Log should have file class");
|
||||||
|
free_record(record);
|
||||||
|
|
||||||
|
return rc;
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue