Fri, 13 Sep 2024 18:21:04 +0200
fix load_config stores wrong xml doc pointer in the config object
<?xml version="1.0" encoding="UTF-8"?> <configuration> <!-- Test 1: default settings after add-directory --> <directory> <name>test1a</name> <path>$HOME/tmp-sync/test1a</path> <repository>dav-test-repo</repository> <collection>/sync/test1</collection> <trash>.trash</trash> <database>dav-sync-tests-test1a-db.xml</database> </directory> <directory> <name>test1b</name> <path>$HOME/tmp-sync/test1b</path> <repository>dav-test-repo</repository> <collection>/sync/test1</collection> <trash>.trash</trash> <database>dav-sync-tests-test1b-db.xml</database> </directory> <!-- Test 2: enabled hashing --> <directory> <name>test2a</name> <path>$HOME/tmp-sync/test2a</path> <repository>dav-test-repo</repository> <collection>/sync/test2</collection> <trash>.trash</trash> <database>dav-sync-tests-test2a-db.xml</database> <hashing>true</hashing> </directory> <directory> <name>test2b</name> <path>$HOME/tmp-sync/test2b</path> <repository>dav-test-repo</repository> <collection>/sync/test2</collection> <trash>.trash</trash> <database>dav-sync-tests-test2b-db.xml</database> <hashing>true</hashing> </directory> <directory> <!-- same as test2a but with push strategy hash --> <name>test2ah</name> <path>$HOME/tmp-sync/test2a</path> <repository>dav-test-repo</repository> <collection>/sync/test2</collection> <trash>.trash</trash> <database>dav-sync-tests-test2a-db.xml</database> <hashing>true</hashing> <push-strategy>hash</push-strategy> </directory> <directory> <name>test2bh</name> <!-- same as test2b but with push strategy hash --> <path>$HOME/tmp-sync/test2b</path> <repository>dav-test-repo</repository> <collection>/sync/test2</collection> <trash>.trash</trash> <database>dav-sync-tests-test2b-db.xml</database> <hashing>true</hashing> <push-strategy>hash</push-strategy> </directory> <!-- Test 3: transition from sync without hashing to sync with hashing --> <directory> <name>test3a</name> <path>$HOME/tmp-sync/test3a</path> <repository>dav-test-repo</repository> <collection>/sync/test3</collection> <trash>.trash</trash> <database>dav-sync-tests-test3a-db.xml</database> </directory> <directory> <name>test3b</name> <path>$HOME/tmp-sync/test3b</path> <repository>dav-test-repo</repository> <collection>/sync/test3</collection> <trash>.trash</trash> <database>dav-sync-tests-test3b-db.xml</database> </directory> <directory> <name>test3ah</name> <path>$HOME/tmp-sync/test3a</path> <repository>dav-test-repo</repository> <collection>/sync/test3</collection> <trash>.trash</trash> <database>dav-sync-tests-test3a-db.xml</database> <hashing>true</hashing> </directory> <directory> <name>test3bh</name> <path>$HOME/tmp-sync/test3b</path> <repository>dav-test-repo</repository> <collection>/sync/test3</collection> <trash>.trash</trash> <database>dav-sync-tests-test3b-db.xml</database> <hashing>true</hashing> </directory> <!-- Test 4: metadata sync --> <directory> <name>test4a</name> <path>$HOME/tmp-sync/test4a</path> <repository>dav-test-repo</repository> <collection>/sync/test4</collection> <trash>.trash</trash> <database>dav-sync-tests-test4a-db.xml</database> <hashing>true</hashing> <tagconfig> <local-store format="csv">xattr</local-store> <detect-changes>true</detect-changes> <on-conflict>merge</on-conflict> </tagconfig> <metadata>all</metadata> </directory> <directory> <name>test4b</name> <path>$HOME/tmp-sync/test4b</path> <repository>dav-test-repo</repository> <collection>/sync/test4</collection> <trash>.trash</trash> <database>dav-sync-tests-test4b-db.xml</database> <hashing>true</hashing> <tagconfig> <local-store format="csv">xattr</local-store> <detect-changes>true</detect-changes> <on-conflict>merge</on-conflict> </tagconfig> <metadata>all</metadata> </directory> <directory> <name>test4akl</name> <path>$HOME/tmp-sync/test4akl</path> <repository>dav-test-repo</repository> <collection>/sync/test4</collection> <trash>.trash</trash> <database>dav-sync-tests-test4akl-db.xml</database> <hashing>true</hashing> <tagconfig> <local-store format="csv">xattr</local-store> <detect-changes>true</detect-changes> <on-conflict>keep_local</on-conflict> </tagconfig> <metadata>all</metadata> </directory> <directory> <name>test4bkr</name> <path>$HOME/tmp-sync/test4bkr</path> <repository>dav-test-repo</repository> <collection>/sync/test4</collection> <trash>.trash</trash> <database>dav-sync-tests-test4bkr-db.xml</database> <hashing>true</hashing> <tagconfig> <local-store format="csv">xattr</local-store> <detect-changes>true</detect-changes> <on-conflict>keep_remote</on-conflict> </tagconfig> <metadata>all</metadata> </directory> <!-- Test 5: Versioning --> <directory> <name>test5a</name> <path>$HOME/tmp-sync/test5a</path> <repository>dav-test-repo</repository> <collection>/sync/test5</collection> <trash>.trash</trash> <database>dav-sync-tests-test5a-db.xml</database> <hashing>true</hashing> <versioning type="simple" always="true" /> </directory> <directory> <name>test5b</name> <path>$HOME/tmp-sync/test5b</path> <repository>dav-test-repo</repository> <collection>/sync/test5</collection> <trash>.trash</trash> <database>dav-sync-tests-test5b-db.xml</database> <hashing>true</hashing> <versioning type="simple" always="true" /> </directory> <!-- Test 6: split --> <directory> <name>test6a</name> <path>$HOME/tmp-sync/test6a</path> <repository>dav-test-repo</repository> <collection>/sync/test6</collection> <trash>.trash</trash> <database>dav-sync-tests-test6a-db.xml</database> <hashing>true</hashing> <splitconfig> <split> <minsize>4m</minsize> <blocksize>1m</blocksize> </split> </splitconfig> </directory> <directory> <name>test6b</name> <path>$HOME/tmp-sync/test6b</path> <repository>dav-test-repo</repository> <collection>/sync/test6</collection> <trash>.trash</trash> <database>dav-sync-tests-test6b-db.xml</database> <hashing>true</hashing> <splitconfig> <split> <minsize>4m</minsize> <blocksize>1m</blocksize> </split> </splitconfig> </directory> <!-- Test 7: symlinks --> <directory> <name>test7a</name> <path>$HOME/tmp-sync/test7a</path> <repository>dav-test-repo</repository> <collection>/sync/test7</collection> <trash>.trash</trash> <database>dav-sync-tests-test7a-db.xml</database> <symlink-intern>sync</symlink-intern> </directory> <directory> <name>test7b</name> <path>$HOME/tmp-sync/test7b</path> <repository>dav-test-repo</repository> <collection>/sync/test7</collection> <trash>.trash</trash> <database>dav-sync-tests-test7b-db.xml</database> <symlink-intern>sync</symlink-intern> </directory> <directory> <name>test7a1</name> <!-- same dir/db as test7a --> <path>$HOME/tmp-sync/test7a</path> <repository>dav-test-repo</repository> <collection>/sync/test7</collection> <trash>.trash</trash> <database>dav-sync-tests-test7a-db.xml</database> <symlink-intern>ignore</symlink-intern> <symlink-extern>ignore</symlink-extern> </directory> <directory> <name>test7a2</name> <!-- same dir/db as test7a --> <path>$HOME/tmp-sync/test7a</path> <repository>dav-test-repo</repository> <collection>/sync/test7</collection> <trash>.trash</trash> <database>dav-sync-tests-test7a-db.xml</database> <symlink-intern>sync</symlink-intern> <symlink-extern>ignore</symlink-extern> </directory> </configuration>