Time Nick Message 00:04 FriendlyPerson[m "maybe not we has problem but..." <- I am sorry if I ran you quite late, I didn't mean too as I didn't think this would be such a problem. Another Librea user just DMed me today by inviting me and it's worked on their side. So I thought you were be fine but I guess I was wrong about that. Sorry. :( 00:28 Xanabella Belief me, i was diffrent ... open your eye, build your own opinion, you are old enof to learn from you own faults and gather experiance on the way of GOD-like 00:32 * specing idly wonders if Xanabella is a bot ... really hard to understand 00:41 Xanabella ParaNOid AndroID was near bot ... not 3D, Matrix ReTracer ---> https://www.youtube.com/watch?v=JzuOHYpTBck 07:07 grouinos hello 07:08 grouinos i there somebody ? 07:10 MTDiscord hello 07:32 helix[m] @grouinos sup 07:36 grouinos hello, i have installing MinetestAmbience 36 but i can't cut the music, an idea ? 07:39 grouinos m 07:40 grouinos i try /mvol 0 but don't work 10:23 Tusha Hi there all. Is there any guide to apply TDD on Minetest Modding? 10:53 BuckarooBanzai Tusha: test-driven development? 11:01 celeron55_ you probably have to separate your code into the actual logic, and a glue layer that sticks the logic to minetest, and then for tests you replace the glue layer with your unit test layer 11:02 rubenwardy !book unit 11:02 MinetestBot rubenwardy: Automatic Unit Testing - https://rubenwardy.com/minetest_modding_book//en/quality/unit_testing.html 11:02 BuckarooBanzai There is "busted" and "mineunit" (https://github.com/mt-mods/mineunit) the combination is pretty good IMO 11:02 rubenwardy Yeah, you need to separate logic from "views", where a view is something like an entity, callback, or node def 11:03 celeron55_ of course depending on what you want to test. if you want to test engine integration, then you have to set up a test world and observe your code and the engine running together, like what Unity Test Framework does on Unity3D (i think) 11:03 rubenwardy That would be an integration test 11:03 celeron55_ well, depends 11:03 celeron55_ but it gets to that territory for sure 11:04 BuckarooBanzai Integration tests got a lot simpler since we have the versioned minetest-docker images 11:04 rubenwardy https://gitlab.com/rubenwardy/conquer/-/tree/master/tests 11:04 rubenwardy If you're running Minetest, it's not a unit test 11:05 BuckarooBanzai both test-variants have up- and downsides 11:05 BuckarooBanzai a mix of both does cover most of your errors 11:06 rubenwardy Having mocks is good for unit testing though, which is what Mineunit looks like 11:08 Tusha BuckarooBanzai: Yeah that was what I meant, thanks :) 11:09 Tusha Thank everyone for the useful info, indeed all I want now is how feasible is to practice Test Driven Development on Minetest Lua Environment, I will check that out :) 11:09 Tusha At least unit-testing for Code based errors, since I'm not versed in Lua 11:10 BuckarooBanzai i would recommend to start simple, a small mod maybe and later on go into the testing territory ;) 11:14 Tusha Well, I wanted to practice TDD mostly, as I aspire to work on other languages using that methology, like making a boilerplate even if it is just an small Hello MTest mod, but indeed I will try to start small, thanks for the advice :) 11:20 MTDiscord You can easily do TDD with Lua, but you can hardly do TDD with Minetest 11:20 celeron55_ i don't have any experience with mineunit but if it's well made and properly acts like the engine you can skip a lot of work making tests possible for your code with it 11:22 rubenwardy TDD is overrated 11:22 rubenwardy But you can get good test coverage with Minetest mods 11:24 celeron55_ personally, i first and foremost just write robust code that barely can fail, but sometimes you just end up with such a complex system that you're every day afraid it will just crumble to pieces. or your teammates always break stuff. then write unit tests 8) 11:24 rubenwardy (I rarely write tests first, I usually write the code then the tests. TDD requires too much planning) 11:25 rubenwardy There's no such thing as robust code without unit tests 11:25 rubenwardy Unless it is actually trivial, architecturally and logically 11:25 celeron55_ the best code is trivial, architecturally and logically 11:26 BuckarooBanzai SX (the author of mineunit) went almost the whole way in terms of engine api surface, some testing examples https://github.com/mt-mods/technic/tree/master/technic/spec 11:27 celeron55_ i'm trying to remember some time that i've decided to use TDD, but can't come up with any 11:28 celeron55_ but a certain kind of interface-first development process kind of is TDD 11:29 celeron55_ without officially being TDD 11:29 celeron55_ i'll call it tests-on-the-go 11:48 Xanabella MineTest Alpha, expept many bug: Good testdev to try/learn and if you are proud of what you have make, share the Mod ... to found bug, you never exept ... trust the com 12:24 rubenwardy Yeah, I've only ever done TDD in university. It's something that fits waterfall development more than agile code 12:25 rubenwardy Actually, that's not true. I've done it with my pathfinder and a few compiler projects 12:25 rubenwardy It works then because the interface is straight forward from the beginning 12:30 celeron55_ it also depends on what you know beforehand 12:31 celeron55_ if you already have a very specific problem in mind, you might as well write the problem as a test first 12:32 celeron55_ it'll help you think further even if the test itself isn't actually that important 17:04 Tusha Also, is possible to create files using a clientside mod? At least some kind of text ones 17:05 specing yes, but you have to patch the client 17:07 Tusha And I suppose that servers don't like that? 17:07 Tusha Or is safe to do so? 17:09 specing the files are created on your machine, the server is as clueless about it as a rock 17:15 Tusha Oh, I though they could enforce some kind of client verification that it has not been tampered with in any way 17:15 rubenwardy clientside mods aren't send from servers currently 17:16 rubenwardy but the sandbox is designed under the assumption that they will be, so doesn't allow editing files 17:16 rubenwardy you have mod storage though 17:17 Tusha I see, well the problem with mod storage is that is not plain text, or at least that was I read 17:17 Tusha My idea is to see if is possible to make a chat logger that doesn't rely on debug.txt 17:17 Tusha But that is easily searchable without interpreters 17:19 specing Tusha: https://repo.or.cz/waspsaliva.git 17:21 sfan5 recommending people full-fledged cheat clients in response to scripting questions is really something 17:22 specing Well, yes. Because the official client cannot be used for this, and Tusha would have to waste time poking holes in the sandbox instead of actually working on their project. 17:24 Tusha Well thanks specing, I will give it a try 17:25 Tusha I suppose in the future some kind of CORS-like protection for clientside mods would be useful, like letting self-installed mods io access but not those from the server 17:26 rubenwardy not really possible, unless you split up mods into different lua states 17:26 sfan5 that has to happen anyway 19:05 MinetestBot 02[git] 04hecktest -> 03minetest/minetest: Remove statement semicolons from a lua script 13eefa39e https://git.io/JR2cG (152021-08-09T19:03:18Z)