Commit graph

1452 commits

Author SHA1 Message Date
Alexander Neumann
7079e46642 appveyor: download tar 2015-08-19 21:00:11 +02:00
Alexander Neumann
d21b782119 appveyor: use run_integration_tests.go 2015-08-19 20:45:54 +02:00
Alexander Neumann
23845b071b integration: compile on current architecture by default 2015-08-19 20:44:37 +02:00
Alexander Neumann
527593c6df ci test: add message prefix 2015-08-19 20:29:06 +02:00
Alexander Neumann
5b21d67a49 lock_test: correct merge error, use offset 500k 2015-08-19 20:25:59 +02:00
Alexander Neumann
2df7ed6c9b fix brew cask on darwin 2015-08-19 20:24:53 +02:00
Alexander Neumann
f0c8b11793 cleanup travis config, add run_integration_tests.go 2015-08-19 20:24:52 +02:00
Alexander Neumann
59751645be build.go: allow running tests in temporary GOPATH 2015-08-19 20:24:52 +02:00
Alexander Neumann
a37431e963 appveyor: run build.go, use workspace from godeps 2015-08-19 20:23:52 +02:00
Alexander Neumann
b34c53d39b windows: fix nil pointer reference 2015-08-19 20:23:52 +02:00
Alexander Neumann
f2dbdcb9e8 Add appveyor config 2015-08-19 20:23:52 +02:00
Alexander Neumann
90d1414331 Cross-compile on windows 2015-08-19 20:23:52 +02:00
Alexander Neumann
ac7965aca2 Merge pull request #269 from restic/build_without_git
Allow building without git
2015-08-19 16:40:24 +02:00
Florian Weingarten
38f1a8d0a9 Allow building without git 2015-08-19 00:35:34 -04:00
Alexander Neumann
cd4cc1daec Merge pull request #261 from restic/fix-260
locks: fix testing stale locks created on other hosts
2015-08-18 22:53:52 +02:00
Alexander Neumann
9367c57bcc Merge pull request #267 from bchapuis/fix-254
test the GetReader() function
2015-08-18 22:48:33 +02:00
Alexander Neumann
a4cb8995a8 Merge pull request #266 from bchapuis/fix-263
Update the progress status with the ticker
2015-08-18 22:47:14 +02:00
Alexander Neumann
fcb769fa3b Merge pull request #262 from restic/fix-tests
Fix tests
2015-08-18 22:45:50 +02:00
Alexander Neumann
1a47ea4ab8 test helpers: add RemoveAll and ResetReadOnly
This is mainly needed in Windows, where files and dirs cannot be
removed unless they are writeable.
2015-08-18 21:40:40 +02:00
Alexander Neumann
36ed3add3a add build constraints for windows 2015-08-18 21:40:40 +02:00
Alexander Neumann
47219a790f crypto tests: remove dependency on /dev/urandom 2015-08-18 21:40:40 +02:00
Alexander Neumann
c228a212b0 SetupTarTestFixture: don't depend on "sh" 2015-08-18 21:40:40 +02:00
Alexander Neumann
4f8cc1180d Vagrantfile: Disable default rsync on /vagrant 2015-08-18 21:40:39 +02:00
Alexander Neumann
3ac04257a4 fuse: disable for OpenBSD 2015-08-18 21:40:39 +02:00
Alexander Neumann
a820719c07 Merge pull request #259 from klauspost/windows-support-rebased
Add Windows support
2015-08-18 20:25:58 +02:00
Chapuis Bertil
bc5e0fa68f test the reader obtained with GetReader() 2015-08-18 17:57:06 +02:00
Chapuis Bertil
513be4b8ab test the GetReader() function 2015-08-18 15:15:17 +02:00
Chapuis Bertil
9d1c03f56e Update progress status when necessary 2015-08-18 12:57:05 +02:00
klauspost
8a2d7ff2bc Add default cache location for Windows.
Primary place for Windows cache is %APPDATA%\restic.
If that environment variable isn't set, we create a 'restic'
folder in the 'temp' directory.
2015-08-17 14:17:54 +02:00
klauspost
21ab5a488d Allow filter patterns/paths to be both '/' and os.PathSeparator
This converts filepath.Separator to '/', if it isn't already.
This allows both native paths and patterns, as well as a mix of them.
Added tests.
2015-08-17 11:48:24 +02:00
klauspost
a3570af500 Create separate disEntry.equals for Windows.
Windows does not have UID/GID the same way as unix,
so we don't attempt to compare them.
2015-08-17 11:10:12 +02:00
klauspost
d5dab39a4a Disable FUSE test on Windows. 2015-08-17 11:02:04 +02:00
klauspost
73de59a615 Make check for non-existing paths OS independent. 2015-08-17 11:01:24 +02:00
Alexander Neumann
fbe746c261 locks: fix testing stale locks created on other hosts
Closes #260
2015-08-16 16:24:04 +02:00
Klaus Post
35bd8f80c0 Split out process check as separate function.
This will allow the checks to be changed for different operating systems.

Issue #260 is related to this, but this does not change any current behaviour.
2015-08-16 15:30:36 +02:00
Klaus Post
347e800b4e Set output binary name in a variable. 2015-08-16 14:20:37 +02:00
Klaus Post
d6935d6625 Fix log message
'inode' isn't tested, so we don't want to imply that in the debug message.
2015-08-16 14:16:40 +02:00
Klaus Post
2291e70322 Match ParseInt return type. 2015-08-16 13:36:21 +02:00
Klaus Post
346c0c0c58 Don't panic on mknod on Windows
Instead return an error.
2015-08-16 13:24:21 +02:00
Klaus Post
3f992c3d6e Remove redundant code. 2015-08-16 13:22:27 +02:00
Klaus Post
458e4bb3f7 Remove empty lines. 2015-08-16 13:21:00 +02:00
Klaus Post
e1f6bbac9f Create uid/gid convertion function.
Create separate function to convert user ID / group ID of a user to integer.
Windows is a stub, since this doesn't work on Windows (uid/gid is not a number).
2015-08-16 13:16:02 +02:00
Klaus Post
0e7d0d8dba Create ignoreSigIntProcAttr()
Retrieve the SysProcAttr from a separate function. Completely eliminates syscall from main file.
2015-08-16 12:51:01 +02:00
Klaus Post
520b1b65b0 Create setNewFileMode function.
Create separate files with setNewFileMode to avoid
runtime checks.
2015-08-16 12:39:38 +02:00
Klaus Post
dfe232cf46 Add Windows node support.
The syscall.Stat_t doesn't exist on Windows, so it is replaced by an interface,
which Windows can fill out, and field access is replaced by function calls.

Common Unix functionality is put into "node_unix.go", so there is less boilerplate.

Symlinks are skipped on Windows, since they require admin privileges.
2015-08-14 15:57:47 +02:00
Klaus Post
2e7b40baca Make UID/GID '0' on Windows.
We ignore parser errors on Uid/Gid, since they are not numbers on Windows.

UID/GID is usually 'root' on Linux, so I am not sure if 0/0 is a good idea.
Maybe if the type of the fields were changed from uint32 to int, we could set it
to -1 to indicate "no value".
2015-08-14 15:50:14 +02:00
Klaus Post
4dc746dac2 Change repository type detection to first check if path is a directory that exists.
The method of determining if a repository exists doesn't work on Windows, since
the "url.Scheme" will contain the drive letter - "c" in "c:\backup",
so as a first step we check if the URL can be opened as a file,
and if so, we assume it is a 'local' type repository.
2015-08-14 15:39:16 +02:00
Klaus Post
fb3778abb6 Disable mount command on Windows.
FUSE does not support Windows, so we disable it on Windows.
2015-08-14 15:33:11 +02:00
Klaus Post
2dcb527828 Only use Setsid on Unix.
Setsid is not a part of syscall.SysProcAttr on Windows, so we only set that on
systems that have it.
2015-08-14 15:32:07 +02:00
Klaus Post
7c84d810d3 Make sure we can delete files on Windows.
Files must be closed on Windows before they can be deleted.
Therefore we keep track of all open files, and closes them before
we delete them.

Also we don't set finished blobs to read-only on Windows, since
that prevents us from deleting them.
2015-08-14 15:30:36 +02:00