summaryrefslogtreecommitdiff
path: root/test/libtest/test.h
blob: 8ecf2bda950f071937eaab555f073d2409323964 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
/* SPDX-License-Identifier: GPL-2.0-or-later */
/*
 * Copyright (C) 2018, Google Inc.
 *
 * test.h - libcamera test base class
 */
#ifndef __TEST_TEST_H__
#define __TEST_TEST_H__

#include <sstream>

enum TestStatus {
	TestPass = 0,
	TestFail = -1,
	TestSkip = 77,
};

class Test
{
public:
	Test();
	virtual ~Test();

	int execute();

protected:
	virtual int init() { return 0; }
	virtual int run() = 0;
	virtual void cleanup() {}
};

#define TEST_REGISTER(klass)						\
int main([[maybe_unused]] int argc, [[maybe_unused]] char *argv[])	\
{									\
	return klass().execute();					\
}

#endif /* __TEST_TEST_H__ */
class="hl opt">[ ! -d "${chromium_dir}/mojo" ] ; then echo "Directory ${chromium_dir} doesn't contain mojo" exit 1 fi if [ ! -d "${chromium_dir}/.git" ] ; then echo "Directory ${chromium_dir} doesn't contain a git tree" exit 1 fi # Get the chromium commit id version=$(git -C "${chromium_dir}" rev-parse --short HEAD) # Reject dirty chromium trees if [ -n "$(git -C "${chromium_dir}" status --porcelain)" ] ; then echo "Chromium tree in ${chromium_dir} is dirty" exit 1 fi # Remove the previously imported files. rm -rf utils/ipc/mojo/ rm -rf utils/ipc/tools/ # Copy the diagnosis file mkdir -p utils/ipc/tools/diagnosis/ cp "${chromium_dir}/tools/diagnosis/crbug_1001171.py" utils/ipc/tools/diagnosis/ # Copy the rest of mojo mkdir -p utils/ipc/mojo/public/ cp "${chromium_dir}/mojo/public/LICENSE" utils/ipc/mojo/public/ ( cd "${chromium_dir}" || exit find ./mojo/public/tools -type f \ -not -path "*/generators/*" \ -not -path "*/fuzzers/*" \ -exec cp --parents "{}" "${ipc_dir}" ";" ) # Update the README files readme=$(cat <<EOF # SPDX-License-Identifier: CC0-1.0 Files in this directory are imported from ${version} of Chromium. Do not modify them manually. EOF ) echo "$readme" > utils/ipc/mojo/README echo "$readme" > utils/ipc/tools/README # Commit the update. Use 'git commit -n' to avoid checkstyle pre-commit hook # failures, as mojo doesn't comply with the Python coding style enforced by # checkstyle.py. git add utils/ipc/mojo/ git add utils/ipc/tools/ echo "utils: ipc: Update mojo Update mojo from commit $(git -C "${chromium_dir}" show --pretty='%H "%s"' --no-patch) from the Chromium repository. The update-mojo.sh script was used for this update." | \ git commit -n -s -F -