summaryrefslogtreecommitdiff
path: root/src/test/test-condition.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2022-08-29 13:42:44 +0200
committerLennart Poettering <lennart@poettering.net>2022-09-01 23:16:13 +0200
commit71a3ff036be64cd9c4f66c02598be58666a1d132 (patch)
tree0305f8bc88d0c7be5695f199b1e61b017eb8c703 /src/test/test-condition.c
parent06219747f5368909e8006c7b6138aca671a3b9d7 (diff)
downloadsystemd-71a3ff036be64cd9c4f66c02598be58666a1d132.tar.gz
condition: change operator logic to use $= instead of =$ for glob comparisons
So this is a bit of a bikeshedding thing. But I think we should do this nonetheless, before this is released. Playing around with the glob matches I realized that "=$" is really hard to grep for, since in shell code it's an often seen construct. Also, when reading code I often found myself thinking first that the "$" belongs to the rvalue instead of the operator, in a variable expansion scheme. If we move the $ character to the left hand, I think we are on the safer side, since usually lvalues are much more restricted in character sets than rvalues (at least most programming languages do enforce limits on the character set for identifiers). It makes it much easier to grep for the new operator, and easier to read too. Example: before: ConditionOSRelease=ID=$fedora-* after: ConditionOSRelease=ID$=fedora-*
Diffstat (limited to 'src/test/test-condition.c')
-rw-r--r--src/test/test-condition.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/test/test-condition.c b/src/test/test-condition.c
index f93619293f..10494b010c 100644
--- a/src/test/test-condition.c
+++ b/src/test/test-condition.c
@@ -359,31 +359,31 @@ TEST(condition_test_firmware_smbios_field) {
const char *quote = strchr(bios_vendor, ' ') ? "\"" : "";
/* Test equality / inequality using fnmatch() */
- expression = strjoina("smbios-field(bios_vendor =$ ", quote, bios_vendor, quote, ")");
+ expression = strjoina("smbios-field(bios_vendor $= ", quote, bios_vendor, quote, ")");
condition = condition_new(CONDITION_FIRMWARE, expression, false, false);
assert_se(condition);
assert_se(condition_test(condition, environ) > 0);
condition_free(condition);
- expression = strjoina("smbios-field(bios_vendor=$", quote, bios_vendor, quote, ")");
+ expression = strjoina("smbios-field(bios_vendor$=", quote, bios_vendor, quote, ")");
condition = condition_new(CONDITION_FIRMWARE, expression, false, false);
assert_se(condition);
assert_se(condition_test(condition, environ) > 0);
condition_free(condition);
- expression = strjoina("smbios-field(bios_vendor !=$ ", quote, bios_vendor, quote, ")");
+ expression = strjoina("smbios-field(bios_vendor !$= ", quote, bios_vendor, quote, ")");
condition = condition_new(CONDITION_FIRMWARE, expression, false, false);
assert_se(condition);
assert_se(condition_test(condition, environ) == 0);
condition_free(condition);
- expression = strjoina("smbios-field(bios_vendor!=$", quote, bios_vendor, quote, ")");
+ expression = strjoina("smbios-field(bios_vendor!$=", quote, bios_vendor, quote, ")");
condition = condition_new(CONDITION_FIRMWARE, expression, false, false);
assert_se(condition);
assert_se(condition_test(condition, environ) == 0);
condition_free(condition);
- expression = strjoina("smbios-field(bios_vendor =$ ", quote, bios_vendor, "*", quote, ")");
+ expression = strjoina("smbios-field(bios_vendor $= ", quote, bios_vendor, "*", quote, ")");
condition = condition_new(CONDITION_FIRMWARE, expression, false, false);
assert_se(condition);
assert_se(condition_test(condition, environ) > 0);
@@ -1174,13 +1174,13 @@ TEST(condition_test_os_release) {
condition_free(condition);
/* Test fnmatch() operators */
- key_value_pair = strjoina(os_release_pairs[0], "=$", quote, os_release_pairs[1], quote);
+ key_value_pair = strjoina(os_release_pairs[0], "$=", quote, os_release_pairs[1], quote);
condition = condition_new(CONDITION_OS_RELEASE, key_value_pair, false, false);
assert_se(condition);
assert_se(condition_test(condition, environ) > 0);
condition_free(condition);
- key_value_pair = strjoina(os_release_pairs[0], "!=$", quote, os_release_pairs[1], quote);
+ key_value_pair = strjoina(os_release_pairs[0], "!$=", quote, os_release_pairs[1], quote);
condition = condition_new(CONDITION_OS_RELEASE, key_value_pair, false, false);
assert_se(condition);
assert_se(condition_test(condition, environ) == 0);