diff --git a/base-nova/src/test/cap_integrity/main.cc b/base-nova/src/test/cap_integrity/main.cc new file mode 100644 index 0000000000..f0eb719271 --- /dev/null +++ b/base-nova/src/test/cap_integrity/main.cc @@ -0,0 +1,37 @@ +/* + * \brief Testing capability integrity + * \author Christian Prochaska + * \author Alexander Boettcher + * \date 2012-02-10 + * + */ + +/* + * Copyright (C) 2008-2012 Genode Labs GmbH + * + * This file is part of the Genode OS framework, which is distributed + * under the terms of the GNU General Public License version 2. + */ + +#include +#include + +using namespace Genode; + +int main(int argc, char **argv) +{ + printf("--- capability integrity test ---\n"); + /* try the first 1000 local name IDs */ + for (unsigned local_name = 0; local_name < 1000; local_name++) { + Native_capability ram_cap = env()->ram_session_cap(); + Log_session_capability log_session_cap = + reinterpret_cap_cast(ram_cap); + Log_session_client log_session_client(log_session_cap); + try { + log_session_client.write("test message"); + } catch(...) { } + } + + printf("--- finished capability integrity test ---\n"); + return 0; +} diff --git a/base-nova/src/test/cap_integrity/target.mk b/base-nova/src/test/cap_integrity/target.mk new file mode 100644 index 0000000000..024b16ca49 --- /dev/null +++ b/base-nova/src/test/cap_integrity/target.mk @@ -0,0 +1,3 @@ +TARGET = test-cap_integrity +SRC_CC = main.cc +LIBS = env