5 lines
1.6 KiB
PHP
5 lines
1.6 KiB
PHP
<?php
|
|
$mode=$argv[1]??'';$directory=$argv[2]??'';if(!in_array($mode,['hold','read'],true)||!str_starts_with(str_replace('\\','/',$directory),'C:/laragon/data/sgf-tempo/run/modular-regression-2576427d1939/private/receipt-composition-b4093c6f6707/'))throw new LogicException('Regression only');
|
|
if($mode==='hold'){$book='regression';require __DIR__.'/sgf-single-bootstrap.php';$host->beginTransaction();try{$host->table('companies')->where('id',2)->lockForUpdate()->firstOrFail();file_put_contents($directory.'/locked','1');$end=microtime(true)+20;while(!is_file($directory.'/release')&µtime(true)<$end)usleep(50000);}finally{$host->rollBack();}exit;}
|
|
require __DIR__.'/sgf-ledger-proof-bootstrap.php';$user=App\Models\User::findOrFail($profiles['workshop_manage']['user_id']);Illuminate\Support\Facades\Auth::guard('web')->setUser($user);$r=Illuminate\Http\Request::create('/api/workshop/orders','GET');$r->attributes->set('sgf_module','workshop');$r->setUserResolver(fn()=>$user);$session=app('session')->driver();$session->start();$session->put('company_context',$f['scope']+['module_id'=>'workshop','token'=>'read-lock-proof']);$r->setLaravelSession($session);$app->instance('request',$r);app(App\Shared\Context\CompanyContext::class)->selectFor($user->id,1,2,2);$start=microtime(true);$data=app(App\Modules\Workshop\WorkshopOrderRead::class)->listing($user->id,[]);$proof=['passed'=>true,'seconds'=>microtime(true)-$start,'rows'=>count($data['orders']->items()),'first_transaction_still_held'=>!is_file($directory.'/release')];file_put_contents($directory.'/read.json',json_encode($proof));echo json_encode($proof).PHP_EOL;
|