Commit graph

4918 commits

Author SHA1 Message Date
Dominik Richter
ef9b299319 api: specinfra reports nil on non-existent files
Check the responses and make sure we dont blindly return eg: size=0 or group="" or user="" for files that dont exist.

Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:25:52 +02:00
Dominik Richter
ffcd12ba97 split up file integration tests
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:25:52 +02:00
Dominik Richter
4aef4821cc bugfix: target_type check for pipe
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:25:52 +02:00
Dominik Richter
6b64e12afa add pipe/fifo integration tests 2015-09-22 02:25:41 +02:00
Dominik Richter
b8ae2ee7a3 api: specinfra content returns nil on block_device
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:17:30 +02:00
Dominik Richter
ee0c1bb16a add block device integration tests
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:17:30 +02:00
Dominik Richter
d2ade9f247 bugfix: nil content on specinfra empty files
Only return nil for no content on specinfra files if the file actually has any content. ie. when we were not able to read the content then provide the answer of nil. if the file has no content, return an empty string. this leaves the error case where empty files cannot be read, which will not be signaled via content from specinfra.

Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:17:30 +02:00
Dominik Richter
15c002ba98 add character device tests
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:17:30 +02:00
Dominik Richter
d8dea86e6e api: return nil for md5/sha256/content empty
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:17:30 +02:00
Dominik Richter
e0b89e6ae2 bugfix: return nil on file content read errors
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:17:30 +02:00
Dominik Richter
b04cfc688d add folder integration tests
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:17:30 +02:00
Dominik Richter
2727918205 add test provisioner for folder and symlink
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:17:30 +02:00
Dominik Richter
12c45d0e7a clean test.rb file
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:17:30 +02:00
Dominik Richter
2c00423c3e read symlink destination file types
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:17:30 +02:00
Dominik Richter
6f4f0b570c inject specinfra backend helper into file
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:17:30 +02:00
Dominik Richter
5f472d9735 use lstat for local backend to read symlinks
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:17:30 +02:00
Dominik Richter
0969a04853 add symlink file integration tests
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:17:30 +02:00
Dominik Richter
3e16407454 rename file link_target -> link_path
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:17:30 +02:00
Dominik Richter
60f9e643aa api: specinfra mtime returns unix seconds
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:17:30 +02:00
Dominik Richter
04a8cfddf4 ignore exit code on linux stat
For now: Since stat throws exit code 1 on selinux label checks if no selinux label (or system) is present, it would signal us to disregard results. However, the results are actually complete and can be fully used, with selinux_label becoming "?".

Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:17:29 +02:00
Dominik Richter
526518fabd api: set specinfra product_version + file_version to nil
whenever the label is empty (typically on all *nix systems) set it to nil instead of ""

Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:17:29 +02:00
Dominik Richter
55bd535599 api: specinfra set selinux label to nil
Whenever the selinux label is empty, set it to nil instead of '?' or ''.

Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:17:29 +02:00
Dominik Richter
7c436baf3c implement remaining file tests for runner
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:17:29 +02:00
Dominik Richter
1c522d185e extend file tests 2015-09-22 02:17:29 +02:00
Dominik Richter
534a9ce57a bugfix: always return file stat 2015-09-22 02:17:29 +02:00
Dominik Richter
5557c92923 start file runner integration tests 2015-09-22 02:17:29 +02:00
Dominik Richter
bd00ab93a4 move to test runner with multiple backends 2015-09-22 02:17:29 +02:00
Dominik Richter
cafa45e84e add local specinfra backend to integration tests 2015-09-22 02:17:29 +02:00
Dominik Richter
b0203127ab add all test boxes to kitchen 2015-09-22 02:17:29 +02:00
Dominik Richter
45df094004 complete backend run_command integration tests 2015-09-22 02:17:29 +02:00
Dominik Richter
e03d567b58 ignore test kitchen files 2015-09-22 02:17:29 +02:00
Dominik Richter
1e7d365cad switch kitchen provisioner shell -> chef
Reason: Tempering around older ubuntu distros to get their ruby to work just right is error-prone and wasteful. Just install chef from omnibus, grab its ruby to run the tests and use chef to bootstrap the nodes.
2015-09-22 02:17:29 +02:00
Dominik Richter
ba1750e496 add simple localized test environment 2015-09-22 02:17:29 +02:00
Dominik Richter
1dbcac33f5 bugfix: gemspec should be able to run without git 2015-09-22 02:17:29 +02:00
Dominik Richter
1e43feef79 add bento boxes
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:17:29 +02:00
Dominik Richter
b3896a77a2 lint Rakefile
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:17:29 +02:00
Dominik Richter
867242eb25 rename test:integration -> test:resources
make room for backend tests

Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:17:29 +02:00
Dominik Richter
c86a68950a improvement: add optimized local file module
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:17:29 +02:00
Dominik Richter
491378b73b Merge pull request #17 from chef/readme
improve readme
2015-09-22 02:17:28 +02:00
Dominik Richter
ce27506be6 Merge pull request #18 from chef/specinfra-ssh-fix
bugfix: set host for ssh config in specinfra
2015-09-22 02:17:28 +02:00
Christoph Hartmann
733c12aa30 improve readme 2015-09-22 02:17:28 +02:00
Christoph Hartmann
e72f8721fc Merge pull request #15 from chef/fix-osdetection
Fix specinfra OS detection
2015-09-22 02:17:28 +02:00
Christoph Hartmann
6e76dd689e bugfix: set host for ssh config in specinfra 2015-09-22 02:17:28 +02:00
Dominik Richter
d7e0f98ace Merge pull request #14 from chef/os-detection
Os detection
2015-09-22 02:17:28 +02:00
Dominik Richter
8f45afffcd move up specinfra property detection
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:17:28 +02:00
Dominik Richter
fdc67bb02c Merge pull request #13 from chef/specinfra-winrm
bugfix: require specinfra backend
2015-09-22 02:17:28 +02:00
Christoph Hartmann
dfb330e7e8 use backend os detection in resources 2015-09-22 02:17:28 +02:00
Dominik Richter
48b25e893d bugfix: specinfra re-detect backend os
By default it uses the currently running OS on initialization, instead of the OS configured via backend. Force its reinitialization by resetting all properties.

Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:17:28 +02:00
Christoph Hartmann
b6d812dda9 Merge pull request #12 from chef/test-structure
improve docker test runner structure
2015-09-22 02:17:28 +02:00
Christoph Hartmann
1bf94016a7 rename Command to Cmd 2015-09-22 02:17:28 +02:00