@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.)
hq.recaptime.dev/wiki/Phorge
phorge
phabricator
1#!/usr/bin/env php
2<?php
3
4$root = dirname(dirname(dirname(__FILE__)));
5require_once $root.'/scripts/__init_script__.php';
6
7$args = new PhutilArgumentParser($argv);
8$args->setTagline(pht('emit a test event'));
9$args->setSynopsis(pht(<<<EOHELP
10**emit_test_event.php** [--listen listener] ...
11 Emit a test event after installing any specified __listener__s.
12EOHELP
13));
14$args->parseStandardArguments();
15$args->parse(
16 array(
17 array(
18 'name' => 'listen',
19 'param' => 'listener',
20 'repeat' => true,
21 ),
22 ));
23
24$console = PhutilConsole::getConsole();
25foreach ($args->getArg('listen') as $listener) {
26 $console->writeOut("%s\n", pht("Installing '%s'...", $listener));
27 newv($listener, array())->register();
28}
29
30
31$console->writeOut("%s\n", pht('Emitting event...'));
32
33PhutilEventEngine::dispatchEvent(
34 new PhabricatorEvent(
35 PhabricatorEventType::TYPE_TEST_DIDRUNTEST,
36 array(
37 'time' => time(),
38 )));
39
40$console->writeOut("%s\n", pht('Done.'));
41exit(0);