anchor.diff:              # assigned to testtarget2. testService3 must be assigned to both
               # machines. This test should succeed.
             
  -            my $result = $machine->mustSucceed("NIX_PATH='nixpkgs=${nixpkgs}' dydisnix-gendist -s ${tests}/services.nix -i ${tests}/infrastructure.nix -q ${tests}/qos/qos-maplistonattr.nix");
  -            my @distribution = split('\n', $machine->mustSucceed("cat $result"));
  -            
  -            if(@distribution[7] =~ /testtarget1/) {
  -                print "line 7 contains testtarget1!\n";
  -            } else {
  -                die "line 7 should contain testtarget1!\n";
  -            }
  -            
  -            if(@distribution[12] =~ /testtarget2/) {
  +            $result = $machine->mustSucceed("NIX_PATH='nixpkgs=${nixpkgs}' dydisnix-gendist -s ${tests}/services.nix -i ${tests}/infrastructure.nix -q ${tests}/qos/qos-maplistonattr.nix");
  +            @distribution = split('\n', $machine->mustSucceed("cat $result"));
  +            
  +            if($distribution[7] =~ /testtarget1/) {
  +                print "line 7 contains testtarget1!\n";
  +            } else {
  +                die "line 7 should contain testtarget1!\n";
  +            }
  +            
  +            if($distribution[12] =~ /testtarget2/) {
                   print "line 12 contains testtarget2!\n";
               } else {
                   die "line 12 should contain testtarget2!\n";
               }
             
  -            if(@distribution[17] =~ /testtarget1/) {
  +            if($distribution[17] =~ /testtarget1/) {
                   print "line 17 contains testtarget1!\n";
               } else {
                   die "line 17 should contain testtarget1!\n";
               }
               
  -            if(@distribution[18] =~ /testtarget2/) {
  +            if($distribution[18] =~ /testtarget2/) {
                   print "line 18 contains testtarget2!\n";
               } else {
                   die "line 18 should contain testtarget2!\n";
  
positive.code:             # attribute. The order of the targets should be reversed.
              # This test should succeed.
              
              my $result = $machine->mustSucceed("NIX_PATH='nixpkgs=${nixpkgs}' dydisnix-gendist -s ${tests}/services.nix -i ${tests}/infrastructure.nix -q ${tests}/qos/qos-order.nix");
              my @distribution = split('\n', $machine->mustSucceed("cat $result"));
              
              if(@distribution[7] =~ /testtarget2/) {
                  print "line 7 contains testtarget2!\n";
              } else {
                  die "line 7 should contain testtarget2!\n";
              }
              
              if(@distribution[8] =~ /testtarget1/) {
                  print "line 8 contains testtarget1!\n";
              } else {
                  die "line 8 should contain testtarget1!\n";
  
negative.code:             # cost attribute in the infrastructure model. All services should
              # be distributed to testtarget1.
              
              $result = $machine->mustSucceed("NIX_PATH='nixpkgs=${nixpkgs}' dydisnix-gendist -s ${tests}/services.nix -i ${tests}/infrastructure.nix -q ${tests}/qos/qos-minsetcover.nix");
              @distribution = split('\n', $machine->mustSucceed("cat $result"));
              
              if($distribution[7] =~ /testtarget1/) {
                  print "line 7 contains testtarget1!\n";
              } else {
                  die "line 7 should contain testtarget1!\n";
              }
              
              if($distribution[12] =~ /testtarget1/) {
                  print "line 12 contains testtarget1!\n";
              } else {
                  die "line 12 should contain testtarget1!\n";
              }
              
              if($distribution[17] =~ /testtarget1/) {
                  print "line 17 contains testtarget1!\n";
              } else {
                  die "line 17 should contain testtarget1!\n";
  