{"thread":{"id":"31042","subject":"[ANNOUNCE] Sharness - Test library derived from Git","startedAt":"2012-07-17T08:06:45Z","lastAt":"2012-07-20T21:11:58Z","messageCount":5,"participants":["Mathias Lafeldt","Ævar Arnfjörð Bjarmason","Matthieu Moy","dag@cray.com"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"195190","messageId":"CAMFa-2hS-5CHQj79KMGwY7_qv6nGiK+9cKeDdihMVmSoxfsesQ@mail.gmail.com","threadId":"31042","inReplyTo":null,"subject":"[ANNOUNCE] Sharness - Test library derived from Git","fromName":"Mathias Lafeldt","fromEmail":"mathias.lafeldt@gmail.com","sentAt":"2012-07-17T08:06:45Z","receivedAt":"2012-07-17T08:06:45Z","isPatch":false,"sender":{"key":"mathias.lafeldt@gmail.com","avatar":"https://gravatar.com/avatar/8657fba2d2c19d0524e5832717b41b68b54ff6e4a331b745027a135c1dbc61c5?d=mp&s=160"},"body":"Hi,\n\nI've been wanting to announce Sharness [1] on this list for quite some\ntime now, but never managed to do so. With the release of version\n0.2.4, I think it's about time to change that.\n\nSharness is a shell-based test harness library. It was derived from\nthe Git project and is basically a generalized and stripped-down\nversion of t/test-lib.sh (I basically removed all things specific to\nGit). So when you know how to write tests for Git, it should be very\nfamiliar.\n\nI've been using Sharness to test my command-line applications [2] for\nover a year now. It's especially useful when you're doing continuous\nintegration with a service like Travis CI [3].\n\nDevelopment of Sharness takes place at GitHub [4]. If you're\ninterested, there might be some things I could contribute back to Git,\ne.g. the API documentation [5] I wrote in TomDoc format.\n\nLooking forward to your feedback.\n\n[1] http://mlafeldt.github.com/sharness\n[2] https://github.com/mlafeldt/sharness#projects-using-sharness\n[3] http://travis-ci.org/\n[4] https://github.com/mlafeldt/sharness\n[5] https://github.com/mlafeldt/sharness/blob/master/API.md\n\n-Mathias\n"},{"id":"195216","messageId":"CACBZZX6QZACjkFPEsNgAkKgnkZHDsCOEAm=-9rs=PLiSfgsXBw@mail.gmail.com","threadId":"31042","inReplyTo":"CAMFa-2hS-5CHQj79KMGwY7_qv6nGiK+9cKeDdihMVmSoxfsesQ@mail.gmail.com","subject":"Re: [ANNOUNCE] Sharness - Test library derived from Git","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2012-07-17T18:31:52Z","receivedAt":"2012-07-17T18:31:52Z","isPatch":false,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"On Tue, Jul 17, 2012 at 10:06 AM, Mathias Lafeldt\n<mathias.lafeldt@gmail.com> wrote:\n> I've been wanting to announce Sharness [1] on this list for quite some\n> time now, but never managed to do so. With the release of version\n> 0.2.4, I think it's about time to change that.\n>\n> Sharness is a shell-based test harness library. It was derived from\n> the Git project and is basically a generalized and stripped-down\n> version of t/test-lib.sh (I basically removed all things specific to\n> Git). So when you know how to write tests for Git, it should be very\n> familiar.\n\nNice, I thought about doing something like this myself but never had the time.\n\nPerhaps to avoid duplication we could move to this and keep\nGit-specific function in some other file.\n\nDo you think that would be sensible, and would you be willing to\nsubmit patches for that?\n"},{"id":"195360","messageId":"CAMFa-2gRWRKgj140i1q9iux=eC6nWxfdUPPhb42xAG1Gr7e4vA@mail.gmail.com","threadId":"31042","inReplyTo":"CACBZZX6QZACjkFPEsNgAkKgnkZHDsCOEAm=-9rs=PLiSfgsXBw@mail.gmail.com","subject":"Re: [ANNOUNCE] Sharness - Test library derived from Git","fromName":"Mathias Lafeldt","fromEmail":"mathias.lafeldt@gmail.com","sentAt":"2012-07-20T10:18:51Z","receivedAt":"2012-07-20T10:18:51Z","isPatch":false,"sender":{"key":"mathias.lafeldt@gmail.com","avatar":"https://gravatar.com/avatar/8657fba2d2c19d0524e5832717b41b68b54ff6e4a331b745027a135c1dbc61c5?d=mp&s=160"},"body":"On Tue, Jul 17, 2012 at 8:31 PM, Ævar Arnfjörð Bjarmason\n<avarab@gmail.com> wrote:\n> Nice, I thought about doing something like this myself but never had the time.\n\nThanks. Took quite some time to take out the Git-specific\nfunctionality. And there's still a lot of room for improvement.\n\n> Perhaps to avoid duplication we could move to this and keep\n> Git-specific function in some other file.\n\nThat would be fantastic! From a technical point of view, it would make\na lot of sense to join forces here.\n\nHow do you think would Sharness fit into the Git project? Is adding it\nas an external dependency an option?\n\nLet's share some ideas before getting to it.\n\n> Do you think that would be sensible, and would you be willing to\n> submit patches for that?\n\nWhile I haven't touched the names of the test functions, I renamed\nmost of the global shell variables, e.g. GIT_TEST_OPTS to TEST_OPTS\nand TEST_DIRECTORY to SHARNESS_TEST_DIRECTORY. That might be a (minor)\nproblem.\n\nAs for the patches: absolutely. I'd really love to give something back to Git.\n\n-Mathias\n"},{"id":"195361","messageId":"vpq7gtyr6zt.fsf@bauges.imag.fr","threadId":"31042","inReplyTo":"CAMFa-2gRWRKgj140i1q9iux=eC6nWxfdUPPhb42xAG1Gr7e4vA@mail.gmail.com","subject":"Re: [ANNOUNCE] Sharness - Test library derived from Git","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@grenoble-inp.fr","sentAt":"2012-07-20T11:45:26Z","receivedAt":"2012-07-20T11:45:26Z","isPatch":false,"sender":{"key":"matthieu.moy@grenoble-inp.fr","avatar":"https://gravatar.com/avatar/72c8a2705971a25dfaff23cece15130d405685845d911aedd5667ace277f3fc5?d=mp&s=160"},"body":"Mathias Lafeldt <mathias.lafeldt@gmail.com> writes:\n\n> On Tue, Jul 17, 2012 at 8:31 PM, Ævar Arnfjörð Bjarmason\n> <avarab@gmail.com> wrote:\n>\n>> Perhaps to avoid duplication we could move to this and keep\n>> Git-specific function in some other file.\n>\n> That would be fantastic! From a technical point of view, it would make\n> a lot of sense to join forces here.\n\nSeems to be a reasonable goal, yes. The test harness in Git keeps\nimproving, and Sharness is likely to improve also, it would be a pity to\nhave them diverge and not benefit from each other.\n\n> How do you think would Sharness fit into the Git project? Is adding it\n> as an external dependency an option?\n\nIt would be nice if the code sharing did not result in extra pain for\nusers and testers, so \"external dependency\" in the sense \"not included\nin git.git and ask the user to install it\" is IMHO a bad idea.\nIncreasing the effort needed to run the testsuite means more people will\ngive up before running it :-(.\n\nOTOH, having it leave in a subdirectory (e.g. $git/t/Sharness/), and\nsynchronize with stg like subtree merge would be nice for the user. We\nalready have something similar for gitk and git-gui, except that the\nsynchronization is normally one way (subprojects merged into Git, but\nmerging back changes that were made in git.git in these subprojects is\nmore painful).\n\n-- \nMatthieu Moy\nhttp://www-verimag.imag.fr/~moy/\n"},{"id":"195386","messageId":"nngmx2ujfxd.fsf@transit.us.cray.com","threadId":"31042","inReplyTo":"vpq7gtyr6zt.fsf@bauges.imag.fr","subject":"Re: [ANNOUNCE] Sharness - Test library derived from Git","fromName":"","fromEmail":"dag@cray.com","sentAt":"2012-07-20T21:11:58Z","receivedAt":"2012-07-20T21:11:58Z","isPatch":false,"sender":{"key":"dag@cray.com","avatar":null},"body":"Matthieu Moy <Matthieu.Moy@grenoble-inp.fr> writes:\n\n> OTOH, having it leave in a subdirectory (e.g. $git/t/Sharness/), and\n> synchronize with stg like subtree merge would be nice for the user. We\n> already have something similar for gitk and git-gui, except that the\n> synchronization is normally one way (subprojects merged into Git, but\n> merging back changes that were made in git.git in these subprojects is\n> more painful).\n\nNot really.  contrib/git-subtree can really help with this.\n\n                           -Dave\n"}]}