--- /dev/null
+
+--------------------------------------------------------------------------------
+Mosaic
+
+A tool to assist in hierarchical white box testing.
+
+Each piece of a program must have integrity for the complete picture to emerge.
+
+With Mosaic we test the pieces, then the communication between the pieces.
+
+--------------------------------------------------------------------------------
+Install
+
+After cloning the project, check the tool_shared/third_party directory for
+installation instructions for version specific required tools.
+
+Even if you do not plan to do development or testing on Mosaic, but merely plan
+to use the ready made tools found in the release directory, Install RT_incommon
+to complete some of the symbolic links and to bring in more documents and
+scripts.
+
+
+
+
-document/license.txt
\ No newline at end of file
+document🖉/license.txt
\ No newline at end of file
-document/readme.txt
\ No newline at end of file
+document🖉/readme.txt
\ No newline at end of file
# directory instead of putting them in `shell`.
# input guards
- env_must_be="developer/tool/env"
+ env_must_be="developer/tool🖉/env"
if [ "$ENV" != "$env_must_be" ]; then
echo "$(script_fp):: error: must be run in the $env_must_be environment"
exit 1
# remove files
set -x
cd "$REPO_HOME"/developer
- rm -r scratchpad/*
- rm jvm/*
- rm shell/*
+ rm_na -r scratchpad/*
+ rm_na jvm/*
+ rm_na shell/*
set +x
echo "$(script_fn) done."
# so we can do the build
export PATH=\
-"$REPO_HOME"/developer/tool/\
-:"$REPO_HOME"/tool_shared/bespoke/\
+"$REPO_HOME"/developer/tool🖉/\
:"$JAVA_HOME"/bin\
:"$PATH"
:"$CLASSPATH"
export PATH=\
-"$REPO_HOME"/developer/shell\
+"$REPO_HOME"/developer/bash\
:"$PATH"
# misc
# input guards
- env_must_be="developer/tool/env"
+ env_must_be="developer/tool🖉/env"
if [ "$ENV" != "$env_must_be" ]; then
echo "$(script_fp):: error: must be run in the $env_must_be environment"
exit 1
exit 1
fi
- env_must_be="developer/tool/env"
+ env_must_be="developer/tool🖉/env"
if [ "$ENV" != "$env_must_be" ]; then
echo "$(script_fp):: error: must be run in the $env_must_be environment"
exit 1
# input guards
- env_must_be="developer/tool/env"
+ env_must_be="developer/tool🖉/env"
if [ "$ENV" != "$env_must_be" ]; then
echo "$(script_fp):: error: must be run in the $env_must_be environment"
exit 1
With Mosaic we test the pieces, then the communication between the pieces.
+--------------------------------------------------------------------------------
+Install
+
+After cloning the project, check the tool_shared/third_party directory for
+installation instructions for version specific required tools. Install
+RT_incommon to complete some of the symbolic links and to bring in more
+documents and scripts.
+
+
+
+
--- /dev/null
+../tool_shared/third_party/RT-incommon/document🖉/
\ No newline at end of file
+++ /dev/null
-#!/bin/env bash
-java Test0
+++ /dev/null
-#!/bin/env bash
-java Test_IO
+++ /dev/null
-#!/bin/env bash
-java Test_MockClass_0
+++ /dev/null
-#!/bin/env bash
-java Test_Testbench
+++ /dev/null
-#!/bin/env bash
-java Test_Util
+++ /dev/null
-
-2024-11-08T09:58:55.370638Z -----------------------------------------------------------
-Test: test_failure_3
-Stream: stdout
-Output:
-Intentional extraneous chars to stdout for testing
-
-
-2024-11-08T09:58:55.380370Z -----------------------------------------------------------
-Test: test_failure_4
-Stream: stderr
-Output:
-Intentional extraneous chars to stderr for testing.
-
# directory.
# input guards
- env_must_be="tester/tool/env"
+ env_must_be="tester/tool🖉/env"
if [ "$ENV" != "$env_must_be" ]; then
echo "$(script_fp):: error: must be run in the $env_must_be environment"
exit 1
# remove files
set -x
cd "$REPO_HOME"/tester
- rm -r scratchpad/*
- rm jvm/*
- rm shell/*
+ rm_na -r scratchpad/*
+ rm_na jvm/*
+ rm_na bash/*
set +x
echo "$(script_fn) done."
# so we can do testing
export PATH=\
-"$REPO_HOME"/tester/tool/\
-:"$REPO_HOME"/tool_shared/bespoke/\
+"$REPO_HOME"/tester/tool🖉/\
:"$JAVA_HOME"/bin\
:"$PATH"
:"$CLASSPATH"
export SOURCEPATH=\
+"$REPO_HOME"/tester/bash\
"$REPO_HOME"/tester/javac/\
:"$REPO_HOME"/developer/scratchpad/\
# input guards
- env_must_be="tester/tool/env"
+ env_must_be="tester/tool🖉/env"
if [ "$ENV" != "$env_must_be" ]; then
echo "$(script_fp):: error: must be run in the $env_must_be environment"
exit 1
set -x
cd $REPO_HOME/tester
- javac -g -d scratchpad javac/*.java
+ javac -g -d scratchpad javac🖉/*.java
jar cf jvm/Test_"$PROJECT".jar -C scratchpad .
set +x
echo "Creating shell wrappers..."
- mkdir -p shell
+ mkdir -p bash
# wrapper is a space separated list
wrapper=$(shell_wrapper_list)
for file in $wrapper;do
- cat > shell/$file << EOL
+ cat > bash/$file << EOL
#!/bin/env bash
java $file
EOL
- chmod +x shell/$file
+ chmod +x bash/$file
done
echo "$(script_fp) done."
fi
# Navigate to the shell directory
-cd "$REPO_HOME/tester/shell" || exit
+cd "$REPO_HOME/tester/bash" || exit
# Get the list of test scripts in the specific order from shell_wrapper_list
test_list=$(shell_wrapper_list)
script_afp=$(realpath "${BASH_SOURCE[0]}")
# input guards
-env_must_be="tester/tool/env"
+env_must_be="tester/tool🖉/env"
if [ "$ENV" != "$env_must_be" ]; then
echo "$(script_fp):: error: must be run in the $env_must_be environment"
exit 1
# set the prompt decoration to the name of the project
PROMPT_DECOR=$PROJECT
+ # include the project bespoke tools
+ PATH="$REPO_HOME"/tool_shared/bespoke🖉:"$PATH"
+
+ export REPO_HOME PROJECT PROMPT_DECOR PATH
+
# --------------------------------------------------------------------------------
# The project administrator sets up the following tools for all roles to use:
#
- export PATH="$REPO_HOME/tool_shared/third_party/RT-incommon/release/bash:$PATH"
- export PATH="$REPO_HOME/tool_shared/third_party/RT-incommon/release/amd64:$PATH"
- export JAVA_HOME="$REPO_HOME/tool_shared/third_party/jdk-23.0.1:$PATH"
- export PATH="$REPO_HOME/tool_shared/third_party/emacs/bin:$PATH"
-# export PATH="$REPO_HOME/tool_shared/third_party/idea-IC-243.21565.193/:$PATH"
+ PATH="$REPO_HOME/tool_shared/third_party/RT-incommon/release/bash:$PATH"
+ PATH="$REPO_HOME/tool_shared/third_party/RT-incommon/release/amd64:$PATH"
+ PATH="$REPO_HOME/tool_shared/third_party/emacs/bin:$PATH"
+
+# after having installed Itellij IDEA
+# PATH="$REPO_HOME/tool_shared/third_party/idea-IC-243.21565.193/:$PATH"
+
+ JAVA_HOME="$REPO_HOME/tool_shared/third_party/jdk-23.0.1"
+
+ export PATH JAVA_HOME
# --------------------------------------------------------------------------------
# the following functions are provided for other scripts to use.
# Bash has no 'closure' hence when exporting a function, one must also export all the pieces.
# do not export script_afp
- export REPO_HOME PROJECT PROMPT_DECOR
export -f script_adp script_fn script_dp script_fp
export ENV=$(script_fp)