On Tue, Mar 24, 2020 at 01:02:18PM +0300, Vladimir Sementsov-Ogievskiy wrote: > 24.03.2020 12:36, Kevin Wolf wrote: > > Am 24.03.2020 um 08:41 hat Vladimir Sementsov-Ogievskiy geschrieben: > > > When sending iotests to upstream or do patch porting from one branch > > > to another we very often have to resolve conflicts in group file, as > > > many absolutely independent features are intersecting by this file. > > > These conflicts are simple, but imagine how much time we all have > > > already spent on resolving them? Let's finally get rid of group file. > > > > > > This patch transposes group info: instead of collecting it in one file, > > > let each test define its groups by itself. > > > > > > Several steps are done to achive it: > > > > > > 1. Define groups in test files automatically: > > > > > > grep '^[0-9]\{3\} ' group | while read line; do > > > file=$(awk '{print $1}' <<< "$line"); > > > groups=$(sed -e 's/^... //' <<< "$line"); > > > awk "NR==2{print \"# group: $groups\"}1" $file > tmp; > > > cat tmp > $file; > > > done > > > > > > 2. Copy groups documentation into docs/devel/testing.rst, which already > > > has a section about iotests. > > > > > > 3. Modify check script to work without group file. > > > > > > Here is a logic change: before, even if test do not belong to any > > > group (only iotest 142 currently) it should be defined in group > > > file. Now, test is not forced to define any group. Instead check > > > considers all files with names matching [0-9][0-9][0-9] as tests. > > > > This has both a positive and a negative effect: Now you don't have to > > modify another file when you add a new test, but it will be picked up > > automatically. However, if you want to disable a test, you could > > previously just remove it from groups (or comment it out), and now you > > have to delete the test instead. > > Hmm. Probably, you could add it to group "disabled", and run check -x > disabled.
As a developer you don't really want to be making changes to git tracked files in order to temporarily skip a test, as then git reports them as modified & you risk accidentally committing throwaway changes. Better to have a separate groups.local file to record local overrides in a non-tracked file. Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|