summaryrefslogblamecommitdiffstats
path: root/tests/Android.bp
blob: 19f2a6c64f1f6a81517fb99df95fd7bd445d4709 (plain) (tree)






























                                                                           
                          








                           
                                 






                           
          


      
                                     



                             








                      








                                                                                                 

                     
               

                            


                        



                                  

                    

                        
            
                  
               

 

















                                                                                                                                                               

                               
                   
                       


                                 
                              
                                     




                                  
                     

      
                                                                        
                         
                          
                   
                            
                     

                            

                             
                        
                               

      

                     
                          

                        



                                 
                   









                                   

 

                               
                   


                                 
                              


           
                      


                  

                          
                     
                    

                          

                   

      

                                   
                         


                 
                                                                                  


                           
 



















                                             
// Copyright (C) 2018 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

cc_defaults {
    name: "recovery_test_defaults",

    defaults: [
        "recovery_defaults",
    ],

    include_dirs: [
        "bootable/recovery",
    ],

    shared_libs: [
        "libbase",
        "libcrypto",
        "libcutils",
        "liblog",
        "libpng",
        "libprocessgroup",
        "libselinux",
        "libz",
        "libziparchive",
    ],

    target: {
        android: {
            shared_libs: [
                "libutils",
                "libvndksupport",
            ],
        },

        host: {
            static_libs: [
                "libutils",
            ],
        },
    },
}

// libapplypatch, libapplypatch_modes
libapplypatch_static_libs = [
    "libapplypatch_modes",
    "libapplypatch",
    "libedify",
    "libotautil",
    "libbsdiff",
    "libbspatch",
    "libdivsufsort",
    "libdivsufsort64",
    "libutils",
    "libbase",
    "libbrotli",
    "libbz",
    "libz",
    "libziparchive",
]

// librecovery_defaults uses many shared libs that we want to avoid using in tests (e.g. we don't
// have 32-bit android.hardware.health@2.0.so or libbootloader_message.so on marlin).
librecovery_static_libs = [
    "librecovery",
    "librecovery_fastboot",
    "libinstall",
    "librecovery_ui",
    "libminui",
    "libfusesideload",
    "libbootloader_message",
    "libotautil",

    "libhealthhalutils",
    "libvintf",

    "android.hardware.health@2.0",
    "android.hardware.health@1.0",
    "libext4_utils",
    "libfs_mgr",
    "libhidl-gen-utils",
    "libhidlbase",
    "liblp",
    "libtinyxml2",
    "libc++fs",
]

// recovery image for unittests.
// ========================================================
genrule {
    name: "recovery_image",
    cmd: "cat $(location testdata/recovery_head) <(cat $(location testdata/recovery_body) | $(location minigzip)) $(location testdata/recovery_tail) > $(out)",
    srcs: [
        "testdata/recovery_head",
        "testdata/recovery_body",
        "testdata/recovery_tail",
    ],
    tools: [
        "minigzip",
    ],
    out: [
        "testdata/recovery.img",
    ],
}

cc_test {
    name: "recovery_unit_test",
    isolated: true,
    require_root: true,

    defaults: [
        "recovery_test_defaults",
        "libupdater_defaults",
        "libupdater_device_defaults",
    ],

    test_suites: ["device-tests"],

    srcs: [
        "unit/*.cpp",
    ],

    static_libs: libapplypatch_static_libs + librecovery_static_libs + [
        "librecovery_ui",
        "libfusesideload",
        "libminui",
        "librecovery_utils",
        "libotautil",
        "libupdater_device",
        "libupdater_core",
        "libupdate_verifier",

        "libgtest_prod",
        "libprotobuf-cpp-lite",
    ],

    data: [
        "testdata/*",
        ":recovery_image",
        ":res-testdata",
    ],
}

cc_test {
    name: "recovery_manual_test",
    isolated: true,

    defaults: [
        "recovery_test_defaults",
    ],

    test_suites: ["device-tests"],

    srcs: [
        "manual/recovery_test.cpp",
    ],
}

cc_test_host {
    name: "recovery_host_test",
    isolated: true,

    defaults: [
        "recovery_test_defaults",
        "libupdater_defaults",
    ],

    srcs: [
        "unit/host/*",
    ],

    static_libs: [
        "libupdater_host",
        "libupdater_core",
        "libimgdiff",
        "libbsdiff",
        "libdivsufsort64",
        "libdivsufsort",
        "libfstab",
        "libc++fs",
    ],

    test_suites: ["general-tests"],

    data: ["testdata/*"],

    target: {
        darwin: {
            // libapplypatch in "libupdater_defaults" is not available on the Mac.
            enabled: false,
        },
    },
}

cc_fuzz {
    name: "libinstall_verify_package_fuzzer",
    defaults: [
        "recovery_test_defaults",
    ],

    srcs: ["fuzz/verify_package_fuzzer.cpp"],

    corpus: [
      "testdata/otasigned*.zip",
    ],

    static_libs: [
        "libotautil",
        "libinstall",
        "librecovery_ui",
        "libminui",
    ],
}