187b68b020dd72c4cdcf3b8c1f9196c060f947991Timothy Knight#!/bin/bash
287b68b020dd72c4cdcf3b8c1f9196c060f947991Timothy Knight
387b68b020dd72c4cdcf3b8c1f9196c060f947991Timothy Knight# Copyright 2013 The Android Open Source Project
487b68b020dd72c4cdcf3b8c1f9196c060f947991Timothy Knight#
587b68b020dd72c4cdcf3b8c1f9196c060f947991Timothy Knight# Licensed under the Apache License, Version 2.0 (the "License");
687b68b020dd72c4cdcf3b8c1f9196c060f947991Timothy Knight# you may not use this file except in compliance with the License.
787b68b020dd72c4cdcf3b8c1f9196c060f947991Timothy Knight# You may obtain a copy of the License at
887b68b020dd72c4cdcf3b8c1f9196c060f947991Timothy Knight#
987b68b020dd72c4cdcf3b8c1f9196c060f947991Timothy Knight#      http://www.apache.org/licenses/LICENSE-2.0
1087b68b020dd72c4cdcf3b8c1f9196c060f947991Timothy Knight#
1187b68b020dd72c4cdcf3b8c1f9196c060f947991Timothy Knight# Unless required by applicable law or agreed to in writing, software
1287b68b020dd72c4cdcf3b8c1f9196c060f947991Timothy Knight# distributed under the License is distributed on an "AS IS" BASIS,
1387b68b020dd72c4cdcf3b8c1f9196c060f947991Timothy Knight# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1487b68b020dd72c4cdcf3b8c1f9196c060f947991Timothy Knight# See the License for the specific language governing permissions and
1587b68b020dd72c4cdcf3b8c1f9196c060f947991Timothy Knight# limitations under the License.
1687b68b020dd72c4cdcf3b8c1f9196c060f947991Timothy Knight
1787b68b020dd72c4cdcf3b8c1f9196c060f947991Timothy Knight# The tests exercised in this file all assert/exit on failure, and terminate
1887b68b020dd72c4cdcf3b8c1f9196c060f947991Timothy Knight# cleanly on success. The device is rebooted for each test, to ensure that
1987df78b48064a9bd31083968476e10242807985fTimothy Knight# a problem in one test doesn't propagate into subsequent tests.
2087b68b020dd72c4cdcf3b8c1f9196c060f947991Timothy Knight
2187b68b020dd72c4cdcf3b8c1f9196c060f947991Timothy Knightrm -rf out
2287b68b020dd72c4cdcf3b8c1f9196c060f947991Timothy Knightmkdir -p out
2387b68b020dd72c4cdcf3b8c1f9196c060f947991Timothy Knightcd out
2487b68b020dd72c4cdcf3b8c1f9196c060f947991Timothy Knight
2587df78b48064a9bd31083968476e10242807985fTimothy Knighttestcount=0
2687df78b48064a9bd31083968476e10242807985fTimothy Knightfailcount=0
2787df78b48064a9bd31083968476e10242807985fTimothy Knight
2887b68b020dd72c4cdcf3b8c1f9196c060f947991Timothy Knightfor T in \
2987b68b020dd72c4cdcf3b8c1f9196c060f947991Timothy Knight         test_3a.py \
3087b68b020dd72c4cdcf3b8c1f9196c060f947991Timothy Knight         test_black_white.py \
3187b68b020dd72c4cdcf3b8c1f9196c060f947991Timothy Knight         test_camera_properties.py \
3287b68b020dd72c4cdcf3b8c1f9196c060f947991Timothy Knight         test_capture_result.py \
3387b68b020dd72c4cdcf3b8c1f9196c060f947991Timothy Knight         test_exposure.py \
3487b68b020dd72c4cdcf3b8c1f9196c060f947991Timothy Knight         test_formats.py \
3587b68b020dd72c4cdcf3b8c1f9196c060f947991Timothy Knight         test_jpeg.py \
36f783eb794a43d7ed945bd2834a4f26b7e8dcc9baTimothy Knight         test_param_color_correction.py \
3787b68b020dd72c4cdcf3b8c1f9196c060f947991Timothy Knight         test_param_exposure_time.py \
3887b68b020dd72c4cdcf3b8c1f9196c060f947991Timothy Knight         test_param_noise_reduction.py \
3987b68b020dd72c4cdcf3b8c1f9196c060f947991Timothy Knight         test_param_sensitivity.py \
4087b68b020dd72c4cdcf3b8c1f9196c060f947991Timothy Knight         test_param_tonemap_mode.py \
4187b68b020dd72c4cdcf3b8c1f9196c060f947991Timothy Knight         \
4287b68b020dd72c4cdcf3b8c1f9196c060f947991Timothy Knight         test_latching.py \
4387b68b020dd72c4cdcf3b8c1f9196c060f947991Timothy Knight         test_linearity.py \
4487b68b020dd72c4cdcf3b8c1f9196c060f947991Timothy Knight         test_param_edge_mode.py \
452f0c08fee536ac8d40fa419a67001a02b2cfd1f9Timothy Knight         test_param_flash_mode.py \
46d7dfa1e033245cb60aec98210b6e1d428e4227d6Timothy Knight         test_predicted_wb.py \
4787b68b020dd72c4cdcf3b8c1f9196c060f947991Timothy Knight
4887b68b020dd72c4cdcf3b8c1f9196c060f947991Timothy Knightdo
4987df78b48064a9bd31083968476e10242807985fTimothy Knight    let testcount=testcount+1
5087b68b020dd72c4cdcf3b8c1f9196c060f947991Timothy Knight    echo ""
5187b68b020dd72c4cdcf3b8c1f9196c060f947991Timothy Knight    echo "--------------------------------------------------------------------"
5287b68b020dd72c4cdcf3b8c1f9196c060f947991Timothy Knight    echo "Running test: $T"
5387b68b020dd72c4cdcf3b8c1f9196c060f947991Timothy Knight    echo "--------------------------------------------------------------------"
5487b68b020dd72c4cdcf3b8c1f9196c060f947991Timothy Knight    python ../"$T" reboot
5587df78b48064a9bd31083968476e10242807985fTimothy Knight    code=$?
5687df78b48064a9bd31083968476e10242807985fTimothy Knight    if [ $code -ne 0 ]; then
5787df78b48064a9bd31083968476e10242807985fTimothy Knight        let failcount=failcount+1
5887df78b48064a9bd31083968476e10242807985fTimothy Knight        echo ""
5987df78b48064a9bd31083968476e10242807985fTimothy Knight        echo "###############"
6087df78b48064a9bd31083968476e10242807985fTimothy Knight        echo "# Test failed #"
6187df78b48064a9bd31083968476e10242807985fTimothy Knight        echo "###############"
6287df78b48064a9bd31083968476e10242807985fTimothy Knight    fi
6387b68b020dd72c4cdcf3b8c1f9196c060f947991Timothy Knight    echo ""
6487b68b020dd72c4cdcf3b8c1f9196c060f947991Timothy Knightdone
6587b68b020dd72c4cdcf3b8c1f9196c060f947991Timothy Knight
6687b68b020dd72c4cdcf3b8c1f9196c060f947991Timothy Knightecho ""
6787df78b48064a9bd31083968476e10242807985fTimothy Knightecho "$failcount out of $testcount tests failed"
6887b68b020dd72c4cdcf3b8c1f9196c060f947991Timothy Knightecho ""
6987b68b020dd72c4cdcf3b8c1f9196c060f947991Timothy Knight
7087df78b48064a9bd31083968476e10242807985fTimothy Knightcd ..
7187df78b48064a9bd31083968476e10242807985fTimothy Knight
72