xref: /aosp_15_r20/external/skia/infra/pathkit/test_pathkit.sh (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1*c8dee2aaSAndroid Build Coastguard Worker#!/bin/bash
2*c8dee2aaSAndroid Build Coastguard Worker# Copyright 2018 Google LLC
3*c8dee2aaSAndroid Build Coastguard Worker#
4*c8dee2aaSAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be
5*c8dee2aaSAndroid Build Coastguard Worker# found in the LICENSE file.
6*c8dee2aaSAndroid Build Coastguard Worker
7*c8dee2aaSAndroid Build Coastguard Worker# This assumes it is being run inside a docker container of gold-karma-chrome-tests
8*c8dee2aaSAndroid Build Coastguard Worker# and a Skia checkout has been mounted at /SRC and the output directory
9*c8dee2aaSAndroid Build Coastguard Worker# is mounted at /OUT
10*c8dee2aaSAndroid Build Coastguard Worker
11*c8dee2aaSAndroid Build Coastguard Workerset -ex
12*c8dee2aaSAndroid Build Coastguard Worker
13*c8dee2aaSAndroid Build Coastguard Worker#BASE_DIR is the dir this script is in ($SKIA_ROOT/infra/pathkit)
14*c8dee2aaSAndroid Build Coastguard WorkerBASE_DIR=`cd $(dirname ${BASH_SOURCE[0]}) && pwd`
15*c8dee2aaSAndroid Build Coastguard WorkerPATHKIT_DIR=$BASE_DIR/../../modules/pathkit
16*c8dee2aaSAndroid Build Coastguard Worker
17*c8dee2aaSAndroid Build Coastguard Worker# We avoid a lot of file permission errors by copying the tests and binary into the Docker
18*c8dee2aaSAndroid Build Coastguard Worker# container and running npm ci there.
19*c8dee2aaSAndroid Build Coastguard Workercp -R $PATHKIT_DIR /tmp/work
20*c8dee2aaSAndroid Build Coastguard Workercd /tmp/work
21*c8dee2aaSAndroid Build Coastguard Workernpm ci --cache /tmp/npmcache
22*c8dee2aaSAndroid Build Coastguard Worker
23*c8dee2aaSAndroid Build Coastguard Worker# Start the aggregator in the background
24*c8dee2aaSAndroid Build Coastguard Worker/opt/gold-aggregator $@ &
25*c8dee2aaSAndroid Build Coastguard Worker# Run the tests
26*c8dee2aaSAndroid Build Coastguard Workernpx karma start /tmp/work/karma.conf.js --single-run
27*c8dee2aaSAndroid Build Coastguard Worker# Tell the aggregator to dump the json
28*c8dee2aaSAndroid Build Coastguard Worker# This curl command gets the HTTP code and stores it into $CODE
29*c8dee2aaSAndroid Build Coastguard WorkerCODE=`curl -s -o /dev/null -I -w "%{http_code}" -X POST localhost:8081/dump_json`
30*c8dee2aaSAndroid Build Coastguard Workerif [ $CODE -ne 200 ]; then
31*c8dee2aaSAndroid Build Coastguard Worker    # If we don't get 200 back, something is wrong with writing to disk, so exit with error
32*c8dee2aaSAndroid Build Coastguard Worker    exit 1
33*c8dee2aaSAndroid Build Coastguard Workerfi
34