Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 2 Feb 2025 19:53:49 GMT
From:      Igor Ostapenko <igoro@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: 6befd3511105 - main - kyua: Support require.diskspace ATF metadata
Message-ID:  <202502021953.512Jrn3Y048722@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by igoro:

URL: https://cgit.FreeBSD.org/src/commit/?id=6befd3511105a17decdafbf9d3f55324c83aaea1

commit 6befd3511105a17decdafbf9d3f55324c83aaea1
Author:     Igor Ostapenko <igoro@FreeBSD.org>
AuthorDate: 2025-02-02 19:14:55 +0000
Commit:     Igor Ostapenko <igoro@FreeBSD.org>
CommitDate: 2025-02-02 19:14:55 +0000

    kyua: Support require.diskspace ATF metadata
    
    Reviewed by:    ngie
    MFC after:      1 month
    Differential Revision:  https://reviews.freebsd.org/D48333
---
 contrib/kyua/doc/kyuafile.5.in        |  3 ++-
 contrib/kyua/engine/atf_list.cpp      |  2 ++
 contrib/kyua/engine/atf_list_test.cpp | 23 +++++++++++++++++++++++
 3 files changed, 27 insertions(+), 1 deletion(-)

diff --git a/contrib/kyua/doc/kyuafile.5.in b/contrib/kyua/doc/kyuafile.5.in
index 4fe5f12fd9b1..ae1e4fe40e32 100644
--- a/contrib/kyua/doc/kyuafile.5.in
+++ b/contrib/kyua/doc/kyuafile.5.in
@@ -282,7 +282,8 @@ ATF:
 .It Va required_disk_space
 Amount of available disk space that the test needs to run successfully.
 .Pp
-ATF: not mapped
+ATF:
+.Va require.diskspace
 .It Va required_files
 Whitespace-separated list of paths that the test requires to exist before
 it can run.
diff --git a/contrib/kyua/engine/atf_list.cpp b/contrib/kyua/engine/atf_list.cpp
index c4f348ada2f6..f6ec20d7709a 100644
--- a/contrib/kyua/engine/atf_list.cpp
+++ b/contrib/kyua/engine/atf_list.cpp
@@ -129,6 +129,8 @@ engine::parse_atf_metadata(const model::properties_map& props)
                 mdbuilder.set_string("is_exclusive", value);
             } else if (name == "require.config") {
                 mdbuilder.set_string("required_configs", value);
+            } else if (name == "require.diskspace") {
+                mdbuilder.set_string("required_disk_space", value);
             } else if (name == "require.files") {
                 mdbuilder.set_string("required_files", value);
             } else if (name == "require.machine") {
diff --git a/contrib/kyua/engine/atf_list_test.cpp b/contrib/kyua/engine/atf_list_test.cpp
index 7648ee2c6a80..f3a36ab864f7 100644
--- a/contrib/kyua/engine/atf_list_test.cpp
+++ b/contrib/kyua/engine/atf_list_test.cpp
@@ -67,6 +67,7 @@ ATF_TEST_CASE_BODY(parse_atf_metadata__override_all)
     properties["is.exclusive"] = "true";
     properties["require.arch"] = "i386 x86_64";
     properties["require.config"] = "var1 var2 var3";
+    properties["require.diskspace"] = "10g";
     properties["require.files"] = "/file1 /dir/file2";
     properties["require.machine"] = "amd64";
     properties["require.memory"] = "1m";
@@ -95,6 +96,7 @@ ATF_TEST_CASE_BODY(parse_atf_metadata__override_all)
         .set_description("Some text")
         .set_has_cleanup(true)
         .set_is_exclusive(true)
+        .set_required_disk_space(units::bytes::parse("10g"))
         .set_required_memory(units::bytes::parse("1m"))
         .set_required_user("root")
         .set_timeout(datetime::delta(123, 0))
@@ -293,6 +295,26 @@ ATF_TEST_CASE_BODY(parse_atf_list__is_exclusive_support)
 }
 
 
+ATF_TEST_CASE_WITHOUT_HEAD(parse_atf_list__disk_space_support);
+ATF_TEST_CASE_BODY(parse_atf_list__disk_space_support)
+{
+    const std::string text =
+        "Content-Type: application/X-atf-tp; version=\"1\"\n"
+        "\n"
+        "ident: first\n"
+        "require.diskspace: 123M\n";
+    std::istringstream input(text);
+    const model::test_cases_map tests = engine::parse_atf_list(input);
+
+    const model::test_cases_map exp_tests = model::test_cases_map_builder()
+        .add("first", model::metadata_builder()
+             .set_required_disk_space(units::bytes::parse("123M"))
+             .build())
+        .build();
+    ATF_REQUIRE_EQ(exp_tests, tests);
+}
+
+
 ATF_INIT_TEST_CASES(tcs)
 {
     ATF_ADD_TEST_CASE(tcs, parse_atf_metadata__defaults);
@@ -308,4 +330,5 @@ ATF_INIT_TEST_CASES(tcs)
     ATF_ADD_TEST_CASE(tcs, parse_atf_list__one_test_case_invalid_properties);
     ATF_ADD_TEST_CASE(tcs, parse_atf_list__many_test_cases);
     ATF_ADD_TEST_CASE(tcs, parse_atf_list__is_exclusive_support);
+    ATF_ADD_TEST_CASE(tcs, parse_atf_list__disk_space_support);
 }



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202502021953.512Jrn3Y048722>