#!/bin/bash
# For each icon-install mode: primary instance + 3 second-instance launches, count leaked Chromium temp files in a private TMPDIR.
export HOME=/tmp/issue-lead-17737-r2/mini/home ICON_DEST=/tmp/issue-lead-17737-r2/mini/home/.local/share/icons/com.t3tools.T3Code.desktop.png
APP=/tmp/issue-lead-17737-r2/mini/pkg/t3code
RUN=/tmp/issue-lead-17737-r2/mini/run3-$(date +%s); mkdir -p $RUN
echo "electron 44.9.3 (apps/desktop/node_modules/electron), packaged layout: renamed binary + resources/app.asar"
for MODE in copySync copyAsync readSync readAsync; do
  export MODE TMPDIR=$RUN/tmp-$MODE; mkdir -p $TMPDIR
  $APP --no-sandbox --disable-gpu > $RUN/primary-$MODE.log 2>&1 & P=$!; sleep 4
  for i in 1 2 3; do $APP --no-sandbox --disable-gpu > $RUN/second-$MODE-$i.log 2>&1; done
  kill $P; wait $P 2>/dev/null
  n=$(find $TMPDIR -maxdepth 1 -name '.org.chromium.Chromium.*' -type f | wc -l)
  echo "mode=$MODE launches=4 (1 primary + 3 second) leaked=$n  $(grep -h -o 'second instance: quitting' $RUN/second-$MODE-*.log | wc -l) seconds quit; icon md5 $(md5sum < $ICON_DEST | cut -c1-8)"
done
