aboutsummaryrefslogtreecommitdiff
path: root/test
AgeCommit message (Collapse)Author
2024-01-23lib/api: Remove remnants of CSRF tokens file mentions (ref #9284)Jakob Borg
2023-11-14lib/api: Add cache busting for basic auth (ref #9208) (#9215)v1.27.0-rc.1Jakob Borg
This adds our short device ID to the basic auth realm. This has at least two consequences: - It is different from what's presented by another device on the same address (e.g., if I use SSH forwards to different dives on the same local address), preventing credentials for one from being sent to another. - It is different from what we did previously, meaning we avoid cached credentials from old versions interfering with the new login flow. I don't *think* there should be things that depend on our precise realm string, so this shouldn't break any existing setups... Sneakily this also changes the session cookie and CSRF name, because I think `id.Short().String()` is nicer than `id.String()[:5]` and the short ID is two characters longer. That's also not a problem...
2023-11-13test: Update testing configsJakob Borg
Somewhere along the way I snuck in a change to the test configs that is quite annoying. This reverts that back to the more usual setup it was before.
2023-09-06all: Support multiple device connections (fixes #141) (#8918)Jakob Borg
This adds the ability to have multiple concurrent connections to a single device. This is primarily useful when the network has multiple physical links for aggregated bandwidth. A single connection will never see a higher rate than a single link can give, but multiple connections are load-balanced over multiple links. It is also incidentally useful for older multi-core CPUs, where bandwidth could be limited by the TLS performance of a single CPU core -- using multiple connections achieves concurrency in the required crypto calculations... Co-authored-by: Simon Frei <freisim93@gmail.com> Co-authored-by: tomasz1986 <twilczynski@naver.com> Co-authored-by: bt90 <btom1990@googlemail.com>
2023-05-09all: Correct various typos (#8870)Alexander Seiler
2022-07-28all: Add build constants for runtime.GOOS comparisons (#8442)Jakob Borg
all: Add package runtimeos for runtime.GOOS comparisons I grew tired of hand written string comparisons. This adds generated constants for the GOOS values, and predefined Is$OS constants that can be iffed on. In a couple of places I rewrote trivial switch:es to if:s, and added Illumos where we checked for Solaris (because they are effectively the same, and if we're going to target one of them that would be Illumos...).
2021-11-22all: Remove usage of deprecated io/ioutil (#7971)Jakob Borg
As of Go 1.16 io/ioutil is deprecated. This replaces usage with the corresponding functions in package os and package io.
2021-11-04Normalize CLI options to always use two dashes. (#8037)André Colomb
Consistently use double dashes and fix typos -conf, -data-dir and -verify. Applies also to tests running the syncthing binary for consistency. * Fix mismatched option name --conf in cli subcommand. According to the source code comments, the cli option flags should mirror those from the serve subcommand where applicable. That one is actually called --config though. * cli: Fix help text option placeholders. The urfave/cli package uses the Value field of StringFlag to provide a default value, not to name the placeholder. That is instead done with backticks around some part of the Usage field. * cli: Add missing --data flag in subcommand help text. The urfave/cli based option parsing uses a fake flags collection to generate help texts matching the used global options. But the --data option was omitted from it, although it is definitely required when using --config as well. Note that it cannot just be ignored, as some debug stuff actually uses the DB: syncthing cli --data=/bar --config=/foo debug index dump
2021-08-17all: Update build constraints to Go 1.17 style (#7894)Jakob Borg
2021-03-17all: Remove crypto/md5 (#7493)Jakob Borg
This is a mostly pointless change to make security scanners and static analysis tools happy, as they all hate seeing md5. None of our md5 uses were security relevant, but still. Only visible effect of this change is that our temp file names for very long file names become slightly longer than they were previously...
2020-09-07test, lib/model: Various integration test updates & improvements (#6956)Simon Frei
2020-07-28lib/fs: Properly handle case insensitive systems (fixes #1787, fixes #2739, ↵Simon Frei
fixes #5708) With this change we emulate a case sensitive filesystem on top of insensitive filesystems. This means we correctly pick up case-only renames and throw a case conflict error when there would be multiple files differing only in case. This safety check has a small performance hit (about 20% more filesystem operations when scanning for changes). The new advanced folder option `caseSensitiveFS` can be used to disable the safety checks, retaining the previous behavior on systems known to be fully case sensitive. Co-authored-by: Jakob Borg <jakob@kastelo.net>
2020-06-16build: Update integration tests and add to build.go (#6744)Simon Frei
2020-03-03all: Tweak error creation (#6391)Jakob Borg
- In the few places where we wrap errors, use the new Go 1.13 "%w" construction instead of %s or %v. - Where we create errors with constant strings, consistently use errors.New and not fmt.Errorf. - Remove capitalization from errors in the few places where we had that.
2020-01-27lib/config, lib/model: Limit concurrent pulls (fixes #5914) (#6290)Jakob Borg
Adds a new folder state "Waiting to Sync" in the same vein as the existing "Waiting to Scan". This vastly improves performances in the rare cases when there are lots and lots of folders operating.
2019-08-20test: Get integration tests up to speed (config, build and test fixes) (#5962)Simon Frei
2019-05-18test: Report time per MiB on transfer benchs (#5711)Simon Frei
2019-03-25test: Update conflict integration test (ref #5511) (#5618)Simon Frei
The change in 225c0dda805fbed69d745abce935130dcaf68763 (#5511) results in conflicts being immediately scanned and synced, while the test expects just one conflict on either side. Change it to expect the same conflict on both sides.
2019-02-02all: Revert the underscore sillynessJakob Borg
2019-01-29test, lib/rc: Integration test fixes and polish (#5488)Simon Frei
2018-12-21test: Update configs and revert changes during testing (#5393)Simon Frei
2018-09-17test: Terminology onlyJakob Borg
2018-06-08test: Migrate test configs to current versionJakob Borg
2018-05-30test: Add another variant of API timeout to skip when benchmarkingJakob Borg
2018-04-16all: Implement variable sized blocks (fixes #4807)Jakob Borg
2018-03-04test: Update conflict testsJakob Borg
2018-02-25lib/config, lib/model: Auto adjust pullers based on desired amount of ↵Jakob Borg
pending data (#4748) This makes the number of pullers vary with the desired amount of outstanding requests instead of being a fixed number.
2018-02-09Remove KCP (fixes #4737) (#4741)Jakob Borg
2018-02-03test: Mend the transfer benchmarkJakob Borg
2017-11-21test: Forgot a resumeJakob Borg
2017-11-17lib/model: Properly schedule pull on reconnect (fixes #4504)Jakob Borg
We need to reset prevSeq so that we force a full check when someone reconnects - the sequence number may not have changed due to the reconnect. (This is a regression; we did this before f6ea2a7.) Also add an optimization: we schedule a pull after scanning, but there is no need to do so if no changes were detected. This matters now because the scheduled pull actually traverses the database which is expensive. This, however, makes the pull not happen on initial scan if there were no changes during the initial scan. Compensate by always scheduling a pull after initial scan in the rwfolder itself. GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/4508 LGTM: imsodin, AudriusButkevicius
2017-11-13test: Clean & unflake cli & conflict testsJakob Borg
2017-11-13test: Clean & unflake HTTP / filetype testsJakob Borg
2017-11-13test: Clean and unflake ignore / manupeers / reconnect / override testsJakob Borg
2017-11-13test: Fix reconnect testJakob Borg
2017-11-13test: Unflake symlink/scan testsJakob Borg
2017-11-13test: Clean up and unflake sync cluster testJakob Borg
2017-11-13test: Mend tests for latest event changes etcJakob Borg
2017-11-13test: Updates for fs/osutil package changesJakob Borg
2017-11-04all: Fix comment typosHairyFotr
Skip-check: authors GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/4481
2017-07-20all: TyposHairyFotr
Skip-check: authors GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/4263
2017-03-07lib/connections: Add KCP support (fixes #804)Audrius Butkevicius
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3489
2017-02-09all: Update license url to https (ref #3976)Jakob Borg
2017-02-07all: Remove symlink support on Windows, SymlinksEnabled configJakob Borg
After this change, - Symlinks on Windows are always unsupported. Sorry. - Symlinks are always enabled on other platforms. They are just a small file like anything else. There is no need to special case them. If you don't want to sync some symlinks, ignore them. - The protocol doesn't differentiate between different "types" of symlinks. If that distinction ever does become relevant the individual devices can figure it out by looking at the destination when they create the link. It's backwards compatible in that all the old symlink types are still understood to be symlinks, and the new SYMLINK type is equivalent to the old SYMLINK_UNKNOWN which was always a valid way to do it. GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3962 LGTM: AudriusButkevicius
2016-12-21lib/model: Fix tests, clean up pool usage in protocolJakob Borg
2016-12-21build: Enable gometalinter "gosimple" check, improve build.goJakob Borg
2016-12-14lib/model, lib/scanner: Efficient inserts/deletes in the middle of the fileAudrius Butkevicius
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3527
2016-11-09test: Fix test configJakob Borg
2016-10-17gui: Hide "Failed Items" unless there is an actual failure (fixes #3647)Jakob Borg
Since delta indexes it's perfectly normal for us to need files that are currently unavailable due to devices being disconnected. This doesn't imply a failure, so we should not show the "Failed Items" line and corresponding eternal spinner (since it would never be filled in, since there is no failure). We still show state "Out of Sync" (correct) and the list of files we need (correct).
2016-09-28Add API service for local disk changesNathan Morrison
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3626 LGTM: calmh, AudriusButkevicius