2012/4/19 Christian Kästner <[email protected]>: > Hi, > In a research setting, I've been working on a tool TypeChef that can > detect compilation errors over all compile-time configurations of a > software. The tool is intended as a lint-like of tool that reports > compilation errors and the configurations in occurs in. Essentially it > predicts with which preprocessor flags the code will not compile. > > Among others, we have experimented with that tool on Busybox. In the > current code base, we find the two following problems: > > * networking/httpd.c won't compile in configurations with CONFIG_HTTPD > and CONFIG_FEATURE_HTTPD_BASIC_AUTH, without > CONFIG_FEATURE_HTTPD_AUTH_MD5 and with CONFIG_PAM (struct pam_userinfo > not defined) > > * shell/hush.c won't compile in configurations with CONFIG_HUSH and > CONFIG_FEATURE_EDITING_SAVE_ON_EXIT but without CONFIG_HUSH_INTERACTIVE > and without CONFIG_FEATURE_EDITING (field line_input_state unknown in > globals)
Fixed both, and a few more on top of them. Thanks! > My question is to what degree you as community are interested in such > feedback? Unfortunately, we don't have the capacity to investigate and > submit actual patches every time we could identify a problem. Would it > be still helpful to send just (automatic) error reports, similar to the > ones above? Yes, it would be helpful. > Finally, we were surprised that we found essentially no compile-time > problems despite the large configuration space (we have found no > compilation errors in released code). Do you have a process to prevent > or detect those kinds of problems for releases, such as randomized testing? We have scripts/randomtest[.loop] which can be used to build randomly-configured busybox and run testsuite on it. I use it for pre-release testing. -- vda _______________________________________________ busybox mailing list [email protected] http://lists.busybox.net/mailman/listinfo/busybox
