| 1 | pattern: "(?P<message>.*)" |
| 2 | |
| 3 | # Test very long strings and potential buffer overflows |
| 4 | |
| 5 | inject: |
| 6 | - key: LONG_VALUE_1KB |
| 7 | value: "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" |
| 8 | |
| 9 | - key: VERY_LONG_KEY_THAT_EXCEEDS_SIXTY_FOUR_CHARACTERS_WHICH_IS_THE_LIMIT_FOR_SYSTEMD_JOURNAL_KEYS |
| 10 | value: "This key is too long" |
| 11 | |
| 12 | - key: REPEATED_PATTERN |
| 13 | value: "${LINE}${LINE}${LINE}${LINE}${LINE}${LINE}${LINE}${LINE}${LINE}${LINE}${LINE}${LINE}${LINE}${LINE}${LINE}${LINE}${LINE}${LINE}${LINE}${LINE}${LINE}${LINE}${LINE}${LINE}${LINE}${LINE}${LINE}${LINE}${LINE}${LINE}${LINE}${LINE}${LINE}${LINE}${LINE}${LINE}${LINE}${LINE}${LINE}${LINE}${LINE}${LINE}${LINE}${LINE}${LINE}${LINE}${LINE}${LINE}${LINE}${LINE}" |
| 14 | |
| 15 | - key: LONG_MULTI_LINE |
| 16 | value: | |
| 17 | This is a very long multi-line value that spans |
| 18 | many lines and contains lots of text to test how |
| 19 | the YAML parser handles large multi-line strings. |
| 20 | It should preserve newlines and spacing exactly. |
| 21 | Line 5 |
| 22 | Line 6 |
| 23 | Line 7 |
| 24 | Line 8 |
| 25 | Line 9 |
| 26 | Line 10 |
| 27 | ... (imagine 100 more lines here) |
| 28 | |
| 29 | rewrite: |
| 30 | - key: TEST_OVERFLOW |
| 31 | match: "(.){1000,}" # Match very long strings |
| 32 | value: "TRUNCATED: ${1}..." |
| 33 | |
| 34 | - key: DEEP_RECURSION |
| 35 | value: "${KEY1_${KEY2_${KEY3_${KEY4_${KEY5_${KEY6_${KEY7_${KEY8_${KEY9_${KEY10}}}}}}}}}}" |
| 36 | inject: yes |
| 37 | |
| 38 | rename: |
| 39 | - old_key: "THIS_IS_A_VERY_LONG_OLD_KEY_NAME_THAT_SHOULD_BE_RENAMED_TO_SOMETHING_SHORTER" |
| 40 | new_key: "SHORT_NAME" |
| 41 | |
| 42 | - old_key: "A" |
| 43 | new_key: "THIS_IS_A_VERY_LONG_NEW_KEY_NAME_THAT_EXCEEDS_THE_SYSTEMD_JOURNAL_LIMIT_OF_64_CHARS" |
| 44 | |
| 45 | filter: |
| 46 | include: ".{0,1000}" # Permissive pattern |
| 47 | exclude: ".{1000,}" # Exclude very long lines |