From 7a3c2dc519a66e38d644132c269476295d0474e3 Mon Sep 17 00:00:00 2001 From: Lars Erik Wik Date: Thu, 4 Jan 2024 10:26:37 +0100 Subject: [PATCH 1/9] Removed soft fail for brace support test in glob patterns Ticket: CFE-3292 Changelog: None Signed-off-by: Lars Erik Wik --- .../01_vars/02_functions/findfiles-GLOB_BRACE.cf | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/tests/acceptance/01_vars/02_functions/findfiles-GLOB_BRACE.cf b/tests/acceptance/01_vars/02_functions/findfiles-GLOB_BRACE.cf index 7a85f3694b..72123d650b 100644 --- a/tests/acceptance/01_vars/02_functions/findfiles-GLOB_BRACE.cf +++ b/tests/acceptance/01_vars/02_functions/findfiles-GLOB_BRACE.cf @@ -14,11 +14,7 @@ body common control bundle common findfiles { vars: - # * in filenames not allowed on win - windows:: "names" slist => { "a", "bc", "d/e/f", "g/h/i/j", "klm/nop/qrs" }; - !windows:: - "names" slist => { "a", "bc", "d/e/f", "g/h/i/j", "klm/nop/qrs", "tu/*" }; } ####################################################### @@ -43,13 +39,6 @@ bundle agent test "description" -> { "CFE-3292" } string => "Test that findfiles() works as expected."; - #"test_suppress_fail" string => "windows", - # meta => { "redmine4730" }; - # This test should be merged with findfiles.cf when it's fixed. - # In order to soft-fail it as requested, I had to strip it to a separate-test - "test_soft_fail" string => "any", - meta => { "CFE-3292" }; - vars: "patterns[GLOB_BRACE]" string => "$(G.testdir)/{a,bc}"; @@ -70,7 +59,7 @@ bundle agent test bundle agent check { vars: - "expected[GLOB_BRACE]" string => "$(G.testdir)/a,$(G.testdir)/bc"; + "expected[GLOB_BRACE]" string => "$(G.testdir)$(const.dirsep)a,$(G.testdir)$(const.dirsep)bc"; "expects" slist => getindices("expected"); From d60340f4207efdad03fd67c5b9970bf46e4fde83 Mon Sep 17 00:00:00 2001 From: Lars Erik Wik Date: Fri, 5 Jan 2024 10:27:27 +0100 Subject: [PATCH 2/9] Removed soft fail for findfiles acceptance tests Also needed to make same changes in order for it to work on Windows. Ticket: None Changelog: None Signed-off-by: Lars Erik Wik --- .../01_vars/02_functions/findfiles.cf | 31 ++++++++++--------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/tests/acceptance/01_vars/02_functions/findfiles.cf b/tests/acceptance/01_vars/02_functions/findfiles.cf index 749caf0864..53659fda93 100644 --- a/tests/acceptance/01_vars/02_functions/findfiles.cf +++ b/tests/acceptance/01_vars/02_functions/findfiles.cf @@ -17,7 +17,7 @@ bundle common findfiles # * in filenames not allowed on win windows:: "names" slist => { "a", "bc", "d/e/f", "g/h/i/j", "klm/nop/qrs" }; - !windows:: + !windows:: "names" slist => { "a", "bc", "d/e/f", "g/h/i/j", "klm/nop/qrs", "tu/*" }; } @@ -39,10 +39,6 @@ bundle agent init bundle agent test { - meta: - "test_suppress_fail" string => "windows", - meta => { "redmine4730,ENT-2145" }; - vars: "patterns[a]" string => "$(G.testdir)/?"; "patterns[b]" string => "$(G.testdir)/*"; @@ -52,13 +48,14 @@ bundle agent test "patterns[relative_path_1]" string => "./*"; "patterns[relative_path_2]" string => "**"; "patterns[relative_path_3]" string => "../**"; - - !windows:: + !windows:: + # First of all '*' is an illegal filename on Windows. Also you cannot + # escape wildcards with backslash when it is a file separator. "patterns[f]" string => "$(G.testdir)/tu/\\*"; + any:: "patterns[g]" string => "$(G.testdir)/**"; "patterns[h]" string => "$(G.testdir)/**/j"; - any:: "pnames" slist => getindices("patterns"); "found[$(pnames)]" slist => findfiles("$(patterns[$(pnames)])"); @@ -76,27 +73,33 @@ bundle agent test bundle agent check { vars: - "expected[a]" string => "$(G.testdir)/a,$(G.testdir)/d,$(G.testdir)/g"; - windows:: - "expected[b]" string => "$(G.testdir)/a,$(G.testdir)/bc,$(G.testdir)/d,$(G.testdir)/g,$(G.testdir)/klm"; !windows:: + "expected[a]" string => "$(G.testdir)/a,$(G.testdir)/d,$(G.testdir)/g"; "expected[b]" string => "$(G.testdir)/a,$(G.testdir)/bc,$(G.testdir)/d,$(G.testdir)/g,$(G.testdir)/klm,$(G.testdir)/tu"; - any:: "expected[c]" string => "$(G.testdir)/d/e,$(G.testdir)/g/h"; "expected[d]" string => "$(G.testdir)/a,$(G.testdir)/bc"; "expected[e]" string => ""; - !windows:: "expected[f]" string => "$(G.testdir)/tu/*"; "expected[g]" string => "$(G.testdir)/a,$(G.testdir)/bc,$(G.testdir)/d,$(G.testdir)/g,$(G.testdir)/klm,$(G.testdir)/tu,$(G.testdir)/d/e,$(G.testdir)/g/h,$(G.testdir)/klm/nop,$(G.testdir)/tu/*,$(G.testdir)/d/e/f,$(G.testdir)/g/h/i,$(G.testdir)/klm/nop/qrs,$(G.testdir)/g/h/i/j"; "expected[h]" string => "$(G.testdir)/g/h/i/j"; + windows:: + "expected[a]" string => "$(G.testdir)\\a,$(G.testdir)\\d,$(G.testdir)\\g"; + "expected[b]" string => "$(G.testdir)\\a,$(G.testdir)\\bc,$(G.testdir)\\d,$(G.testdir)\\g,$(G.testdir)\\klm"; + + "expected[c]" string => "$(G.testdir)\\d\\e,$(G.testdir)\\g\\h"; + "expected[d]" string => "$(G.testdir)\\a,$(G.testdir)\\bc"; + "expected[e]" string => ""; + + "expected[g]" string => "$(G.testdir)\\a,$(G.testdir)\\bc,$(G.testdir)\\d,$(G.testdir)\\g,$(G.testdir)\\klm,$(G.testdir)\\d\\e,$(G.testdir)\\g\\h,$(G.testdir)\\klm\\nop,$(G.testdir)\\d\\e\\f,$(G.testdir)\\g\\h\\i,$(G.testdir)\\klm\\nop\\qrs,$(G.testdir)\\g\\h\\i\\j"; + "expected[h]" string => "$(G.testdir)\\g\\h\\i\\j"; + any:: # relative paths are skipped, thus return empty list "expected[relative_path_1]" string => ""; "expected[relative_path_2]" string => ""; "expected[relative_path_3]" string => ""; - any:: "expects" slist => getindices("expected"); "fstring" slist => getindices("test.found_string"); From c80320147cfc606c890f28c9bfde0e05cfbaae61 Mon Sep 17 00:00:00 2001 From: Lars Erik Wik Date: Fri, 5 Jan 2024 11:27:08 +0100 Subject: [PATCH 3/9] Added test testing square brackets in glob patterns Ticket: None Changelog: None Signed-off-by: Lars Erik Wik --- .../02_functions/findfiles_glob_bracket.cf | 114 ++++++++++++++++++ 1 file changed, 114 insertions(+) create mode 100644 tests/acceptance/01_vars/02_functions/findfiles_glob_bracket.cf diff --git a/tests/acceptance/01_vars/02_functions/findfiles_glob_bracket.cf b/tests/acceptance/01_vars/02_functions/findfiles_glob_bracket.cf new file mode 100644 index 0000000000..79647c829e --- /dev/null +++ b/tests/acceptance/01_vars/02_functions/findfiles_glob_bracket.cf @@ -0,0 +1,114 @@ +####################################################### +# +# Test that square bracket works in glob patterns +# +####################################################### + +body common control +{ + inputs => { "../../default.cf.sub" }; + bundlesequence => { "init", "test", "check" }; + version => "1.0"; +} + +####################################################### + +bundle agent init +{ + vars: + "filenames" + slist => { "foo", "bar", "baz" }; + + files: + "$(G.testdir)/$(filenames)" + create => "true"; + + reports: + DEBUG:: + "Created $(G.testdir)/$(filenames)"; +} + + +####################################################### + +bundle agent test +{ + meta: + "description" + string => "Test that square bracket works in glob patterns."; + + vars: + "patterns[a]" + string => "$(G.testdir)/[f]oo"; + "patterns[b]" + string => "$(G.testdir)/b[a]r"; + "patterns[c]" + string => "$(G.testdir)/ba[z]"; + "patterns[d]" + string => "$(G.testdir)/[a-z][a-z][a-z]"; + "patterns[e]" + string => "$(G.testdir)/ba[rz]"; + "patterns[f]" + string => "$(G.testdir)/[fb][oa][orz]"; + + "pnames" + slist => getindices("patterns"); + "found[$(pnames)]" + slist => findfiles("$(patterns[$(pnames)])"); + "found_string[$(pnames)]" + string => join(",", "found[$(pnames)]"); + + reports: + DEBUG:: + "findfiles pattern $(pnames) '$(patterns[$(pnames)])' => '$(found_string[$(pnames)])'"; +} + + +####################################################### + +bundle agent check +{ + meta: + "test_skip_needs_work" string => "windows", + meta => { "ENT-11176" }; + + vars: + "expected[a]" + string => "$(G.testdir)$(const.dirsep)foo"; + "expected[b]" + string => "$(G.testdir)$(const.dirsep)bar"; + "expected[c]" + string => "$(G.testdir)$(const.dirsep)baz"; + "expected[d]" + string => "$(G.testdir)$(const.dirsep)bar,$(G.testdir)$(const.dirsep)baz,$(G.testdir)$(const.dirsep)foo"; + "expected[e]" + string => "$(G.testdir)$(const.dirsep)bar,$(G.testdir)$(const.dirsep)baz"; + "expected[f]" + string => "$(G.testdir)$(const.dirsep)bar,$(G.testdir)$(const.dirsep)baz,$(G.testdir)$(const.dirsep)foo"; + + "expects" + slist => getindices("expected"); + "fstring" + slist => getindices("test.found_string"); + "joint_condition" + string => join(".", "expects"); + + classes: + "$(expects)" + expression => strcmp("$(test.found_string[$(expects)])", "$(expected[$(expects)])"); + "ok" + expression => "$(joint_condition)"; + + reports: + DEBUG:: + "pattern $(expects) matches as expected: '$(expected[$(expects)])'" + if => "$(expects)"; + + "pattern $(expects) does NOT match expected: '$(test.found_string[$(expects)])' != '$(expected[$(expects)])'" + if => "!$(expects)"; + + ok:: + "$(this.promise_filename) Pass"; + !ok:: + "$(this.promise_filename) FAIL"; +} From e86b4d2a7447e0582d98000e8494d1bfdfc8dcbf Mon Sep 17 00:00:00 2001 From: Lars Erik Wik Date: Fri, 12 Jan 2024 13:21:52 +0100 Subject: [PATCH 4/9] Added `include ` where needed after moving GlobFileList() Ticket: None Changelog: None Signed-off-by: Lars Erik Wik --- libpromises/dbm_api.c | 1 + libpromises/evalfunction.c | 1 + 2 files changed, 2 insertions(+) diff --git a/libpromises/dbm_api.c b/libpromises/dbm_api.c index fbd91f0c77..70830f89ea 100644 --- a/libpromises/dbm_api.c +++ b/libpromises/dbm_api.c @@ -35,6 +35,7 @@ #include #include #include /* time() */ +#include static bool DBPathLock(FileLock *lock, const char *filename); diff --git a/libpromises/evalfunction.c b/libpromises/evalfunction.c index a47857245c..b46f57c7f0 100644 --- a/libpromises/evalfunction.c +++ b/libpromises/evalfunction.c @@ -75,6 +75,7 @@ #include #include #include /* ThreadWait */ +#include #include From 710985ebd29affcab94714f6cb17a6b231b0349e Mon Sep 17 00:00:00 2001 From: Lars Erik Wik Date: Wed, 31 Jan 2024 11:06:02 +0100 Subject: [PATCH 5/9] findfiles.cf: Fixed wrong assumption acceptance test Previously the shell pattern `**` matched from one to six subdirectories, while it should match any number of subdirectories from zero. https://github.com/NorthernTechHQ/libntech/pull/207 patrially fixes this problem by making it match from zero to six subdirectories, with a note to fix the limit (six) in CFE-4317. This fix caused this acceptance test to break, as it now also include the test directory itself (`"$(G.testdir)"`) in the actual result when testing the `"$(G.testdir)/**"` shell pattern. It was easily fixed by modifying the shell pattern to `"$(G.testdir)/*/**"`. Ticket: None Changelog: None Signed-off-by: Lars Erik Wik --- tests/acceptance/01_vars/02_functions/findfiles.cf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/acceptance/01_vars/02_functions/findfiles.cf b/tests/acceptance/01_vars/02_functions/findfiles.cf index 53659fda93..978e2ea591 100644 --- a/tests/acceptance/01_vars/02_functions/findfiles.cf +++ b/tests/acceptance/01_vars/02_functions/findfiles.cf @@ -53,7 +53,7 @@ bundle agent test # escape wildcards with backslash when it is a file separator. "patterns[f]" string => "$(G.testdir)/tu/\\*"; any:: - "patterns[g]" string => "$(G.testdir)/**"; + "patterns[g]" string => "$(G.testdir)/*/**"; "patterns[h]" string => "$(G.testdir)/**/j"; "pnames" slist => getindices("patterns"); From 46a3a79dbdc4bc30e2eaf8eabc8fe7b6e69e4ce5 Mon Sep 17 00:00:00 2001 From: larsewi Date: Mon, 19 Feb 2024 11:45:38 +0100 Subject: [PATCH 6/9] Added `#include` to `getopt_test.c` Before this dependency was indirectly included from `string_lib.c`. This is no longer the case. Signed-off-by: larsewi --- tests/unit/getopt_test.c | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/unit/getopt_test.c b/tests/unit/getopt_test.c index 7479e9491b..ab3f45f6d7 100644 --- a/tests/unit/getopt_test.c +++ b/tests/unit/getopt_test.c @@ -4,6 +4,7 @@ #include #include #include +#include /* Test that we have a working version of getopt functionality, either * system-provided or our own in libcfecompat. */ From 4736ad49296b84e37613c8055086ca43ad357b59 Mon Sep 17 00:00:00 2001 From: Lars Erik Wik Date: Wed, 21 Feb 2024 12:37:58 +0100 Subject: [PATCH 7/9] Fixed bug related to backwards directory traversial in findfiles_up() The backwards directory traversial in policy function findfiles_up() did not work properly when using forward slashes in the path argument on Windows. Fixed this issue by changing forward slashes to backslashes in the path argument before performing the backwards traversial. Ticket: None Changelog: Fixed bug related to failing backwards directory traversial when using forward slashes in path argument of the findfiles_up() policy function on Windows. Signed-off-by: Lars Erik Wik --- libpromises/evalfunction.c | 1 + 1 file changed, 1 insertion(+) diff --git a/libpromises/evalfunction.c b/libpromises/evalfunction.c index b46f57c7f0..2e925c03fa 100644 --- a/libpromises/evalfunction.c +++ b/libpromises/evalfunction.c @@ -8756,6 +8756,7 @@ static FnCallResult FnCallFindfilesUp(ARG_UNUSED EvalContext *ctx, ARG_UNUSED co return FnFailure(); } + MapName(path); // Makes sure we get host native path separators DeleteRedundantSlashes(path); size_t len = strlen(path); From 7b28b813c4b5ee190c756dcd439d66b7ec4c00ff Mon Sep 17 00:00:00 2001 From: Lars Erik Wik Date: Wed, 21 Feb 2024 12:45:29 +0100 Subject: [PATCH 8/9] Reworked the acceptance test for findfiles_up() Resolved acceptance test failure on Windows caused by invalid use of regular expressions consisting of paths with backslashes. The paths were triggering illegal escape sequence errors in PCRE2. Recognizing the complexity of the existing test, I opted for a complete rewrite. Additionally, I eliminated all dependencies to facilitate a standalone file that can easily be run on Windows. Ticket: None Changelog: None Signed-off-by: Lars Erik Wik --- .../01_vars/02_functions/findfiles_up.cf | 255 ++++++++++-------- 1 file changed, 150 insertions(+), 105 deletions(-) diff --git a/tests/acceptance/01_vars/02_functions/findfiles_up.cf b/tests/acceptance/01_vars/02_functions/findfiles_up.cf index c89b8dc18d..f05fcc72cc 100755 --- a/tests/acceptance/01_vars/02_functions/findfiles_up.cf +++ b/tests/acceptance/01_vars/02_functions/findfiles_up.cf @@ -1,132 +1,177 @@ body common control { - inputs => { "../../default.cf.sub" }; - bundlesequence => { default("$(this.promise_filename)") }; + bundlesequence => { "init", "test", "check" }; version => "1.0"; } -bundle common my_vars -{ +bundle common G { vars: - "files" slist => { - "file_1.txt", - "file_1.png", - "a/file_2.txt", - "a/file_22.txt", - "a/b/file_3.txt", - "a/b/c/d/file_3.txt", - "a/b/c/d/e/f/file_3.txt" - }; + "testdir" + string => concat( + getenv("TEMP", "65535"), + "$(const.dirsep)TESTDIR.cfengine" + ); } bundle agent init { + vars: + "files" + slist => { + "core/.gitignore", + "core/.git/config", + "core/libpromises/cf3parse.y", + "core/libpromises/cf3lex.l", + "core/libntech/.gitignore", + "core/libntech/.git/config", + "core/libntech/libutils/string.h", + "core/libntech/libutils/string.c" + }; + files: - "$(G.testdir)/$(my_vars.files)" + "$(G.testdir)/$(files)" create => "true"; reports: DEBUG:: - "Created $(G.testdir)/$(my_vars.files)"; -} - -# Test findfiles_up with optional third argument specified -bundle agent test_wapper_1(index, path, glob, level) -{ - vars: - "test" - data => findfiles_up("$(G.testdir)$(path)", "$(glob)", "$(level)"), - if => isdir("$(G.testdir)$(path)"); - - "test" - slist => filter("^$(G.testdir)/.*", test, true, false, inf); - - "test" - slist => maplist(regex_replace("$(this)", "$(G.testdir)", "", "g"), test); - - "test" - string => join(", ", getvalues(test)); - reports: - "$(test)" - bundle_return_value_index => "$(index)"; -} - -# Test findfiles_up with optional third argument not specified -bundle agent test_wapper_2(index, path, glob) -{ - vars: - "test" - data => findfiles_up("$(G.testdir)$(path)", "$(glob)"), - if => isdir("$(G.testdir)$(path)"); - - "test" - slist => filter("^$(G.testdir)/.*", test, true, false, inf); - - "test" - slist => maplist(regex_replace("$(this)", "$(G.testdir)", "", "g"), test); - - "test" - string => join(", ", getvalues(test)); - - reports: - "$(test)" - bundle_return_value_index => "$(index)"; + "Created $(G.testdir)/$(files)"; } bundle agent test { meta: "description" -> { "CFE-3577" } - string => "Test for expected results from policy function search_up"; - "test_skip_needs_work" string => "windows", - meta => { "ENT-10250" }; - - methods: - "Test 0" - usebundle => test_wapper_1("0", "/", "*", 123), - useresult => "test"; - - "Test 1" - usebundle => test_wapper_1("1", "/a/b/c/d/e/f", ".", inf), - useresult => "test"; - - "Test 2" - usebundle => test_wapper_1("2", "/a/b/c/d/e/f", "file_1.txt", inf), - useresult => "test"; - - "Test 3" - usebundle => test_wapper_2("3", "/a/b/c/d/e/f", "file_2.txt"), - useresult => "test"; + string => "Test for expected results from policy function findfiles_up"; - "Test 4" - usebundle => test_wapper_1("4", "/a/b/c/d/e/f", "file_3.txt", 0), - useresult => "test"; - - "Test 5" - usebundle => test_wapper_1("5", "/a/b/c/d/e/f", "file_3.txt", 2), - useresult => "test"; - - "Test 6" - usebundle => test_wapper_2("6", "/a/b//c/d/e/f", "file_1.*"), - useresult => "test"; - - "Test 7" - usebundle => test_wapper_2("7", "/a/b/c/d/e/f", "file_?.txt"), - useresult => "test"; - - "Test 8" - usebundle => test_wapper_2("8", "/a/b/c/d/e/f", "c//d/file_?.txt"), - useresult => "test"; - - "Test 9" - usebundle => test_wapper_1("9", "/a//b//c//d/e/f", "c/d/file_?.txt", 4), - useresult => "test"; + vars: + "t1" + data => findfiles_up("$(G.testdir)/core/libntech/libutils/", ".gitignore", "inf"); + "t2" + data => findfiles_up("$(G.testdir)/core/libntech/libutils/", "string.?"); + "t3" + data => findfiles_up("$(G.testdir)/core/libntech/libutils/", ".git/"); + "t4" + data => findfiles_up("$(G.testdir)/core/libntech/libutils/", ".git/", "1"); + "t5" + data => findfiles_up("$(G.testdir)/core/libntech/libutils/", ".git/config"); + "t6" + data => findfiles_up("$(G.testdir)/core/libntech/libutils/", "*/cf?{lex,parse}.[ly]"); } bundle agent check { - methods: - "check" usebundle => dcs_check_state(test, - "$(this.promise_filename).expected.json", - "$(this.promise_filename)"); + classes: + windows:: + "c1" + expression => and( + strcmp("$(G.testdir)\\core\\libntech\\.gitignore", "$(test.t1[0])"), + strcmp("$(G.testdir)\\core\\.gitignore", "$(test.t1[1])") + ); + "c2" + expression => and( + strcmp("$(G.testdir)\\core\\libntech\\libutils\\string.c", "$(test.t2[0])"), + strcmp("$(G.testdir)\\core\\libntech\\libutils\\string.h", "$(test.t2[1])") + ); + "c3" + expression => and( + strcmp("$(G.testdir)\\core\\libntech\\.git", "$(test.t3[0])"), + strcmp("$(G.testdir)\\core\\.git", "$(test.t3[1])") + ); + "c4" + expression => and( + strcmp("$(G.testdir)\\core\\libntech\\.git", "$(test.t4[0])"), + not(isvariable("test.t4[1]")) + ); + "c5" + expression => and( + strcmp("$(G.testdir)\\core\\libntech\\.git\\config", "$(test.t5[0])"), + strcmp("$(G.testdir)\\core\\.git\\config", "$(test.t5[1])") + ); + "c6" + expression => and( + strcmp("$(G.testdir)\\core\\libpromises\\cf3lex.l", "$(test.t6[0])"), + strcmp("$(G.testdir)\\core\\libpromises\\cf3parse.y", "$(test.t6[1])") + ); + + !windows:: + "c1" + expression => and( + strcmp("$(G.testdir)/core/libntech/.gitignore", "$(test.t1[0])"), + strcmp("$(G.testdir)/core/.gitignore", "$(test.t1[1])") + ); + "c2" + expression => and( + strcmp("$(G.testdir)/core/libntech/libutils/string.c", "$(test.t2[0])"), + strcmp("$(G.testdir)/core/libntech/libutils/string.h", "$(test.t2[1])") + ); + "c3" + expression => and( + strcmp("$(G.testdir)/core/libntech/.git", "$(test.t3[0])"), + strcmp("$(G.testdir)/core/.git", "$(test.t3[1])") + ); + "c4" + expression => and( + strcmp("$(G.testdir)/core/libntech/.git", "$(test.t4[0])"), + not(isvariable("test.t4[1]")) + ); + "c5" + expression => and( + strcmp("$(G.testdir)/core/libntech/.git/config", "$(test.t5[0])"), + strcmp("$(G.testdir)/core/.git/config", "$(test.t5[1])") + ); + "c6" + expression => and( + strcmp("$(G.testdir)/core/libpromises/cf3lex.l", "$(test.t6[0])"), + strcmp("$(G.testdir)/core/libpromises/cf3parse.y", "$(test.t6[1])") + ); + + any:: + "ok" + expression => and("c1", "c2", "c3", "c4", "c5", "c6"); + + reports: + DEBUG.windows.!c1:: + "$(const.dollar)(test.t1[0]): Expected '$(G.testdir)\\core\\libntech\\.gitignore', found '$(test.t1[0])'"; + "$(const.dollar)(test.t1[1]): Expected '$(G.testdir)\\core\\.gitignore', found '$(test.t1[1])'"; + DEBUG.windows.!c2:: + "$(const.dollar)(test.t2[0]): Expected '$(G.testdir)\\core\\libntech\\libutils\\string.c', found '$(test.t2[0])'"; + "$(const.dollar)(test.t2[1]): Expected '$(G.testdir)\\core\\libntech\\libutils\\string.h', found '$(test.t2[1])'"; + DEBUG.windows.!c3:: + "$(const.dollar)(test.t3[0]): Expected '$(G.testdir)\\core\\libntech\\.git', found '$(test.t3[0])'"; + "$(const.dollar)(test.t3[1]): Expected '$(G.testdir)\\core\\.git', found '$(test.t3[1])'"; + DEBUG.windows.!c4:: + "$(const.dollar)(test.t4[0]): Expected '$(G.testdir)\\core\\libntech\\.git', found '$(test.t4[0])'"; + "$(const.dollar)(test.t4[1]): Should not exist, $(with). Expanded value: '$(test.t4[1])'" + with => ifelse(isvariable("test.t4[1]"), "but does exist", "and does not exist"); + DEBUG.windows.!c5:: + "$(const.dollar)(test.t5[0]): Expected '$(G.testdir)\\core\\libntech\\.git\\config', found '$(test.t5[0])'"; + "$(const.dollar)(test.t5[1]): Expected '$(G.testdir)\\core\\.git\\config', found '$(test.t5[1])'"; + DEBUG.windows.!c6:: + "$(const.dollar)(test.t6[0]): Expected '$(G.testdir)\\core\\libpromises\\cf3lex.l', found '$(test.t6[0])'"; + "$(const.dollar)(test.t6[1]): Expected '$(G.testdir)\\core\\libpromises\\cf3parse.y', found '$(test.t6[1])'"; + + DEBUG.!windows.!c1:: + "$(const.dollar)(test.t1[0]): Expected '$(G.testdir)/core/libntech/.gitignore', found '$(test.t1[0])'"; + "$(const.dollar)(test.t1[1]): Expected '$(G.testdir)/core/.gitignore', found '$(test.t1[1])'"; + DEBUG.!windows.!c2:: + "$(const.dollar)(test.t2[0]): Expected '$(G.testdir)/core/libntech/libutils/string.c', found '$(test.t2[0])'"; + "$(const.dollar)(test.t2[1]): Expected '$(G.testdir)/core/libntech/libutils/string.h', found '$(test.t2[1])'"; + DEBUG.!windows.!c3:: + "$(const.dollar)(test.t3[0]): Expected '$(G.testdir)/core/libntech/.git', found '$(test.t3[0])'"; + "$(const.dollar)(test.t3[1]): Expected '$(G.testdir)/core/.git', found '$(test.t3[1])'"; + DEBUG.!windows.!c4:: + "$(const.dollar)(test.t4[0]): Expected '$(G.testdir)/core/libntech/.git', found '$(test.t4[0])'"; + "$(const.dollar)(test.t4[1]): Should not exist, $(with). Expanded value: '$(test.t4[1])'" + with => ifelse(isvariable("test.t4[1]"), "but does exist", "and does not exist"); + DEBUG.!windows.!c5:: + "$(const.dollar)(test.t5[0]): Expected '$(G.testdir)/core/libntech/.git/config', found '$(test.t5[0])'"; + "$(const.dollar)(test.t5[1]): Expected '$(G.testdir)/core/.git/config', found '$(test.t5[1])'"; + DEBUG.!windows.!c6:: + "$(const.dollar)(test.t6[0]): Expected '$(G.testdir)/core/libpromises/cf3lex.l', found '$(test.t6[0])'"; + "$(const.dollar)(test.t6[1]): Expected '$(G.testdir)/core/libpromises/cf3parse.y', found '$(test.t6[1])'"; + + ok:: + "$(this.promise_filename) Pass"; + !ok:: + "$(this.promise_filename) FAIL"; } From a95b724330399ca94dc2ef64c37c368bff959987 Mon Sep 17 00:00:00 2001 From: Lars Erik Wik Date: Fri, 23 Feb 2024 11:26:32 +0100 Subject: [PATCH 9/9] Bumped libntech to master Ticket: None Changelog: None Signed-off-by: Lars Erik Wik --- libntech | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libntech b/libntech index 61d6baab14..58705c5515 160000 --- a/libntech +++ b/libntech @@ -1 +1 @@ -Subproject commit 61d6baab14c409a4cc6db220d16a7d1c0d011f24 +Subproject commit 58705c5515d4c6f8481eb8c0c70e1e3cf557f109