TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

How GNU Make is tested

88 pointsby AlexDenisovalmost 9 years ago

4 comments

majewskyalmost 9 years ago
This looks very similar to how I test my configuration management tool Holo: I just run the compiled binary in a chroot and compare its output and the resulting filesystem tree to the recorded expectation. [1]<p>So no unit tests at all. I think that unit tests work very well for pure functions, but their utility decreases the more side effects your code has. Also, unit tests usually just add confusion when the unit tested is really an internal implementation detail, rather than refering to some object in the application&#x27;s or library&#x27;s external domain model.<p>[1] <a href="https:&#x2F;&#x2F;github.com&#x2F;holocm&#x2F;holo&#x2F;tree&#x2F;master&#x2F;test" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;holocm&#x2F;holo&#x2F;tree&#x2F;master&#x2F;test</a> for the core parts
评论 #11947053 未加载
评论 #11947749 未加载
LukeShualmost 9 years ago
&gt; I assume that the reason why most of these failing tests are failing is not a regression in core functionality of Make but rather because of new features were added to GNU Make since 2006.<p>There were a number of bugs in the 3.81 release that I assume they now have tests for, since 4.x has been rock solid. (Off the top of my head, if you made a certain shape in the dependency graph with .PHONY targets, then .DELETE_ON_ERROR stopped working)
评论 #11945571 未加载
spepsalmost 9 years ago
&gt; GNU Make’s source code is available from Github repository<p>It&#x27;s not GitHub, it&#x27;s Savannah, as just linked literally 2 lines below :<p>&gt; <a href="http:&#x2F;&#x2F;savannah.gnu.org&#x2F;git&#x2F;?group=make" rel="nofollow">http:&#x2F;&#x2F;savannah.gnu.org&#x2F;git&#x2F;?group=make</a>
评论 #11945267 未加载
评论 #11945176 未加载
评论 #11945185 未加载
J_Darnleyalmost 9 years ago
But all git repositories are hosted by github. It&#x27;s in the name.
评论 #11949865 未加载
评论 #11945447 未加载
评论 #11945462 未加载