xlab-uiuc / IDoCT

Illinois Dataset of Configuration Tests
3 stars 23 forks source link

[Add] add a tsv file and a patch file #5

Closed Justin-Xiang closed 2 years ago

Justin-Xiang commented 2 years ago

Since my PR is merged, I'm able to add a tsv file to the test_rewrite directory to record the rewritten test information.

Besides, during my time in finding and rewriting tests, I found most tests, like the test I rewrite this time, are hardcoded configuration, then an assertion will test the equality. The type of this Ctest is easy to rewrite, we just need to useconf.get to get the actual value.

However, I found many other tests that didn't set a param from CommonConfigurationKeysPublic.java, but from its own file. For example, conf.set(AvroReflectSerialization.AVRO_REFLECT_PACKAGES, before.getClass().getPackage().getName());, in this code, AvroReflectSerialization.AVRO_REFLECT_PACKAGES actually comes from another final string "avro.reflect.pkgs". It maybe not related to the system configuration param, but I do think if we can set this param through our python script, our test work can become more complete. And I'm trying to modify script to do this injection work.

shuaiwang516 commented 2 years ago

It maybe not related to the system configuration param, but I do think if we can set this param through our python script

Yes this is a very good point. Take Hadoop-Common as an example, currently we only care about those configuration parameters that shown in core-default.xml file. There are indeed has other configuration files that stores other configuration parameters, but for now we do not handle them. It is really great if you can take a look into this, there could be a lot of interesting research questions here, for example, what's the difference between the parameter in core-default.xml and in other config files? Do they share the same configuration API? Why do we need different files rather than one unique configuration file, which may be much easier for both developers to maintain and users to use?