Commit graph

633 commits

Author SHA1 Message Date
Dominik Richter
7137a9625b expose backend file path
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:26:58 +02:00
Dominik Richter
c80b712287 skip run_command stderr for specinfra local execution
It fails in most cases, works in others. Skip it for now until this is solved

Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:26:58 +02:00
Dominik Richter
682fe8f261 fix selinux label tests for redhat family
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:26:58 +02:00
Dominik Richter
d16f76c9ce pull in selinux label on local backend runner
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:26:58 +02:00
Dominik Richter
b13a1b574d let specinfra support empty block device content 2015-09-22 02:26:58 +02:00
Dominik Richter
daf0602b93 test for empty block device 2015-09-22 02:26:58 +02:00
Dominik Richter
dda75d7c67 create dummy block device 2015-09-22 02:26:58 +02:00
Dominik Richter
2a46af5f3d extend modify time and inode size 2015-09-22 02:26:58 +02:00
Dominik Richter
29e2105c52 add pipe resource to test cookbook 2015-09-22 02:26:52 +02:00
Dominik Richter
9418557554 add test-kitchen to gemspec dev dependencies
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:25:52 +02:00
Dominik Richter
de2b4b1b01 isolate unit tests as rake default
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:25:52 +02:00
Dominik Richter
72e3fbcb2a add section on runner tests to readme
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:25:52 +02:00
Dominik Richter
8499919b15 add minimal rake task for runner tests
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:25:52 +02:00
Dominik Richter
45d59ab3f8 add file integration tests for missing paths
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:25:52 +02:00
Dominik Richter
7f19111b1b bugfix: catch lstat errors on local backend
Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
2015-09-22 02:25:52 +02:00
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