Home | History | Annotate | Download | only in f1
      1 /*
      2  * Copyright (C) 2008 The Android Open Source Project
      3  *
      4  * Licensed under the Apache License, Version 2.0 (the "License");
      5  * you may not use this file except in compliance with the License.
      6  * You may obtain a copy of the License at
      7  *
      8  *      http://www.apache.org/licenses/LICENSE-2.0
      9  *
     10  * Unless required by applicable law or agreed to in writing, software
     11  * distributed under the License is distributed on an "AS IS" BASIS,
     12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13  * See the License for the specific language governing permissions and
     14  * limitations under the License.
     15  */
     16 
     17 package dot.junit.format.f1;
     18 
     19 import dot.junit.DxTestCase;
     20 import dot.junit.DxUtil;
     21 
     22 public class Test_f1 extends DxTestCase {
     23 
     24     /**
     25      * @constraint n/a
     26      * @title size of dex file shall be greater than size of header
     27      */
     28     public void testVFE1() {
     29         try {
     30             Class.forName("dot.junit.format.f1.d.T_f1_1");
     31             fail("expected a verification exception");
     32         } catch (Throwable t) {
     33             DxUtil.checkVerifyException(t);
     34         }
     35     }
     36 
     37     /**
     38      * @constraint n/a
     39      * @title check that .dex with wrong magic is rejected
     40      */
     41     public void testVFE2() {
     42         try {
     43             Class.forName("dot.junit.format.f1.d.T_f1_2");
     44             fail("expected a verification exception");
     45         } catch (Throwable t) {
     46             DxUtil.checkVerifyException(t);
     47         }
     48     }
     49 
     50     /**
     51      * @constraint n/a
     52      * @title check that .dex with wrong version is rejected
     53      */
     54     public void testVFE3() {
     55         try {
     56             Class.forName("dot.junit.format.f1.d.T_f1_3");
     57             fail("expected a verification exception");
     58         } catch (Throwable t) {
     59             DxUtil.checkVerifyException(t);
     60         }
     61     }
     62 
     63     /**
     64      * @constraint n/a
     65      * @title check that .dex with wrong endian_tag is rejected
     66      */
     67     public void testVFE4() {
     68         try {
     69             Class.forName("dot.junit.format.f1.d.T_f1_4");
     70             fail("expected a verification exception");
     71         } catch (Throwable t) {
     72             DxUtil.checkVerifyException(t);
     73         }
     74     }
     75 
     76     /**
     77      * @constraint n/a
     78      * @title check that .dex with wrong header size is rejected
     79      */
     80     public void testVFE5() {
     81         try {
     82             Class.forName("dot.junit.format.f1.d.T_f1_5");
     83             fail("expected a verification exception");
     84         } catch (Throwable t) {
     85             DxUtil.checkVerifyException(t);
     86         }
     87     }
     88 
     89     /**
     90      * @constraint n/a
     91      * @title  file length must be equal to length in header
     92      */
     93     public void testVFE6() {
     94         try {
     95             Class.forName("dot.junit.format.f1.d.T_f1_6");
     96             fail("expected a verification exception");
     97         } catch (Throwable t) {
     98             DxUtil.checkVerifyException(t);
     99         }
    100     }
    101 
    102     /**
    103      * @constraint n/a
    104      * @title  header->map_off != 0
    105      */
    106     public void testVFE7() {
    107         try {
    108             Class.forName("dot.junit.format.f1.d.T_f1_7");
    109             fail("expected a verification exception");
    110         } catch (Throwable t) {
    111             DxUtil.checkVerifyException(t);
    112         }
    113     }
    114 
    115     /**
    116      * @constraint n/a
    117      * @title number of classes in dex shall be > 0
    118      */
    119     public void testVFE8() {
    120         try {
    121             Class.forName("dot.junit.format.f1.d.T_f1_8");
    122             fail("expected a verification exception");
    123         } catch (Throwable t) {
    124             DxUtil.checkVerifyException(t);
    125         }
    126     }
    127 
    128     /**
    129      * @constraint n/a
    130      * @title check that .dex with wrong checksum is rejected
    131      */
    132     public void testVFE9() {
    133         try {
    134             Class.forName("dot.junit.format.f1.d.T_f1_9");
    135             fail("expected a verification exception but this test may fail if this check is not enforced");
    136         } catch (Throwable t) {
    137             DxUtil.checkVerifyException(t);
    138         }
    139     }
    140 
    141     /**
    142      * @constraint n/a
    143      * @title check that .dex with wrong signature is rejected
    144      */
    145 //    public void testVFE10() {
    146 //        try {
    147 //            Class.forName("dot.junit.format.f1.d.T_f1_10");
    148 //            fail("expected a verification exception but this test may fail if this check is not enforced");
    149 //        } catch (Throwable t) {
    150 //            DxUtil.checkVerifyException(t);
    151 //        }
    152 //    }
    153 
    154     /**
    155      * @constraint n/a
    156      * @title header and map section mismatch
    157      */
    158     public void testVFE11() {
    159         try {
    160             Class.forName("dot.junit.format.f1.d.T_f1_11");
    161             fail("expected a verification exception");
    162         } catch (Throwable t) {
    163             DxUtil.checkVerifyException(t);
    164         }
    165     }
    166 
    167     /**
    168      * @constraint n/a
    169      * @title overlapping sections
    170      */
    171     public void testVFE12() {
    172         try {
    173             Class.forName("dot.junit.format.f1.d.T_f1_12");
    174             fail("expected a verification exception");
    175         } catch (Throwable t) {
    176             DxUtil.checkVerifyException(t);
    177         }
    178     }
    179 }
    180