From 9605d535a7872d4b4da4b873c7c6a6b365772fff Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Mon, 31 Oct 2022 11:14:03 +0000 Subject: [PATCH] build: Add switch to disable tests Signed-off-by: Michael Tremer --- src/_pakfire/pakfire.c | 10 ++++++++-- src/libpakfire/build.c | 8 +++++--- src/libpakfire/include/pakfire/build.h | 1 + src/scripts/pakfire-builder.in | 3 +++ 4 files changed, 17 insertions(+), 5 deletions(-) diff --git a/src/_pakfire/pakfire.c b/src/_pakfire/pakfire.c index 73e8418aa..6ec1ce9ce 100644 --- a/src/_pakfire/pakfire.c +++ b/src/_pakfire/pakfire.c @@ -1114,6 +1114,7 @@ static PyObject* Pakfire_build(PakfireObject* self, PyObject* args, PyObject* kw "build_id", "disable_snapshot", "disable_ccache", + "disable_tests", NULL, }; @@ -1121,9 +1122,10 @@ static PyObject* Pakfire_build(PakfireObject* self, PyObject* args, PyObject* kw const char* build_id = NULL; int disable_snapshot = 0; int disable_ccache = 0; + int disable_tests = 0; - if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s|zpp", kwlist, &path, &build_id, - &disable_snapshot, &disable_ccache)) + if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s|zppp", kwlist, &path, &build_id, + &disable_snapshot, &disable_ccache, &disable_tests)) return NULL; int flags = 0; @@ -1136,6 +1138,10 @@ static PyObject* Pakfire_build(PakfireObject* self, PyObject* args, PyObject* kw if (disable_ccache) flags |= PAKFIRE_BUILD_DISABLE_CCACHE; + // Disable tests if requested + if (disable_tests) + flags |= PAKFIRE_BUILD_DISABLE_TESTS; + // Run build int r = pakfire_build(self->pakfire, path, NULL, build_id, flags); diff --git a/src/libpakfire/build.c b/src/libpakfire/build.c index 9dce793b8..12b8a5a25 100644 --- a/src/libpakfire/build.c +++ b/src/libpakfire/build.c @@ -1210,9 +1210,11 @@ static int pakfire_build_perform(struct pakfire_build* build, goto ERROR; // Test the build - r = pakfire_build_stage(build, makefile, "test"); - if (r) - goto ERROR; + if (!pakfire_build_has_flag(build, PAKFIRE_BUILD_DISABLE_TESTS)) { + r = pakfire_build_stage(build, makefile, "test"); + if (r) + goto ERROR; + } // Install everything r = pakfire_build_stage(build, makefile, "install"); diff --git a/src/libpakfire/include/pakfire/build.h b/src/libpakfire/include/pakfire/build.h index 726d32d3e..2eda64eed 100644 --- a/src/libpakfire/include/pakfire/build.h +++ b/src/libpakfire/include/pakfire/build.h @@ -29,6 +29,7 @@ enum pakfire_build_flags { PAKFIRE_BUILD_INTERACTIVE = (1 << 0), PAKFIRE_BUILD_DISABLE_SNAPSHOT = (1 << 1), PAKFIRE_BUILD_DISABLE_CCACHE = (1 << 2), + PAKFIRE_BUILD_DISABLE_TESTS = (1 << 3), }; int pakfire_build_create(struct pakfire_build** build, diff --git a/src/scripts/pakfire-builder.in b/src/scripts/pakfire-builder.in index ae1d2ee90..df2a551d6 100644 --- a/src/scripts/pakfire-builder.in +++ b/src/scripts/pakfire-builder.in @@ -63,6 +63,8 @@ class Cli(object): help=_("Disable ccache")) build.add_argument("--disable-snapshot", action="store_true", help=_("Disable using snapshots")) + build.add_argument("--disable-tests", action="store_true", + help=_("Disable running tests")) # clean clean = subparsers.add_parser("clean", help=_("Cleanup all temporary files")) @@ -204,6 +206,7 @@ class Cli(object): build_id="%s" % ns.build_id if ns.build_id else None, disable_ccache=ns.disable_ccache, disable_snapshot=ns.disable_snapshot, + disable_tests=ns.disable_tests, ) def _dist(self, ns): -- 2.39.5