Browse Source
new package foundation.pEp.jniadapter.test shared classes and resources now possible for tests. Preparation for Test Framework and Code Coverage tool.JNI-94

26 changed files with 414 additions and 193 deletions
@ -1,27 +0,0 @@ |
|||||
include ../../Makefile.conf |
|
||||
include ../Makefile.conf |
|
||||
|
|
||||
JAVA_CLASSES = \
|
|
||||
Testing.class \
|
|
||||
SyncCallbacks.class |
|
||||
|
|
||||
.PHONY: compile run test clean |
|
||||
|
|
||||
all: compile |
|
||||
$(MAKE) run |
|
||||
|
|
||||
run: compile |
|
||||
HOME=$(PWD) CLASSPATH=$(CLASSPATH) time $(VM) Testing |
|
||||
|
|
||||
compile: $(JAVA_CLASSES) |
|
||||
|
|
||||
%.class: %.java |
|
||||
CLASSPATH=$(CLASSPATH) javac $< |
|
||||
|
|
||||
clean: |
|
||||
rm -f *.class |
|
||||
rm -f *.log |
|
||||
rm -rf .pEp_* |
|
||||
rm -Rf .pEp |
|
||||
rm -Rf .gnupg |
|
||||
rm -Rf .lldb |
|
@ -1,32 +0,0 @@ |
|||||
include ../../Makefile.conf |
|
||||
include ../Makefile.conf |
|
||||
|
|
||||
#TODO: Remove when successufuly reproduce the error, and then use it to avoid regression
|
|
||||
$(info This is to be run using pEpJNIAdapter 626) |
|
||||
|
|
||||
JAVA_CLASSES = \
|
|
||||
SyncCallbacks.class \
|
|
||||
Step1.class \
|
|
||||
Step2.class |
|
||||
|
|
||||
.PHONY: compile run test clean |
|
||||
|
|
||||
all: compile |
|
||||
$(MAKE) run |
|
||||
|
|
||||
run: compile |
|
||||
-HOME=$(PWD) CLASSPATH=$(CLASSPATH) time $(VM) Step1 |
|
||||
HOME=$(PWD) CLASSPATH=$(CLASSPATH) time $(VM) Step2 |
|
||||
|
|
||||
compile: $(JAVA_CLASSES) |
|
||||
|
|
||||
%.class: %.java |
|
||||
CLASSPATH=$(CLASSPATH) javac $< |
|
||||
|
|
||||
clean: |
|
||||
rm -f *.class |
|
||||
rm -f *.log |
|
||||
rm -f .pEp_* |
|
||||
rm -Rf .pEp |
|
||||
rm -Rf .gnupg |
|
||||
rm -Rf .lldb |
|
@ -1,26 +0,0 @@ |
|||||
include ../../Makefile.conf |
|
||||
include ../Makefile.conf |
|
||||
|
|
||||
JAVA_CLASSES = \
|
|
||||
TestMain.class |
|
||||
|
|
||||
.PHONY: compile run test clean |
|
||||
|
|
||||
all: compile |
|
||||
$(MAKE) run |
|
||||
|
|
||||
run: compile |
|
||||
HOME=$(PWD) CLASSPATH=$(CLASSPATH) time $(VM) TestMain |
|
||||
|
|
||||
compile: $(JAVA_CLASSES) |
|
||||
|
|
||||
%.class: %.java |
|
||||
CLASSPATH=$(CLASSPATH) javac $< |
|
||||
|
|
||||
clean: |
|
||||
rm -f *.class |
|
||||
rm -f *.log |
|
||||
rm -rf .pEp_* |
|
||||
rm -Rf .pEp |
|
||||
rm -Rf .gnupg |
|
||||
rm -Rf .lldb |
|
@ -1,26 +0,0 @@ |
|||||
include ../../Makefile.conf |
|
||||
include ../Makefile.conf |
|
||||
|
|
||||
JAVA_CLASSES = \
|
|
||||
TestMain.class |
|
||||
|
|
||||
.PHONY: compile run test clean |
|
||||
|
|
||||
all: compile |
|
||||
$(MAKE) run |
|
||||
|
|
||||
run: compile |
|
||||
HOME=$(PWD) CLASSPATH=$(CLASSPATH) time $(VM) TestMain |
|
||||
|
|
||||
compile: $(JAVA_CLASSES) |
|
||||
|
|
||||
%.class: %.java |
|
||||
CLASSPATH=$(CLASSPATH) javac $< |
|
||||
|
|
||||
clean: |
|
||||
rm -f *.class |
|
||||
rm -f *.log |
|
||||
rm -rf .pEp_* |
|
||||
rm -Rf .pEp |
|
||||
rm -Rf .gnupg |
|
||||
rm -Rf .lldb |
|
@ -1,18 +0,0 @@ |
|||||
.PHONY: all compile run clean |
|
||||
|
|
||||
all: compile |
|
||||
|
|
||||
run: compile |
|
||||
$(MAKE) -C Basic run |
|
||||
$(MAKE) -C JNI-85 run |
|
||||
$(MAKE) -C JNI-88 run |
|
||||
|
|
||||
compile: |
|
||||
$(MAKE) -C Basic compile |
|
||||
$(MAKE) -C JNI-85 compile |
|
||||
$(MAKE) -C JNI-88 compile |
|
||||
|
|
||||
clean: |
|
||||
$(MAKE) -C Basic clean |
|
||||
$(MAKE) -C JNI-85 clean |
|
||||
$(MAKE) -C JNI-88 clean |
|
@ -1,18 +0,0 @@ |
|||||
$(info If on Mac, make sure to disable SIP, or copy the libpEpEngine.dylib into here) |
|
||||
|
|
||||
ifdef ENGINE_LIB_PATH |
|
||||
ifeq ($(BUILD_FOR),Linux) |
|
||||
ifndef LD_LIBRARY_PATH |
|
||||
export LD_LIBRARY_PATH=$(ENGINE_LIB_PATH) |
|
||||
endif |
|
||||
else ifeq ($(BUILD_FOR),Darwin) |
|
||||
ifndef DYLD_LIBRARY_PATH |
|
||||
export DYLD_LIBRARY_PATH=$(ENGINE_LIB_PATH) |
|
||||
endif |
|
||||
endif |
|
||||
endif |
|
||||
|
|
||||
|
|
||||
CLASSPATH=.:../../src |
|
||||
VM=java -Xcheck:jni -Djava.library.path=../../src |
|
||||
#VM=lldb java -- -Xcheck:jni -Djava.library.path=../src
|
|
@ -0,0 +1,27 @@ |
|||||
|
.PHONY: all compile run clean |
||||
|
|
||||
|
all: compile |
||||
|
|
||||
|
run: compile |
||||
|
$(MAKE) -C basic run |
||||
|
#BROKEN $(MAKE) -C jni85 run
|
||||
|
$(MAKE) -C jni88 run |
||||
|
$(MAKE) -C jni91 run |
||||
|
$(MAKE) -C jni92 run |
||||
|
|
||||
|
compile: |
||||
|
$(MAKE) -C basic compile |
||||
|
#BROKEN $(MAKE) -C jni85 compile
|
||||
|
$(MAKE) -C jni88 compile |
||||
|
$(MAKE) -C jni91 compile |
||||
|
$(MAKE) -C jni92 compile |
||||
|
|
||||
|
clean: |
||||
|
$(MAKE) -C basic clean |
||||
|
$(MAKE) -C jni85 clean |
||||
|
$(MAKE) -C jni88 clean |
||||
|
$(MAKE) -C jni91 clean |
||||
|
$(MAKE) -C jni92 clean |
||||
|
|
||||
|
clean-pep-home: |
||||
|
$(MAKE) -C basic clean-pep-home |
@ -0,0 +1,25 @@ |
|||||
|
JAVA_PKG_BASENAME=foundation.pEp.jniadapter.test |
||||
|
JAVA_PKG_BASEPATH=foundation/pEp/jniadapter/test |
||||
|
REPOROOT=../.. |
||||
|
JAVA_CWD=../../../../../ |
||||
|
JAVA_RESOURCES_DIR=../resources |
||||
|
JAVA_PEP_HOME_DIR=$(JAVA_RESOURCES_DIR)/pep-home |
||||
|
PEP_HOME_DIR=$(JAVA_CWD)$(JAVA_PEP_HOME_DIR) |
||||
|
CLASSPATH=.:$(REPOROOT)/src |
||||
|
|
||||
|
JAVA=java -Xcheck:jni -cp $(CLASSPATH) -Djava.library.path=$(CLASSPATH) |
||||
|
|
||||
|
|
||||
|
$(info If on Mac, make sure to disable SIP, or copy the libpEpEngine.dylib into here) |
||||
|
ifdef ENGINE_LIB_PATH |
||||
|
ifeq ($(BUILD_FOR),Linux) |
||||
|
ifndef LD_LIBRARY_PATH |
||||
|
export LD_LIBRARY_PATH=$(ENGINE_LIB_PATH) |
||||
|
endif |
||||
|
else ifeq ($(BUILD_FOR),Darwin) |
||||
|
ifndef DYLD_LIBRARY_PATH |
||||
|
export DYLD_LIBRARY_PATH=$(ENGINE_LIB_PATH) |
||||
|
endif |
||||
|
endif |
||||
|
endif |
||||
|
|
@ -0,0 +1,33 @@ |
|||||
|
include ../../../../../../../Makefile.conf |
||||
|
include ../Makefile.conf |
||||
|
|
||||
|
TEST_UNIT_NAME=basic |
||||
|
|
||||
|
JAVA_CLASSES = \
|
||||
|
SyncCallbacks.class \
|
||||
|
TestMain.class \
|
||||
|
../utils/TestUtils.class |
||||
|
|
||||
|
.PHONY: compile run test clean |
||||
|
|
||||
|
all: compile |
||||
|
$(MAKE) run |
||||
|
|
||||
|
run: compile |
||||
|
cd $(JAVA_CWD);HOME=$(JAVA_PEP_HOME_DIR) $(JAVA) $(JAVA_PKG_BASENAME).$(TEST_UNIT_NAME).TestMain |
||||
|
|
||||
|
compile: $(JAVA_CLASSES) |
||||
|
|
||||
|
%.class: %.java |
||||
|
cd $(JAVA_CWD);javac -cp $(CLASSPATH) $(JAVA_PKG_BASEPATH)/$(TEST_UNIT_NAME)/$< |
||||
|
|
||||
|
clean: |
||||
|
rm -f $(JAVA_CLASSES) |
||||
|
rm -f *.class |
||||
|
rm -f *.log |
||||
|
rm -Rf .gnupg |
||||
|
rm -Rf .lldb |
||||
|
|
||||
|
clean-pep-home: |
||||
|
rm -rf $(PEP_HOME_DIR)/* |
||||
|
rm -rf $(PEP_HOME_DIR)/.pEp |
@ -1,3 +1,4 @@ |
|||||
|
package foundation.pEp.jniadapter.test.basic; |
||||
import foundation.pEp.jniadapter.*; |
import foundation.pEp.jniadapter.*; |
||||
|
|
||||
class SyncCallbacks implements Sync.MessageToSendCallback, Sync.NotifyHandshakeCallback { |
class SyncCallbacks implements Sync.MessageToSendCallback, Sync.NotifyHandshakeCallback { |
@ -0,0 +1,33 @@ |
|||||
|
include ../../../../../../../Makefile.conf |
||||
|
include ../Makefile.conf |
||||
|
|
||||
|
TEST_UNIT_NAME=jni85 |
||||
|
|
||||
|
JAVA_CLASSES = \
|
||||
|
Step1.class \
|
||||
|
Step2.class \
|
||||
|
../utils/TestUtils.class |
||||
|
|
||||
|
.PHONY: compile run test clean |
||||
|
|
||||
|
all: compile |
||||
|
$(MAKE) run |
||||
|
|
||||
|
run: compile |
||||
|
cd $(JAVA_CWD);HOME=$(JAVA_PEP_HOME_DIR) $(JAVA) $(JAVA_PKG_BASENAME).$(TEST_UNIT_NAME).TestMain |
||||
|
|
||||
|
compile: $(JAVA_CLASSES) |
||||
|
|
||||
|
%.class: %.java |
||||
|
cd $(JAVA_CWD);javac -cp $(CLASSPATH) $(JAVA_PKG_BASEPATH)/$(TEST_UNIT_NAME)/$< |
||||
|
|
||||
|
clean: |
||||
|
rm -f $(JAVA_CLASSES) |
||||
|
rm -f *.class |
||||
|
rm -f *.log |
||||
|
rm -Rf .gnupg |
||||
|
rm -Rf .lldb |
||||
|
|
||||
|
clean-pep-home: |
||||
|
rm -rf $(PEP_HOME_DIR)/* |
||||
|
rm -rf $(PEP_HOME_DIR)/.pEp |
@ -1,3 +1,4 @@ |
|||||
|
package foundation.pEp.jniadapter.test.jni85; |
||||
import foundation.pEp.jniadapter.*; |
import foundation.pEp.jniadapter.*; |
||||
import java.util.Vector; |
import java.util.Vector; |
||||
import java.net.URL; |
import java.net.URL; |
@ -1,15 +1,8 @@ |
|||||
|
package foundation.pEp.jniadapter.test.jni85; |
||||
import foundation.pEp.jniadapter.*; |
import foundation.pEp.jniadapter.*; |
||||
import java.util.Vector; |
|
||||
import java.net.URL; |
|
||||
import java.net.URLClassLoader; |
|
||||
import java.lang.Thread; |
import java.lang.Thread; |
||||
import java.lang.InterruptedException; |
import java.lang.InterruptedException; |
||||
|
|
||||
import java.io.IOException; |
|
||||
import java.nio.file.Files; |
|
||||
import java.nio.file.Path; |
|
||||
import java.nio.file.Paths; |
|
||||
|
|
||||
class Step2 { |
class Step2 { |
||||
|
|
||||
public static void main(String[] args) { |
public static void main(String[] args) { |
@ -1,3 +1,4 @@ |
|||||
|
package foundation.pEp.jniadapter.test.jni85; |
||||
import foundation.pEp.jniadapter.*; |
import foundation.pEp.jniadapter.*; |
||||
|
|
||||
public class SyncCallbacks implements Sync.MessageToSendCallback, Sync.NotifyHandshakeCallback { |
public class SyncCallbacks implements Sync.MessageToSendCallback, Sync.NotifyHandshakeCallback { |
@ -0,0 +1,32 @@ |
|||||
|
include ../../../../../../../Makefile.conf |
||||
|
include ../Makefile.conf |
||||
|
|
||||
|
TEST_UNIT_NAME=jni88 |
||||
|
|
||||
|
JAVA_CLASSES = \
|
||||
|
TestMain.class \
|
||||
|
../utils/TestUtils.class |
||||
|
|
||||
|
.PHONY: compile run test clean |
||||
|
|
||||
|
all: compile |
||||
|
$(MAKE) run |
||||
|
|
||||
|
run: compile |
||||
|
cd $(JAVA_CWD);HOME=$(JAVA_PEP_HOME_DIR) $(JAVA) $(JAVA_PKG_BASENAME).$(TEST_UNIT_NAME).TestMain |
||||
|
|
||||
|
compile: $(JAVA_CLASSES) |
||||
|
|
||||
|
%.class: %.java |
||||
|
cd $(JAVA_CWD);javac -cp $(CLASSPATH) $(JAVA_PKG_BASEPATH)/$(TEST_UNIT_NAME)/$< |
||||
|
|
||||
|
clean: |
||||
|
rm -f $(JAVA_CLASSES) |
||||
|
rm -f *.class |
||||
|
rm -f *.log |
||||
|
rm -Rf .gnupg |
||||
|
rm -Rf .lldb |
||||
|
|
||||
|
clean-pep-home: |
||||
|
rm -rf $(PEP_HOME_DIR)/* |
||||
|
rm -rf $(PEP_HOME_DIR)/.pEp |
@ -1,14 +1,7 @@ |
|||||
|
package foundation.pEp.jniadapter.test.jni88; |
||||
import foundation.pEp.jniadapter.*; |
import foundation.pEp.jniadapter.*; |
||||
import java.util.Vector; |
import java.util.Vector; |
||||
import java.net.URL; |
|
||||
import java.net.URLClassLoader; |
|
||||
import java.lang.Thread; |
import java.lang.Thread; |
||||
import java.lang.InterruptedException; |
|
||||
|
|
||||
import java.io.IOException; |
|
||||
import java.nio.file.Files; |
|
||||
import java.nio.file.Path; |
|
||||
import java.nio.file.Paths; |
|
||||
|
|
||||
|
|
||||
/* |
/* |
@ -0,0 +1,32 @@ |
|||||
|
include ../../../../../../../Makefile.conf |
||||
|
include ../Makefile.conf |
||||
|
|
||||
|
TEST_UNIT_NAME=jni91 |
||||
|
|
||||
|
JAVA_CLASSES = \
|
||||
|
TestMain.class \
|
||||
|
../utils/TestUtils.class |
||||
|
|
||||
|
.PHONY: compile run test clean |
||||
|
|
||||
|
all: compile |
||||
|
$(MAKE) run |
||||
|
|
||||
|
run: compile |
||||
|
cd $(JAVA_CWD);HOME=$(JAVA_PEP_HOME_DIR) $(JAVA) $(JAVA_PKG_BASENAME).$(TEST_UNIT_NAME).TestMain |
||||
|
|
||||
|
compile: $(JAVA_CLASSES) |
||||
|
|
||||
|
%.class: %.java |
||||
|
cd $(JAVA_CWD);javac -cp $(CLASSPATH) $(JAVA_PKG_BASEPATH)/$(TEST_UNIT_NAME)/$< |
||||
|
|
||||
|
clean: |
||||
|
rm -f $(JAVA_CLASSES) |
||||
|
rm -f *.class |
||||
|
rm -f *.log |
||||
|
rm -Rf .gnupg |
||||
|
rm -Rf .lldb |
||||
|
|
||||
|
clean-pep-home: |
||||
|
rm -rf $(PEP_HOME_DIR)/* |
||||
|
rm -rf $(PEP_HOME_DIR)/.pEp |
@ -1,3 +1,4 @@ |
|||||
|
package foundation.pEp.jniadapter.test.jni91; |
||||
import foundation.pEp.jniadapter.*; |
import foundation.pEp.jniadapter.*; |
||||
|
|
||||
import java.lang.Thread; |
import java.lang.Thread; |
@ -0,0 +1,33 @@ |
|||||
|
include ../../../../../../../Makefile.conf |
||||
|
include ../Makefile.conf |
||||
|
|
||||
|
TEST_UNIT_NAME=jni92 |
||||
|
|
||||
|
JAVA_CLASSES = \
|
||||
|
SyncCallbacks.class \
|
||||
|
TestMain.class \
|
||||
|
../utils/TestUtils.class |
||||
|
|
||||
|
.PHONY: compile run test clean |
||||
|
|
||||
|
all: compile |
||||
|
$(MAKE) run |
||||
|
|
||||
|
run: compile |
||||
|
cd $(JAVA_CWD);HOME=$(JAVA_PEP_HOME_DIR) $(JAVA) $(JAVA_PKG_BASENAME).$(TEST_UNIT_NAME).TestMain |
||||
|
|
||||
|
compile: $(JAVA_CLASSES) |
||||
|
|
||||
|
%.class: %.java |
||||
|
cd $(JAVA_CWD);javac -cp $(CLASSPATH) $(JAVA_PKG_BASEPATH)/$(TEST_UNIT_NAME)/$< |
||||
|
|
||||
|
clean: |
||||
|
rm -f $(JAVA_CLASSES) |
||||
|
rm -f *.class |
||||
|
rm -f *.log |
||||
|
rm -Rf .gnupg |
||||
|
rm -Rf .lldb |
||||
|
|
||||
|
clean-pep-home: |
||||
|
rm -rf $(PEP_HOME_DIR)/* |
||||
|
rm -rf $(PEP_HOME_DIR)/.pEp |
@ -0,0 +1,24 @@ |
|||||
|
package foundation.pEp.jniadapter.test.jni92; |
||||
|
import foundation.pEp.jniadapter.test.utils.TestUtils; |
||||
|
import foundation.pEp.jniadapter.*; |
||||
|
|
||||
|
class SyncCallbacks implements Sync.MessageToSendCallback, Sync.NotifyHandshakeCallback { |
||||
|
public void messageToSend(Message message) |
||||
|
{ |
||||
|
TestUtils.logH2("Message to send called"); |
||||
|
TestUtils.log("From: " + message.getFrom()); |
||||
|
TestUtils.log("To: " + message.getTo()); |
||||
|
TestUtils.log("Subject: " + message.getShortmsg()); |
||||
|
TestUtils.log("Attachement[0]: " + message.getAttachments().get(0).toString()); |
||||
|
TestUtils.logSectEnd(); |
||||
|
} |
||||
|
|
||||
|
public void notifyHandshake(Identity myself, Identity partner, SyncHandshakeSignal signal) |
||||
|
{ |
||||
|
TestUtils.logH2("Notify handshake called"); |
||||
|
TestUtils.log("Myself: " + myself); |
||||
|
TestUtils.log("Partner: " + partner); |
||||
|
TestUtils.log("Signal: " + signal); |
||||
|
TestUtils.logSectEnd(); |
||||
|
} |
||||
|
} |
@ -0,0 +1,84 @@ |
|||||
|
package foundation.pEp.jniadapter.test.jni92; |
||||
|
import foundation.pEp.jniadapter.test.utils.TestUtils; |
||||
|
import foundation.pEp.jniadapter.*; |
||||
|
|
||||
|
import java.lang.Thread; |
||||
|
import java.util.Vector; |
||||
|
|
||||
|
|
||||
|
/* |
||||
|
This test is trying to reproduce the problem described in JNI-91 |
||||
|
https://pep.foundation/jira/browse/JNI-81
|
||||
|
|
||||
|
`engine.key_reset_identity` and `engine.setMessageToSendCallback` |
||||
|
*/ |
||||
|
|
||||
|
|
||||
|
|
||||
|
class TestThread extends Thread { |
||||
|
private String threadName = "TestThread-1"; |
||||
|
private Engine engine = null; |
||||
|
|
||||
|
TestThread(String threadName) { |
||||
|
this.threadName = threadName; |
||||
|
} |
||||
|
|
||||
|
public void run() { |
||||
|
TestUtils.logH1(threadName + ": Starting thread"); |
||||
|
|
||||
|
try { |
||||
|
// load engine
|
||||
|
try { |
||||
|
engine = new Engine(); |
||||
|
SyncCallbacks callbacks = new SyncCallbacks(); |
||||
|
engine.setMessageToSendCallback(callbacks); |
||||
|
engine.setNotifyHandshakeCallback(callbacks); |
||||
|
} catch (pEpException ex) { |
||||
|
TestUtils.log(threadName + ": cannot load"); |
||||
|
return; |
||||
|
} |
||||
|
TestUtils.log(threadName + ": Engine loaded"); |
||||
|
if(!engine.isSyncRunning()) { |
||||
|
engine.startSync(); |
||||
|
} |
||||
|
|
||||
|
} catch (Exception e) { |
||||
|
TestUtils.log("Exception in Thread " + threadName); |
||||
|
TestUtils.log(e.toString()); |
||||
|
} |
||||
|
TestUtils.sleep(20000); |
||||
|
if(engine.isSyncRunning()) { |
||||
|
engine.stopSync(); |
||||
|
} |
||||
|
TestUtils.log(threadName + ": DONE"); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
|
||||
|
|
||||
|
class TestMain { |
||||
|
public static void main(String[] args) throws Exception { |
||||
|
TestUtils.logH1("JNI-92 Starting"); |
||||
|
|
||||
|
Vector<TestThread> tts = new Vector<TestThread>(); |
||||
|
int nrThreads = 3; |
||||
|
for(int i = 0; i < nrThreads; i++){ |
||||
|
tts.add(new TestThread("TestThread-" + i)); |
||||
|
} |
||||
|
|
||||
|
tts.forEach( t -> { |
||||
|
t.start(); |
||||
|
TestUtils.sleep(2000); |
||||
|
}); |
||||
|
|
||||
|
tts.forEach( t -> { |
||||
|
try { |
||||
|
t.join(); |
||||
|
} catch(Exception e ){ |
||||
|
TestUtils.log("Exception joining thread" + e.toString()); |
||||
|
} |
||||
|
}); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
|
@ -0,0 +1,52 @@ |
|||||
|
package foundation.pEp.jniadapter.test.utils; |
||||
|
import foundation.pEp.jniadapter.*; |
||||
|
|
||||
|
public class TestUtils { |
||||
|
public static void sleep(int mSec) { |
||||
|
try { |
||||
|
Thread.sleep(mSec); |
||||
|
} catch (InterruptedException ex) { |
||||
|
System.out.println("sleep got interrupted"); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public static String identityToString(Identity i) { |
||||
|
String ret = "address: " + i.address + "\n"; |
||||
|
ret += "fpr: " + i.fpr + "\n"; |
||||
|
ret += "username: " + i.username + "\n"; |
||||
|
ret += "user_id: " + i.user_id + "\n"; |
||||
|
ret += "flags: " + i.flags + "\n"; |
||||
|
ret += "lang: " + i.lang + "\n"; |
||||
|
ret += "me: " + i.me + "\n"; |
||||
|
ret += "comm_type: " + i.comm_type; |
||||
|
return ret; |
||||
|
} |
||||
|
|
||||
|
public static void log(String msg) { |
||||
|
System.out.println(msg); |
||||
|
} |
||||
|
|
||||
|
public static void logH1(String msg) { |
||||
|
String decorationStr = getDecoratorString(msg, "="); |
||||
|
System.out.println(decorationStr + " " + msg.toUpperCase() + " " + decorationStr); |
||||
|
} |
||||
|
|
||||
|
public static void logH2(String msg) { |
||||
|
String decorationStr = getDecoratorString(msg, "-"); |
||||
|
System.out.println(decorationStr + " " + msg + " " + decorationStr); |
||||
|
} |
||||
|
|
||||
|
private static String getDecoratorString(String msg, String s) { |
||||
|
int lineWidth = 80; |
||||
|
String decorationChar = s; |
||||
|
String decorationStr = ""; |
||||
|
for (int i = 0; i < Math.ceil((lineWidth - msg.length() + 2) / 2); i++) { |
||||
|
decorationStr += decorationChar; |
||||
|
} |
||||
|
return decorationStr; |
||||
|
} |
||||
|
|
||||
|
public static void logSectEnd() { |
||||
|
System.out.println(""); |
||||
|
} |
||||
|
} |
Loading…
Reference in new issue