Tarantool development patches archive
 help / color / mirror / Atom feed
From: Igor Munkin via Tarantool-patches <tarantool-patches@dev.tarantool.org>
To: Timur Safin <tsafin@tarantool.org>
Cc: tarantool-patches@dev.tarantool.org
Subject: Re: [Tarantool-patches] [PATCH luajit 3/5] test: run LuaJIT tests via CMake
Date: Tue, 9 Feb 2021 11:43:19 +0300	[thread overview]
Message-ID: <20210209084319.GG5448@tarantool.org> (raw)
In-Reply-To: <044301d6febb$ef1af8b0$cd50ea10$@tarantool.org>

Timur,

On 09.02.21, Timur Safin wrote:
> : From: Igor Munkin <imun@tarantool.org>
> : Subject: Re: [PATCH luajit 3/5] test: run LuaJIT tests via CMake
> : 
> : Timur,
> : 
> : Thanks for your review!
> : 
> : >
> : > I don't like this. It reminds me of bad examples of this note
> : > in the libev code like "this is so uncontrollably lame" which
> : > actually distract users. We should rather put comments in more
> : > neutral way (IMVHO).
> : 
> : Unfortunately... CMake is a crap and I can't fix it. Well, honestly I
> : don't want to fix it. But you're right: I can fix all these comments
> : (athough I don't really want to). I have no idea how to express this in
> : a more neutral way, so I propose the following:
> : 1. s/CMake is a crap/there is no convenient way to make it in CMake/g.
> : 2. Leave everything else unchanged.
> 
> Hmm, ok.

Fixed, squashed, force-pushed to the branch. Diff is below:

================================================================================

diff --git a/src/host/CMakeLists.txt b/src/host/CMakeLists.txt
index 011a630..59094d0 100644
--- a/src/host/CMakeLists.txt
+++ b/src/host/CMakeLists.txt
@@ -44,7 +44,7 @@ add_executable(buildvm EXCLUDE_FROM_ALL
   buildvm_fold.c
   buildvm_lib.c
   buildvm_peobj.c
-  # XXX: Unfortunately CMake is a crap. I failed to specify
+  # XXX: Unfortunately, there is no convenient way to specify
   # autogenerated host/buildvm_arch.h as a dependency for
   # host/buildvm.c, so I simply explicitly mentioned it in this
   # *sources* list.
diff --git a/test/tarantool-tests/CMakeLists.txt b/test/tarantool-tests/CMakeLists.txt
index 0be4b34..5345e12 100644
--- a/test/tarantool-tests/CMakeLists.txt
+++ b/test/tarantool-tests/CMakeLists.txt
@@ -38,8 +38,8 @@ macro(BuildTestLib lib sources)
     )
   endif()
   # XXX: Append the lib to be built to the dependecy list.
-  # Unfortunately, CMake is a crap and there is no other way to
-  # extend the list in parent scope but join two strings with
+  # Unfortunately, there is no convenient way in CMake to extend
+  # the list in parent scope other than join two strings with
   # semicolon. If one finds the normal way to make it work, feel
   # free to reach me.
   set(TESTLIBS "${lib};${TESTLIBS}" PARENT_SCOPE)

================================================================================

Small exercise for self-check:
| $ grep -rF 'CMake is a crap' | wc -l
| 0

> 
> : 
> : This is not only emotions. Such comments prevent one from unintentional
> : refactoring of such fragile places with no failures and also from
> : bothering the oldies with the questions kinda "dude, why is this done so
> : badly". In other words, primarily I have left this for the history.
> : 
> : If you're OK, then I'll fix the way described above.
> : 
> : >
> : > : +  # Add the directory where the lib is built to the LUA_CPATH
> : > : +  # environment variable, so interpreter can find and load it.
> : > : +  # XXX: Here we see the other side of the coin. If one joins two
> : > : +  # strings with semicolon, the value automatically becomes the
> : > : +  # list. I have no idea what is wrong with this tool, but I found
> : > : +  # a single working solution to make LUA_CPATH be a string via
> : > : +  # "escaping" the semicolon right in string interpolation.
> : > : +  set(LUA_CPATH
> : > :
> : "${CMAKE_CURRENT_BINARY_DIR}/?${CMAKE_SHARED_LIBRARY_SUFFIX}\;${LUA_CPATH}"
> : > : PARENT_SCOPE)
> : > : +  # Also add this directory to LD_LIBRARY_PATH environment
> : > : +  # variable, so FFI machinery can find and load it.
> : > : +  set(LD_LIBRARY_PATH "${CMAKE_CURRENT_BINARY_DIR}:${LD_LIBRARY_PATH}"
> : > : PARENT_SCOPE)
> : > : +endmacro()
> : > : +
> : > : +add_subdirectory(gh-4427-ffi-sandwich)
> : > : +add_subdirectory(lj-flush-on-trace)
> : > : +add_subdirectory(misclib-getmetrics-capi)
> : >
> : > I liked you introduced globs for test files addition (blow),
> : > but unfortunately you didn't complete this with subdirectory addition
> : 
> : I have thought about it for some time, and I have a strong rationale (at
> : least for me) to not introducing such change: this doesn't work whether
> : there are directories inside containing no tests. Furthermore, we're
> : going to re-implement several C tests, so I would like to leave
> : everything as it is (if you don't mind) and return to this place later.
> 
> Ok, if you plan to refactor it, because today it looks inconsistent a bit.

I personally also don't like to explicitly mention new auxiliary libs in
tests: it makes backporting harder, it broke CI several times, so we
will definitely refactor the current approach after incorporating other
tests in public domain[1].

> 
> : 
> : >
> : > Please see my proposed patch (with reworded comments and new macro) here
> : https://gist.github.com/tsafin/6c7505c0c764ab2b474667bf0d65fb45.
> : >
> : 
> : <snipped>
> : 
> : >
> : > Regards,
> : > Timur
> : >
> : 
> : --
> : Best regards,
> : IM
> 
> Regards,
> Timur
> 

[1]: https://github.com/tarantool/tarantool/issues/4473

-- 
Best regards,
IM

  reply	other threads:[~2021-02-09  8:43 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-02 20:57 [Tarantool-patches] [PATCH luajit 0/5] Self-sufficient LuaJIT testing environment Igor Munkin via Tarantool-patches
2021-02-02 20:57 ` [Tarantool-patches] [PATCH luajit 1/5] build: preserve the original build system Igor Munkin via Tarantool-patches
2021-02-04 22:53   ` Timur Safin via Tarantool-patches
2021-02-08 15:56     ` Igor Munkin via Tarantool-patches
2021-02-09 11:38   ` Sergey Kaplun via Tarantool-patches
2021-02-09 12:47     ` Igor Munkin via Tarantool-patches
2021-02-09 14:45       ` Sergey Kaplun via Tarantool-patches
2021-02-09 15:28         ` Igor Munkin via Tarantool-patches
2021-02-10  9:35           ` Sergey Kaplun via Tarantool-patches
2021-02-02 20:57 ` [Tarantool-patches] [PATCH luajit 2/5] build: replace GNU Make with CMake Igor Munkin via Tarantool-patches
2021-02-04 22:53   ` Timur Safin via Tarantool-patches
2021-02-08 15:56     ` Igor Munkin via Tarantool-patches
2021-02-09 13:55       ` Timur Safin via Tarantool-patches
2021-02-09 15:09         ` Igor Munkin via Tarantool-patches
2021-02-11 19:23   ` Sergey Kaplun via Tarantool-patches
2021-02-16 15:28     ` Igor Munkin via Tarantool-patches
2021-02-18  9:56       ` Sergey Kaplun via Tarantool-patches
2021-02-20 19:18         ` Igor Munkin via Tarantool-patches
2021-02-27 10:48           ` Sergey Kaplun via Tarantool-patches
2021-02-28 18:18             ` Igor Munkin via Tarantool-patches
2021-02-13  3:47   ` Sergey Kaplun via Tarantool-patches
2021-02-16 15:32     ` Igor Munkin via Tarantool-patches
2021-02-02 20:57 ` [Tarantool-patches] [PATCH luajit 3/5] test: run LuaJIT tests via CMake Igor Munkin via Tarantool-patches
2021-02-08 15:05   ` Timur Safin via Tarantool-patches
2021-02-08 16:29     ` Igor Munkin via Tarantool-patches
2021-02-09  8:16       ` Timur Safin via Tarantool-patches
2021-02-09  8:43         ` Igor Munkin via Tarantool-patches [this message]
2021-02-09 13:59           ` Timur Safin via Tarantool-patches
2021-02-09 15:10             ` Igor Munkin via Tarantool-patches
2021-02-14 18:48   ` Sergey Kaplun via Tarantool-patches
2021-02-19 19:04     ` Igor Munkin via Tarantool-patches
2021-02-27 13:50       ` Sergey Kaplun via Tarantool-patches
2021-02-28 18:18         ` Igor Munkin via Tarantool-patches
2021-02-02 20:57 ` [Tarantool-patches] [PATCH luajit 4/5] test: fix warnings found with luacheck in misclib* Igor Munkin via Tarantool-patches
     [not found]   ` <012f01d6fe1a$a2aa6890$e7ff39b0$@tarantool.org>
2021-02-08 15:57     ` Igor Munkin via Tarantool-patches
     [not found]     ` <2c495492-50f4-acfd-ad66-2cb44abb5fa1@tarantool.org>
2021-02-08 15:40       ` Sergey Bronnikov via Tarantool-patches
2021-02-08 15:58       ` Igor Munkin via Tarantool-patches
2021-02-14 19:16   ` Sergey Kaplun via Tarantool-patches
2021-02-16 15:29     ` Igor Munkin via Tarantool-patches
2021-02-16 16:36       ` Sergey Kaplun via Tarantool-patches
2021-02-02 20:57 ` [Tarantool-patches] [PATCH luajit 5/5] test: run luacheck static analysis via CMake Igor Munkin via Tarantool-patches
2021-02-04 22:52   ` Timur Safin via Tarantool-patches
2021-02-08 15:57     ` Igor Munkin via Tarantool-patches
2021-02-14 19:32   ` Sergey Kaplun via Tarantool-patches
2021-02-19 19:14     ` Igor Munkin via Tarantool-patches
2021-02-28 22:04 ` [Tarantool-patches] [PATCH luajit 0/5] Self-sufficient LuaJIT testing environment Igor Munkin via Tarantool-patches

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210209084319.GG5448@tarantool.org \
    --to=tarantool-patches@dev.tarantool.org \
    --cc=imun@tarantool.org \
    --cc=tsafin@tarantool.org \
    --subject='Re: [Tarantool-patches] [PATCH luajit 3/5] test: run LuaJIT tests via CMake' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox