[bisq-network/bisq] [WIP] Add API test harness for Linux (#4366)

dmos62 notifications at github.com
Fri Jul 10 17:50:57 UTC 2020


@dmos62 requested changes on this pull request.



> @@ -143,6 +144,16 @@ configure([project(':cli'),
                     'DEFAULT_JVM_OPTS=""', 'DEFAULT_JVM_OPTS="-XX:MaxRAM=4g"')
             }
 
+            if (applicationName == 'apitest') {
+                // Give apitest more MaxRAM, and pass the logback config file as a system
+                // property to avoid chatty logback startup due to multiple logback.xml
+                // files in the classpath (:daemon & :cli).
+                def script = file("${rootProject.projectDir}/bisq-$applicationName")
+                script.text = script.text.replace(
+                    'DEFAULT_JVM_OPTS=""', 'DEFAULT_JVM_OPTS="-XX:MaxRAM=6g' +

6GB MaxRAM gives me pause.

- Would `ErgoHeapSizeLimit` [0] be a more direct way to limit RAM usage? `MaxRAM` is meant to specify real RAM size (all available memory).
- In the comment it says that we're increasing RAM allotment, so we're doing this because otherwise MaxRAM would be set to something lower?
- What if we're running this on a memory restricted environment (< 6GB RAM)?
- Is this to do with bisq using too much RAM in some cases? But wasn't that only relevant for long-running processes?

[0] http://hg.openjdk.java.net/jdk9/jdk9/hotspot/file/b756e7a2ec33/src/share/vm/runtime/globals.hpp#l2034

> +// bitcoin-cli -regtest getbalances
+// bitcoin-cli -regtest getrpcinfo
+
+ at Slf4j
+public class BitcoinDaemon extends AbstractLinuxProcess implements LinuxProcess {
+
+    public BitcoinDaemon(ApiTestConfig config) {
+        super("bitcoind", config);
+    }
+
+    @Override
+    public void start() throws InterruptedException, IOException {
+        String bitcoindCmd = "export LD_LIBRARY_PATH=" + config.berkeleyDbLibPath + ";"
+                + " " + config.bitcoinPath + "/bitcoind"
+                + " -datadir=" + config.bitcoinDatadir
+                + " -daemon";

`export LD_LIBRARY_PATH=` doesn't seem to be necessary with my distribution of `bitcoind`. Also, `config.bitcoinPath` seems to expect to be pointed to the `bin` sub-directory of bitcoin-core's home (the one that contains the `bitcoind` executable). That's a bit unexpected. I think it's more intuitive for it to point to the executable directly, or alternatively to bitcoin-core's home directory.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/bisq-network/bisq/pull/4366#pullrequestreview-446554507
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.bisq.network/pipermail/bisq-github/attachments/20200710/81e32d37/attachment-0001.html>


More information about the bisq-github mailing list