From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21330 invoked by alias); 29 Jun 2018 18:40:12 -0000 Mailing-List: contact zsh-users-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Users List List-Post: List-Help: List-Unsubscribe: X-Seq: 23525 Received: (qmail 18510 invoked by uid 1010); 29 Jun 2018 18:40:12 -0000 X-Qmail-Scanner-Diagnostics: from mail-oi0-f49.google.com by f.primenet.com.au (envelope-from , uid 7791) with qmail-scanner-2.11 (clamdscan: 0.99.2/21882. spamassassin: 3.4.1. Clear:RC:0(209.85.218.49):SA:0(-1.9/5.0):. Processed in 2.532366 secs); 29 Jun 2018 18:40:12 -0000 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_PASS, T_DKIM_INVALID autolearn=ham autolearn_force=no version=3.4.1 X-Envelope-From: sgniazdowski@gmail.com X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=ek4Zl9i5mPbXz4BCGCGkGj8vBSXYzx9oAlx3cAHzgic=; b=PrY0AgYpC1ga69t/41sDONZ/NPn7uoYAUuu5ApucM3plEeljSCQzTVqpGBopTqXu6T YNSGceUEGpJgSlsMW3hMuEmFqINT80WZV6Kwd6uMHKZe8juGMv0RCeKH9dlPyMNsFCSU rWTvoPcfPz/7wq0CVEU1T3LqAUMrDNuYnRUmVM3SraXC++v+no+JdDoh9dQkUME3Qr05 wB79uKnzhjhwMhV2EOgpO/MvWm2MxO0N3uf42YiCuW5oasqfj+jZs8Yj1f+aySWugLU2 SbVA9f3mCPtGC9UmYsyEmTmxsOm9pxXB2+4GiB4GdPDthrSRNf5GzhPS4mUPzEpVStME zFtQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=ek4Zl9i5mPbXz4BCGCGkGj8vBSXYzx9oAlx3cAHzgic=; b=QwxalO3FYJgF4qal4N8hKdhQkkGAEoxHLknDl+319rmWehMKa4SAR5GKqoMS1qtskg 94K4Bva5AOJRVIwVAM2ymAxTci3D0pSq9YKviehDUIzp6jtU+mAhDKgJcqyNF/sLBXGx W8r5qKwvV5oT+QoBUKEk8J/svgZ/+Ap0qk9Euv5xH9BFhUUbrMoTProehmQVut77UFUn iODyvkaV1ZIwmnk3Lnyte6Pa5xI1k2+Oqb7ou/BcC82QClO4B5Jh90vviS0Htr4JPwmZ 0Me8Qqb0G6+tCNZoRN1xEDeFMZkw72QZQyUL1Zkw7xWjuECan/IQuJaHxfu/18N1OPhG KZpg== X-Gm-Message-State: APt69E2Hqii/7lBHJ2W8I8kXN0Iv5TOcjK2mei4JcBzlFpX/7LmbrWVB O2PEGdNIiQRiQ1bCBZuWspGvzgaiKXbXK7J/JXE= X-Google-Smtp-Source: AAOMgpf+C7Lw6q43drgS+gU2W4IzIYNdhXvlHwkJA7MnU2gMyVF6c4uWa9AJtcsGxZ9wEnHcbrZtvM+w6r8Ust6/sCg= X-Received: by 2002:aca:804:: with SMTP id 4-v6mr8498095oii.333.1530297606755; Fri, 29 Jun 2018 11:40:06 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: <20180629061524.GA17197@prometheus.u-strasbg.fr> References: <20180629061524.GA17197@prometheus.u-strasbg.fr> From: Sebastian Gniazdowski Date: Fri, 29 Jun 2018 20:39:46 +0200 Message-ID: Subject: Re: Anyone wants to join Zsh-Suite project, tools with integrations for Zsh software development To: Marc Chantreux Cc: Zsh Users Content-Type: text/plain; charset="UTF-8" On 29 June 2018 at 08:15, Marc Chantreux wrote: > hello Sebastian, > >> Has anyone a testing framework or other project that could >> be part of a "zsh-suite" > > i don't know what are the crietia to be a part of zsh-suite. > for the uze project, i wrote a TAP (https://testanything.org/) > emiter inspired by Test::More (). I see the zsh-suite as a collection of self-contained tools and libraries. By self-contained I mean I don't like dependencies spreading in exponential or so speed and things ending up as 1000 modules installed by node.js. Then, on the other hand, going outside zsh code feels a bit refreshing. Integration is a good thing (if not exponential, etc.), and for test framework Perl use is not a problem, it's even nice. > but everything is written using the uze convention and helpers. > i would be pleased to be part of a larger project but i'm really > bound to some "good practices" i developped over years. for example > uze use those options and i'm not open to discussion about > it (because reliability and readability). > > braceccl extendedglob globstarshort > rcquotes promptbang promptsubst > nohashdirs pathdirs > nounset warncreateglobal > pipefail shinstdin > > also: i use "alternative syntax" as a first choice and really encourage > it Your syntax gives good impression. When coding Zsh scripts and the project gets bigger, one can have an impression of the code being logy, sluggish-looking. So for example I wrote a logging library, which is characterized by use of <( the_logger ) process substitution, yielding mysql, sqlite, etc. backend support and 0-delays in foreground producer-process. But it doesn't feel nice to announce it, because I see people reacting to it in terms of "such project in Zsh? it must be logy". I of course fight with any logy part of my code, sometimes it's not possible, and I think your syntax and style is contrary to logy. Zsh-Suite should be good quality code explicitly without logy parts and I think you could help with this. > Back to TAP.zsh > > the idea behind that is to have a simple implemetation to > give me the ability to reuse all the tooling already written > for TAP and JUnit (because there is a converter). > > here is an exemple of test suite > > https://github.com/zsh-uze/http-tools/blob/master/t/100_json.t I read the source (TAP.zsh), it's not long, I can agree with namespaces for whole Zsh-Suite because it seems to force not-logy looking code (the same with alternate syntax). To compare, the bats test file I mentioned: https://github.com/zdharma/git-url/blob/master/test/short.bats I would miss this syntax: the conditions enumerations in [ ... ]\n[ ... ]..., but TAP.zsh integrates with other stuff so there's no clear winner. Zsh-Suite could provide 2 test suites, they would probably differ in details and user would have a choice. > if you clone the repo and zsh is already installed, you > can have a test report using > > prove -ezsh -r t > > prove comes with perl, it has a lot of plugin > (html reports for example) That's nice feature. >> I have Zshelldoc > > for the moment, i use inline pod strings > > : <<=cut > > =head1 why? > > this is cool because i can just run > > perldoc my/zsh/lib.zsh > > to have a manpage > > =cut > > but i'm not bound to this. Here is the situation I've described earlier: Zshelldoc, coming with impression of logy Zsh code somewhat glued together, and perldoc which has a normal aura. Again, user can have a choice. To defend Zshelldoc which lost at start ;), it has a function-extraction code (I wrote some unit tests using this code, it extracts functions, then autoloads them and tests them) and generates call-trees and reverse-call-trees for each function. Zsh-Suite could do something to convey the message that it's not weekend top-down script logy coding. -- Best regards, Sebastian Gniazdowski