17:00:06 #startmeeting Testing Working Group 17:00:06 Meeting started Thu Feb 16 17:00:06 2017 UTC. The chair is gundalow. Information about MeetBot at http://wiki.debian.org/MeetBot. 17:00:06 Useful Commands: #action #agreed #halp #info #idea #link #topic. 17:00:06 The meeting name has been set to 'testing_working_group' 17:00:17 #chair gundalow mattclay 17:00:17 Current chairs: gundalow mattclay 17:00:25 * mattclay waves 17:00:36 #info Agenda, as always https://github.com/ansible/community/issues/114 17:00:56 dag: jhawkesworth You around? 17:01:57 #info work continues on Network integration tests 17:02:02 That's the only update I have 17:02:31 bloop 17:02:49 yup 17:02:50 #info Test infrastructure has been stabilizing over the last week. Shippable will be deploying another release this weekend to resolve issues with webhook failures. 17:03:08 mattclay \o/ 17:03:53 #info ansible-test has been updated to handle changes to module_utils more efficiently, which should speed up CI on PRs which need to make module_utils changes. 17:03:55 I must be the only person who has witnessed every possible error Shippable is able to provoke :p 17:04:48 That's it from me. 17:05:20 dag: did you have some questions regarding Windows integratio testing? 17:05:55 gundalow: wait_for_connection already has 2 integration tests that can run for all platforms/targets 17:06:16 gundalow: but wait_for_connection could be used to test when the Windows targets are really working 17:07:20 I can probably update the test infrastructure so we can test wait_for_connection as part of CI. I'll want to do that as a separate PR after wait_for_connection is merged. 17:07:22 so part of core_ci may be replaced with wait_for_connection 17:07:34 not sure if we want to 17:07:39 (or if it helps) 17:08:14 currently I added 2 tests, wait_for_connection to target, and wait_for_connection using local connection 17:08:15 Yeah, I'm still undecided on whether it's a good idea or not. 17:09:13 wait_for_connection also gives intermediates updates to what it is testing, but it is less specific to what is happening 17:09:18 (as it doesn't really know/care) 17:09:29 Instead of using it to test initial instance startup, it might be more useful to test on a reboot -- but we don't have support for that in CI yet either. 17:09:54 right, but for a reboot we have specialized modules already (win_reboot on windows) 17:10:16 I plan to adapt win_reboot to use the same mechanism as wait_for_connection, once it is merged 17:10:17 It's basically the 2nd half of win_reboot 17:10:21 indeed 17:10:29 but less specific to windows 17:10:51 so I'd like to have a review of wait_for_connection from some core people basically 17:11:01 You'll get one from me soon 17:11:07 Either way, we shouldn't hold up wait_for_connection on testing in CI. 17:11:18 since it's based on win_reboot I think it's fine, except maybe the transport_test() in connection plugin 17:11:29 Actually, I think the windows reboot stuff *could* be tested 17:11:49 yes, but not for testing wait_for_connection ,-) 17:12:14 ok, kids want me to go upstairs to watch their *show* 17:12:26 so that takes priority, obviously 17:12:43 dag: Thanks for your time 17:12:45 enjoy the show 17:18:54 cool, guess we can move on 17:19:28 #topic ansible-test to ignore file not in git ansible/ansible#20944 17:19:31 hey alikins 17:19:43 #link https://github.com/ansible/ansible/pull/20944 17:19:55 bloop 17:19:59 :) 17:20:36 So is the use case you are running ansible-test locally (yay), though you sometimes other test files dotted around during test & development? 17:21:01 That patch is so I can run ansible-test sanity on my working checkout without tests failing on some_helper_script.py and repro_3454.yml etc 17:21:15 Sounds sensible to me 17:22:21 +1 17:22:30 I have a few concerns about the current implementation. I'm not sure I like the requirement of using git commands in the sanity scripts, although I need to think about that one more. The other is that this only fixes it for individual sanity scripts, it doesn't help with any of the other tests. 17:23:02 Actually, it only works for the code-smell portion of sanity. 17:23:04 That pr is just for the shell scripts. The builtin target finders ('walk_sanity_targets for ex, iirc) need to be updated as well. 17:23:31 Which is a bit more complicated, but all that needs to work even without git. 17:23:36 why? 17:23:40 s/but/because/ 17:24:03 There's no `.git` directory on the "remote" instances when running ansible-test. 17:24:16 So we'd have to support working with and without git. 17:25:24 So I'm thinking we might need a different solution to this. Is there a reason we can't have some kind of temp dir to put stuff in we don't want to test? That wouldn't require git. 17:26:17 Or use git, if it doesn't exist fall back to current way of doing it 17:26:26 and pull that out into some common code 17:27:38 The other thing, specific to code-smell tests, is I'd like to rewrite them anyways so they aren't dependent on platform-specific tools. I don't know if the git versions of the commands we use are built-in, or if they delegate to the normal versions. Does anyone know? 17:28:48 not sure I understand. git versions of what commands? 17:29:38 Things like `git grep` for example. 17:30:14 Is the entire implementation of that in git, or does it delegate to grep? 17:32:06 think it is built in but not sure. docs dont mention relying on external tools 17:34:53 there is a git/builting/grep.c in git source, so I assume so 17:34:56 alikins: Are the files you want to ignore spread around your working directory, or are they just in one place? 17:35:20 I want to ignore everything thats not in the git repo 17:35:33 but, all over the place 17:40:02 I think we can come up with something that will work, and not just for the code-smell scripts. 17:40:38 for remote cases sans git, could build a manifest from git and use it 17:41:23 If we do it right, we won't need to. We'll just filter the list of files before sending to the remote. 17:45:31 I need to spend some time to write down the various issues around making this work, so we can do it for more than just code-smell. 17:45:55 alikins: So i suppose for the moment you can use your patch locally 17:48:59 #info Not as simply as it first seems - PR only works for code-smell portion of sanity 17:49:22 #info The builtin target finders ('walk_sanity_targets for ex, iirc) need to be updated as well. 17:49:33 #info There's no `.git` directory on the "remote" instances when running ansible-test. 17:49:53 #action mattclay To spend some time to write down the various issues around making this work, so we can do it for more than just code-smell. 17:50:41 #info The files to ignore could be anywhere in the directory tree 17:50:47 Did I miss anything? 17:55:40 gundalow: seems to cover it 17:55:53 and some misc files I have in my check out ;-> 17:56:32 #topic Open Floor 17:56:37 Anymore for any more? 17:58:52 cool 17:58:56 Thanks everyone 17:58:58 #endmeeting