nitzmahone
5b336832af
add _load_params debug overrides for module args/file passed on cmdline
...
Updated python module wrapper explode method to drop 'args' file next to module.
Both execute() and excommunicate() debug methods now pass the module args via file to enable debuggers that are picky about stdin.
Updated unit tests to use a context manager for masking/restoring default streams and argv.
2016-04-18 11:06:46 -07:00
Matt Davis
6322ed833e
Merge pull request #15422 from jhawkesworth/win_regedit_binary_tests
...
Windows: add win_regedit integration tests (needs https://github.com/ansible/ansible-modules-extras/pull/2034 )
2016-04-18 10:56:30 -07:00
James Cammarata
ed35e8bce2
Don't override the http status code when successful in urls.py
2016-04-18 13:20:24 -04:00
Toshio Kuratomi
7833b5bec4
Merge pull request #15420 from robinro/distribution_version_tests
...
Distribution version tests
2016-04-18 10:05:55 -07:00
Robin Roth
9bb069f873
Apache2 module integration test ( #15380 )
...
* add integration test for apache2_module
* fix assert syntax
* check os_family for this test
* add comment why only debian and suse are tested
* move apache2 test to destructive
* install apache2 package
2016-04-18 18:00:02 +02:00
Matt Clay
5fc76df18b
Add lxd connection plugin.
2016-04-15 19:10:57 -07:00
Matt Martz
a985bf6a31
Don't pass context to urlopen, instead add it to the handlers. Fixes https://github.com/ansible/ansible-modules-core/issues/3437
2016-04-15 16:10:54 -05:00
Robin Roth
49cdc565c5
remove nose.tools use
2016-04-15 19:40:08 +02:00
Robin Roth
4088aa2b4c
get rid of assert_in
2016-04-15 19:30:49 +02:00
Robin Roth
692bf51fde
move gen_testcase to hacking/tests
...
* also use json instead of pprint
2016-04-15 17:14:43 +02:00
Robin Roth
37188ea336
cleanup tests
...
* use nose test generator
* more comments
* move facts import inside the skipped function, fix python3 warning
2016-04-15 17:14:14 +02:00
Robin Roth
2b104fe6ad
fix tests for SLES and CoreOS
...
* include #15230
2016-04-15 17:13:59 +02:00
Robin Roth
b48e628429
test git version before running test on depth
2016-04-15 09:49:05 +02:00
=
157072a39f
Windows: win_regedit integration tests (following https://github.com/ansible/ansible-modules-extras/pull/2034 )
2016-04-14 21:47:17 +01:00
Cambell
cdf6e3e4bf
feature/copy-vault-dataloader: Add method get_real_file(file_path) to dataloader
...
- get_real_file will decrypt vault encrypted files and return a path to
a temporary file.
- cleanup_real_file will remove a temporary file created previously with
get_real_file
2016-04-14 14:12:48 -04:00
Robin Roth
776bffb52b
Expand git integration test ( #15391 )
...
* add testcases to git for depth
* also in combination with refspec, which gets more tricky
* add testcase for ansible/ansible-modules-core#527
2016-04-14 09:41:10 -07:00
Robin Roth
3c883d8a6d
add testcases from refactor PR
2016-04-14 18:26:00 +02:00
Matt Clay
af8258cdf2
Revert "Increase verbosity of connection tests." ( #15305 )
2016-04-14 11:06:46 -04:00
Toshio Kuratomi
208ad36ce4
Merge pull request #15344 from abadger/ziploader
...
Ziploader "recursive imports" and caching
2016-04-13 10:27:01 -07:00
Jonathon Klobucar
7bee994e1c
Fix for serial when percent amount is less than one host ( #15396 )
...
Ansible when there was a percentage that was calculated to be less than
1.0 would run all hosts as the value for a rolling update.
The error is due to the fact that Python will round a
float that is under 1.0 to 0, which will trigger the case of
0 hosts. The 0 host case tells ansible to run all hosts.
The fix will see if the percentage calculation after int
conversion is 0 and will else to 1 host.
2016-04-13 10:49:38 -04:00
Toshio Kuratomi
75546678d9
Fix unittests
2016-04-12 08:01:07 -07:00
Toshio Kuratomi
dcc5dfdf81
Controller-side module caching.
...
This makes our recursive, ast.parse performance measures as fast as
pre-ziploader baseline.
Since this unittest isn't testing that the returned module data is
correct we don't need to worry about os.rename not having any module
data. Should devise a separate test for the module and caching code
2016-04-12 08:01:07 -07:00
Matt Martz
dd39f57ae7
Merge pull request #15289 from sivel/sni-urllib3-contrib-try2
...
Optional Use of urllib3 for SNI verification
2016-04-08 11:26:49 -05:00
nitzmahone
698ae7c383
ensure test_win_user fails on bogus error
...
We weren't previously checking the error message- it failed as expected, but for the wrong reason.
2016-04-07 18:24:12 -07:00
Strahinja Kustudić
eed6cf5dad
Adds 'ansible_check_mode' boolean magic variable
...
* Makes it possible to pass any options variable to VariableManager
by changing `load_options_vars(options)` in `lib/ansible/utils/vars.py`
2016-04-08 00:26:02 +02:00
Matt Martz
6e9c09d7f7
Utilize urllib3.contrib.pyopenssl functionality for SNI capability in python versions lacking SNI support
...
Also add SNI tests, move test_uri to destructive since we are messing with packages for SNI testing
2016-04-06 10:14:13 -05:00
Toshio Kuratomi
4b0aa1214c
Ziploader
...
* Ziploader proof of concept (jimi-c)
* Cleanups to proof of concept ziploader branch:
* python3 compatible base64 encoding
* zipfile compression (still need to enable toggling this off for
systems without zlib support in python)
* Allow non-wildcard imports (still need to make this recusrsive so that
we can have module_utils code that imports other module_utils code.)
* Better tracebacks: module filename is kept and module_utils directory
is kept so that tracebacks show the real filenames that the errors
appear in.
* Make sure we import modules that are used into the module_utils files that they are used in.
* Set ansible version in a more pythonic way for ziploader than we were doing in module replacer
* Make it possible to set the module compression as an inventory var
This may be necessary on systems where python has been compiled without
zlib compression.
* Refactoring of module_common code:
* module replacer only replaces values that make sense for that type of
file (example: don't attempt to replace python imports if we're in
a powershell module).
* Implement configurable shebang support for ziploader wrapper
* Implement client-side constants (for SELINUX_SPECIAL_FS and SYSLOG)
via environment variable.
* Remove strip_comments param as we're never going to use it (ruins line
numbering)
* Don't repeat ourselves about detecting REPLACER
* Add an easy way to debug
* Port test-module to the ziploader-aware modify_module()
* strip comments and blank lines from the wrapper so we send less over the wire.
* Comments cleanup
* Remember to output write the module line itself in powershell modules
* for line in lines strips the newlines so we have to add them back in
2016-04-05 11:06:17 -07:00
jpic
4985411816
Test other use-cases for PluginLoader's config
2016-04-05 14:45:40 +02:00
jpic
da175d0a57
Bugfix: proper plugin configuration was reset
...
Before this patch, if config was ['/some/path'] then it would enter the
else block and config would be set to [].
The regression this patch fixes was introduced by 700db154
.
2016-04-05 14:41:49 +02:00
Toshio Kuratomi
4b0f65a3e5
Merge pull request #15207 from mattclay/verbose-test
...
Increase verbosity of connection tests.
2016-03-31 22:02:19 -07:00
Matt Davis
3f70d7a70d
Merge pull request #15144 from mattclay/winrm-test
...
Add winrm tests and fix exposed unicode errors.
2016-03-31 16:30:45 -07:00
James Cammarata
180a0a8e77
Fixing up the logic in the test_script tests removal portion
2016-03-31 15:59:19 -04:00
Matt Clay
262c341cda
Add connection tests for winrm connection plugin.
...
These are the same tests used for the other connection plugins,
adapted to use winrm modules and Windows friendly paths.
2016-03-31 08:32:41 -07:00
Matt Clay
a0361626c9
Increase verbosity of connection tests.
2016-03-30 06:57:53 -07:00
James Cammarata
5fdac707fd
New unit tests for #13630 fix
2016-03-28 15:54:07 -04:00
René Moser
f2a81e580d
Merge pull request #15169 from mgruener/test_cloudflare_dns
...
Integration tests for the cloudflare_dns module
2016-03-26 09:39:52 +01:00
James Cammarata
d00ac6e2d1
Merge pull request #15072 from rajatguptarg/fix-requirements
...
Add pycrypto as a requirement to run tests
2016-03-26 00:39:01 -04:00
Michael Gruener
94806e1953
Add integration tests for the cloudflare_dns module
2016-03-25 21:22:29 +01:00
Brian Coca
1ebc2fda71
removes python requirement to script
...
mistakenly added when checksum was made to use stat module
fixed assertion in test
2016-03-24 16:17:58 -07:00
Matt Clay
943e4d37f5
Run more connection tests in Docker.
...
Connection tests are now run before non_destructive to make sure
that the known_hosts file in our Docker image has not been removed.
2016-03-23 21:21:52 -07:00
Toshio Kuratomi
52e9209491
Don't create world-readable module and tempfiles without explicit user permission
2016-03-23 09:52:19 -07:00
Toshio Kuratomi
1802e09b08
Exclude .tox from paths scanned for urlopen
2016-03-23 08:49:37 -07:00
Toshio Kuratomi
d3583108ec
Fix log_invocation test on python2 with hash randomization
2016-03-23 08:01:21 -07:00
Matt Martz
ad30bad14f
Skip test_module_utils_basic__log_invocation until we can figure out the cause of the failure
2016-03-22 21:59:03 -05:00
Matt Martz
a6d52ce098
Ensure that any command in run_tests.sh that fails results in immediate failure
2016-03-22 20:41:37 -05:00
Toshio Kuratomi
c3548677de
Add TEST_FLAGS to test_hash
2016-03-22 13:19:29 -07:00
James Cammarata
6afed7083a
Revert "Use docker cp instead of docker volumes to allow for testing with remote docker servers"
...
This reverts commit 18599047cd
.
2016-03-22 15:37:47 -04:00
James Cammarata
90ffb8d8f0
Also remove volumes when removing containers
2016-03-22 13:53:54 -04:00
James Cammarata
9a2c1cf94d
Force removal of docker container after test ends
2016-03-22 11:45:26 -04:00
Matt Martz
18599047cd
Use docker cp instead of docker volumes to allow for testing with remote docker servers
2016-03-22 10:54:57 -04:00
James Cammarata
081c33c451
Adding a docker pull to the run_tests.sh script
2016-03-22 09:49:19 -04:00
James Cammarata
395ff361d4
Adding acl package to all docker images
2016-03-22 07:54:13 -04:00
Toshio Kuratomi
3511abb9d9
Merge pull request #15055 from ansible/ansible_sudo_pass-should-override-cli
...
Fix ansible_sudo_pass inventory variable so that it overrides setting of sudo password from the command line
2016-03-21 13:31:35 -07:00
Brian Coca
9c6b49fd3d
Merge pull request #15004 from agx/zypper-repository-integration-tests
...
Integration tests for zypper repository
2016-03-21 11:00:50 -07:00
Toshio Kuratomi
ed9e164b80
Fix ansible_sudo_pass inventory variable so that it overrides setting of sudo password from the command line
2016-03-21 10:20:40 -07:00
Rajat Gupta
dd27157b9d
Add pycrypto as a requirement to run tests
2016-03-21 21:37:18 +05:30
James Cammarata
7460f76f8d
Merge pull request #15052 from mattclay/travis-docker-ssh
...
Add ssh client and server to docker containers.
2016-03-20 16:41:10 -04:00
Matt Clay
4224c11b5f
Combine new RUN commands into one RUN command.
2016-03-20 10:48:11 -07:00
Toshio Kuratomi
6824f3a7cc
Change url so that we don't test https in the tests for file perms
2016-03-20 08:49:40 -07:00
Toshio Kuratomi
cbd93b6ad3
Add integration test for #11821
2016-03-20 07:59:00 -07:00
Matt Clay
da99e4e0aa
Add ssh client and server to docker containers.
...
This will allow for future integration tests using ssh to localhost
from within docker containers running on Travis.
2016-03-19 21:33:23 -07:00
nitzmahone
b95286c88e
re-integrate test_test_infra output checking
...
added secondary run with overridden inventory/test args per bcoca request
2016-03-18 10:14:22 -07:00
nitzmahone
6578e63e63
improve test_test_infra debug messaging, rc check
2016-03-18 08:51:43 -07:00
Toshio Kuratomi
bdf90d20dd
Add :Z to mount the volume. This is a docker-1.7+ option that makes the mount properly relabel for selinux
2016-03-18 07:47:09 -07:00
Brian Coca
db61e9be0c
add ansible_executable inventory var
...
also handle the overrides appropriately
also new executable to set shell type
2016-03-17 18:54:37 -07:00
Toshio Kuratomi
e80cd8bcaf
Merge pull request #14908 from mattclay/mysql-connect-timeout
...
Document mysql connect_timeout and update tests.
2016-03-17 07:18:01 -07:00
James Cammarata
8eadc1d8eb
Adding more unit tests for AnsibleModule things in basic.py
2016-03-17 02:02:15 -04:00
Matt Clay
9a922fcf0d
Update test to use mysql connect_timeout option.
2016-03-16 22:31:48 -07:00
Guido Günther
2095d1ab33
Integration tests for zypper repository
2016-03-16 19:56:56 +01:00
Rene Moser
5d5d905e36
cloudstack: new integration tests test_cs_resourcelimit
2016-03-15 21:41:08 +01:00
Rene Moser
4d6a15ebc3
cloudstack: new integration tests test_cluster
2016-03-15 21:41:08 +01:00
Rene Moser
d50026b108
cloudstack: new integration tests test_cs_pod
2016-03-15 21:41:08 +01:00
Rene Moser
ae6d2a5602
cloudstack: new integration tests test_cs_instance_facts
2016-03-15 21:40:45 +01:00
Rene Moser
d9f7589460
cloudstack: new integration tests test_cs_configuration
2016-03-15 21:39:09 +01:00
René Moser
7587c20d27
Merge pull request #13183 from resmo/for-ansible
...
[2.1] cloudstack: add tests for cs_volume
2016-03-15 21:30:01 +01:00
Toshio Kuratomi
ea58ccfd5e
Make the fact gathering give a little more information on failure
2016-03-15 12:32:27 -07:00
James Cammarata
88310a7f28
Adding iproute to certain RH-based docker images
2016-03-15 15:28:22 -04:00
Toshio Kuratomi
9a6a5a5516
add a fact gathering check for the default of all
2016-03-15 11:58:23 -07:00
Toshio Kuratomi
f0e6d28815
Make integration tests for fact gathering assert on failure
2016-03-14 18:48:40 -07:00
Toshio Kuratomi
512825455e
Make ohai and facter work via module_utils Fact classes rather than in the setup module
2016-03-14 14:53:29 -07:00
Yannig Perré
88772b6003
Add a way to restrict gathered facts in Ansible:
...
- Using gather_subset options
- By ignoring ohai/chef or facter/puppet facts
2016-03-14 14:53:28 -07:00
James Cammarata
81788e627d
Adding unit tests for TaskResult
2016-03-14 01:33:46 -04:00
James Cammarata
2fa1936ff9
Adding python-dev to the list of packages for ubuntu1204 docker
...
[ci skip]
2016-03-13 09:21:47 -04:00
James Cammarata
9d459386ce
Also adding an upgrade of pycrypto to ubuntu1204 config
2016-03-13 09:14:15 -04:00
James Cammarata
90afc5e7d2
Adding rubygems to the ubuntu1204 docker config
...
[no ci]
2016-03-13 08:50:21 -04:00
James Cammarata
af282eb979
Fixing typo in ubuntu1204 docker config
2016-03-13 08:31:47 -04:00
James Cammarata
ff5584a349
Updating jinja2 in ubuntu1204 docker image
2016-03-13 08:27:52 -04:00
James Cammarata
1222830155
Initial commit for Ubuntu 12.04 docker config for testing
2016-03-13 03:19:47 -04:00
Matt Clay
a44b88936b
Add unicode dir to connection tests.
2016-03-11 16:55:14 -08:00
Dag Wieers
5775739437
Moving samples/ out of the root into test/
...
Since samples/ is used for v2 testing, it fits better into the existing test/ structure.
2016-03-11 21:59:06 +01:00
James Cammarata
286d91d722
Reorganizing tox stuff and making py3-specific requirements
2016-03-11 11:25:28 -05:00
James Cammarata
ab682b2917
Moving docker tests to pre-compiled images
2016-03-10 21:52:23 -05:00
James Cammarata
adc9a25a06
Merge pull request #14904 from mattclay/mysql-test-timeout
...
Lower connect timeout for test_mysql_variables.
2016-03-10 16:04:06 -05:00
James Cammarata
c6af811573
Fixing equality check in run_tests.sh for sanity
2016-03-10 15:34:06 -05:00
Matt Clay
20eee14a2c
Lower connect timeout for test_mysql_variables.
2016-03-10 12:18:00 -08:00
Brian Coca
7e3c92e909
predictable docker names and autoremove if no fail
2016-03-10 15:07:17 -05:00
James Cammarata
f700a7e3ce
Removing forced pull from build step in run_tests.sh
2016-03-10 14:07:58 -05:00
Matt Clay
5c206eaf0b
Add additional plugins to connection tests.
...
- docker
- libvirt_lxc
- jail
These tests will not run as part of the build, but can be run manually.
2016-03-10 09:04:32 -08:00
Brian Coca
a07495e4c8
allow tests to run with parameters
...
also fixed test_test_infra to allow tags
2016-03-10 10:50:14 -05:00
James Cammarata
c2441c15c3
Revert "corrected failed_when test"
...
This reverts commit 140df20504
.
2016-03-10 09:08:17 -05:00
James Cammarata
963178f392
Revert "complete correction of test, key exists but is false"
...
This reverts commit 7e6343213b
.
2016-03-10 09:06:08 -05:00
Brian Coca
923548f6d5
removed test_infra from setup as it fails when using --tags
2016-03-10 00:29:32 -05:00
Brian Coca
7e6343213b
complete correction of test, key exists but is false
2016-03-10 00:24:27 -05:00
Brian Coca
140df20504
corrected failed_when test
2016-03-10 00:16:38 -05:00
nitzmahone
6c835b2600
ensure assert and fail work before we test anything else
2016-03-09 17:36:39 -08:00
Toshio Kuratomi
2b8a0cdddc
Fix ssh connection unittests for python3.4
2016-03-09 11:14:02 -08:00
James Cammarata
9d61a6cba8
Fixing PlayIterator bugs
...
* Unit tests exposed a problem where nested blocks did not correctly
hit rescue/always portions of parent blocks
* Cleaned up logic in PlayIterator
* Unfortunately fixing the above exposed a potential problem in the
block integration tests, where a failure in an "always" section may
always lead to a failed state and the termination of execution
beyond that point, so certain parts of the block integration test
were disabled.
2016-03-09 13:31:30 -05:00
James Cammarata
f0d3284ead
Adding more unit tests for ssh connection plugin
2016-03-08 14:50:35 -05:00
James Cammarata
2f472fd4e9
Adding start of ssh connection unit tests
2016-03-08 01:07:16 -05:00
Matt Davis
22344c5320
Merge pull request #14812 from mattclay/test-connection
...
Add tests for connection plugins.
2016-03-08 04:17:30 +00:00
Matt Martz
8aee648bc9
Add as dependency of the parsing make target
2016-03-07 17:38:47 -06:00
Matt Martz
098333b2ec
Fix redirects for get_url
...
* fetch_url shouldn't both accept follow_redirects and support follow_redircts via module.params
* Default follow_redirects for open_url should be 'urllib2'
* Add redirect test for get_url
2016-03-07 15:44:31 -06:00
James Cammarata
299d93f6e9
Updating unit tests for PlayIterator
...
This knowingly introduces a broken test, planning to fix that later.
2016-03-07 13:03:06 -05:00
James Cammarata
8cfdaa16f4
Fixing error in localedef usage for f23 docker image
2016-03-06 11:07:27 -05:00
James Cammarata
0e17a6f036
Another attempt at fixing random f23 locale failures in docker image
2016-03-06 09:56:31 -05:00
James Cammarata
2ee0c1b175
Fixing centos6 docker image for pycrytpo too
2016-03-06 08:09:30 -05:00
James Cammarata
762c99f77c
Fixing centos6 docker image to upgrade jinja2
2016-03-06 07:49:00 -05:00
James Cammarata
56670bd150
More tweaks for fedora on docker
2016-03-05 18:36:41 -05:00
James Cammarata
b97a98f69e
Trying to fix up the fedora23 docker image
2016-03-05 15:45:37 -05:00
James Cammarata
b72cd3a6d2
Adding fedora rawhide to the travis mix
2016-03-05 14:35:49 -05:00
James Cammarata
c632873936
Adding centos 6 to the travis mix
2016-03-05 13:47:23 -05:00
James Cammarata
e5844ee03d
Revert "Testing adding -j2 to the run_tests.sh script to speed up docker tests"
...
This reverts commit db2a0ae255
, as it does not
add any speed to the tests on Travis.
2016-03-05 11:50:10 -05:00
James Cammarata
db2a0ae255
Testing adding -j2 to the run_tests.sh script to speed up docker tests
2016-03-05 10:58:30 -05:00
Matt Clay
49892b287b
Use vars to eliminate redundant test commands.
2016-03-04 18:14:52 -08:00
Matt Clay
ca62bc5db3
Add tests for connection plugins.
2016-03-04 13:16:31 -08:00
James Cammarata
981f451f0e
Adding fedora 23 to the Docker tests on travis
2016-03-04 14:02:13 -05:00
James Cammarata
7f34705b0c
Fixing up Dockerfiles some more to get tests passing fully
2016-03-04 09:16:28 -05:00
James Cammarata
fa630872d9
Minor update to the Dockerfiles
2016-03-04 02:48:44 -05:00
James Cammarata
069e597aaa
Fixing locale stuff in ubuntu 14.04 Dockerfile
2016-03-03 22:29:21 -05:00
James Cammarata
f56af2ec3f
Updating docker files for tests
2016-03-03 21:03:28 -05:00
James Cammarata
e4acd44e23
Make sure test script fails on any error
2016-03-03 20:44:13 -05:00
Matt Martz
d8876b5c03
Run /sbin/init in the ubuntu docker image, as we do with centos
2016-03-03 16:45:47 -06:00
James Cammarata
92dcad8e99
Adding docker container capabilities to Travis
2016-03-03 15:26:08 -05:00
James Cammarata
80b10bd669
Moving creating of testing work dir out of dep role and into Makefile
2016-03-03 15:26:08 -05:00
Toshio Kuratomi
7160b40ab1
Fix the Makefile to run under dash (POSIX /bin/test syntax)
2016-03-03 09:25:12 -08:00
James Cammarata
b853e932d1
Adding unit tests for symbolic mode conversion stuff in basic.py
2016-03-01 16:41:57 -05:00
James Cammarata
18240d350c
Adding a skip for the literal_eval test on py3
2016-03-01 14:33:05 -05:00
James Cammarata
0ea3a9d08d
Removing tabs from test_basic.py
2016-03-01 14:15:15 -05:00
James Cammarata
1de9357c2f
Attempt at cleaning up issues introduced by new basic.py unit tests
2016-03-01 14:06:58 -05:00
James Cammarata
e011f52557
Expanding unit tests for module_utils/basic.py
2016-03-01 13:53:13 -05:00
Matt Davis
3d58fd1402
Merge pull request #13481 from jhawkesworth/a21_reg_merge_tests
...
windows; adding integration tests for win_regmerge (extras module)
2016-03-01 00:42:09 +00:00
James Cammarata
c56e3aabfb
Clean up jsonify unit test with format to remove json lib differences
2016-02-29 15:08:59 -05:00
James Cammarata
7c049c3200
Fixing up jsonify and adding unit tests
2016-02-29 14:51:23 -05:00
James Cammarata
a9d25f455c
More unit tests for ActionBase
2016-02-29 12:59:58 -05:00
James Cammarata
e588437067
Adding some unicode params to the ActionBase module formatting test
2016-02-27 10:05:22 -05:00
Toshio Kuratomi
7cb29cdbec
Workaround py2.6's StringIO
2016-02-26 17:59:00 -08:00
Toshio Kuratomi
b70bf3b056
Use io.StringIO and io.BytesIO instead of StringIO.StringIO for compat with py3
2016-02-26 16:43:05 -08:00
Toshio Kuratomi
c29f51804b
Fix mixing of bytes and str in module replacer (caused traceback on python3)
2016-02-26 16:43:05 -08:00
James Cammarata
01d835700b
Cleaning up some py version problems with ActionBase unit tests
2016-02-26 16:22:35 -05:00
James Cammarata
3518a05db6
Starting to expand unit tests for ActionBase plugin class
2016-02-26 12:47:59 -05:00