summaryrefslogtreecommitdiffstats
path: root/userspace
diff options
context:
space:
mode:
authorAlex Waterman <alexw@nvidia.com>2018-06-27 17:45:16 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2018-08-10 02:11:13 -0400
commit98d092e73679be792f99bb6debb9ecffbf403987 (patch)
treee0c62a10f2ecc55a7d887833bcb1aaada5b5eec6 /userspace
parent70915d8d604965fddf79cb68c0de5b32ed2ab104 (diff)
gpu: nvgpu: unit: Add test unit module
Add a super simple tiny test unit module to test the unit test framework. This unit test has a test that deliberately fails so it obviously cannot be part of a real unit test run. Eventually this will have to be removed or otherwise skipped. JIRA NVGPU-525 Change-Id: I41532a85156445a778897bbc84bb5919deab56ae Signed-off-by: Alex Waterman <alexw@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1687095 GVS: Gerrit_Virtual_Submit Reviewed-by: Konsta Holtta <kholtta@nvidia.com> Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'userspace')
-rw-r--r--userspace/Makefile.sources3
-rw-r--r--userspace/units/Makefile.units2
-rw-r--r--userspace/units/test/Makefile31
-rw-r--r--userspace/units/test/test.c44
4 files changed, 78 insertions, 2 deletions
diff --git a/userspace/Makefile.sources b/userspace/Makefile.sources
index cb46573a..e0ad3eb4 100644
--- a/userspace/Makefile.sources
+++ b/userspace/Makefile.sources
@@ -45,4 +45,5 @@ CORE_HEADERS := \
45 $(CORE_SRC)/../include/unit/*.h 45 $(CORE_SRC)/../include/unit/*.h
46 46
47# Each directory under the UNIT_SRC directory should correspond to one module. 47# Each directory under the UNIT_SRC directory should correspond to one module.
48UNITS := 48UNITS := \
49 $(UNIT_SRC)/test
diff --git a/userspace/units/Makefile.units b/userspace/units/Makefile.units
index 64b9e07d..9ba3111d 100644
--- a/userspace/units/Makefile.units
+++ b/userspace/units/Makefile.units
@@ -37,7 +37,7 @@ all: lib$(MODULE).so
37 $(CC) $(CFLAGS) -c -o $@ $< 37 $(CC) $(CFLAGS) -c -o $@ $<
38 38
39lib$(MODULE).so: $(OBJS) 39lib$(MODULE).so: $(OBJS)
40 $(CC) -shared -o $@ $(OBJS) 40 $(CC) -shared -o $@ $(OBJS) $(LIB_PATHS) -lnvgpu_unit
41 @mkdir -p $(UNIT_OUT)/ 41 @mkdir -p $(UNIT_OUT)/
42 @cp $@ $(UNIT_OUT)/ 42 @cp $@ $(UNIT_OUT)/
43 43
diff --git a/userspace/units/test/Makefile b/userspace/units/test/Makefile
new file mode 100644
index 00000000..fad38864
--- /dev/null
+++ b/userspace/units/test/Makefile
@@ -0,0 +1,31 @@
1# Copyright (c) 2018, NVIDIA CORPORATION. All rights reserved.
2#
3# Permission is hereby granted, free of charge, to any person obtaining a
4# copy of this software and associated documentation files (the "Software"),
5# to deal in the Software without restriction, including without limitation
6# the rights to use, copy, modify, merge, publish, distribute, sublicense,
7# and/or sell copies of the Software, and to permit persons to whom the
8# Software is furnished to do so, subject to the following conditions:
9#
10# The above copyright notice and this permission notice shall be included in
11# all copies or substantial portions of the Software.
12#
13# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
16# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
18# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
19# DEALINGS IN THE SOFTWARE.
20
21.SUFFIXES:
22
23#
24# Simple test unit test.
25#
26
27OBJS = test.o
28MODULE = test
29
30# Defines all the rules for building a typical module.
31include ../Makefile.units
diff --git a/userspace/units/test/test.c b/userspace/units/test/test.c
new file mode 100644
index 00000000..e5b9cae7
--- /dev/null
+++ b/userspace/units/test/test.c
@@ -0,0 +1,44 @@
1/*
2 * Copyright (c) 2018, NVIDIA CORPORATION. All rights reserved.
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a
5 * copy of this software and associated documentation files (the "Software"),
6 * to deal in the Software without restriction, including without limitation
7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 * and/or sell copies of the Software, and to permit persons to whom the
9 * Software is furnished to do so, subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included in
12 * all copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
19 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
20 * DEALINGS IN THE SOFTWARE.
21 */
22
23#include <stdlib.h>
24
25#include <unit/unit.h>
26
27#include <nvgpu/posix/probe.h>
28
29int test_simplest(struct unit_module *m, struct gk20a *g, void *args)
30{
31 return UNIT_SUCCESS;
32}
33
34int test_fail(struct unit_module *m, struct gk20a *g, void *args)
35{
36 return UNIT_FAIL;
37}
38
39struct unit_module_test test_tests[] = {
40 UNIT_TEST(simplest, test_simplest, NULL),
41 UNIT_TEST(fail, test_fail, NULL),
42};
43
44UNIT_MODULE(test, test_tests, UNIT_PRIO_SELF_TEST);