From d735de5f1f1a120ae2f918fc5e4717a0468be316 Mon Sep 17 00:00:00 2001 From: Shahzeb Patel Date: Fri, 16 Jun 2017 13:20:17 -0700 Subject: [PATCH] Capturing coverage of vmdkops service (#1421) * Capturing coverage of vmdkops esx side code * Updating contributing.md --- .drone.sec | 2 +- .drone.yml | 4 +++ CONTRIBUTING.md | 29 +++++++++++++++++++ esx_service/Makefile | 18 ++++++++++++ misc/drone-scripts/deploy-and-test-wrapper.sh | 5 +++- vmdk_plugin/Makefile | 5 ++++ 6 files changed, 61 insertions(+), 2 deletions(-) diff --git a/.drone.sec b/.drone.sec index 67749d3ec..afb20807c 100644 --- a/.drone.sec +++ b/.drone.sec @@ -1 +1 @@ -eyJhbGciOiJSU0EtT0FFUCIsImVuYyI6IkExMjhHQ00ifQ.PIGsagoRLWAgkc9-q7XQFc64aMsDqc9jn7C-n7ZgCJBRl1jzLe0nd5LSMJdJYNzAQt9hswwGG9KQpvmwPMpJ3FQZdlU-tD-j9CJMsiDtll2Sd_sDaBwQVnE4VIeoTDU52xfnhEX1ZSTuLQcwrOkfUcdY7x0Wts445dE-rbtWIJlvodLTxiTEBbHevg2o-hR83q5nFJw4SMb2HShybR-XWWQzDUjyn6q3GiXRTjTyTtmzEqSb_YnWg3FprGGsYO_YjQX0Z5V6TMLvoVNaUAieFEPXOhk4XMcJesjMl5dMcXrtU8YGxzWaOtRQ72uJBkEDkk_pOmSEorlp3mxU2juikw.jQrP9jgfPv5An4cc.JZOlcMaXlcuExf8UgEGut8YHfgb3BlXEU-a8CwNmEqoCbNYUL49ls4UyJSTQAMpiWwqljw-WjNV4Vc9Qaos5anPzhsQARW4oBbwcizauu03QrpOxJWCnyQ7SBWmvA79np1UC3EzfjwkTCJBMIkrqVneSA0FJCuIPLh4HL0rrYgHSnlmEWGcpgxgjE9e7X_08umZVwE1S4PqT6hPCvIK2vdQRSC_COcPLPDKzJZQwsYsx43d84BJvJYG00WADQ7q8eC7Eh1pEzzCsOp_7madfN73WvxHJqczom9QSomMqxGqZ9_EhzUsjxXAkpYU2UhlJdMD8h4hbaiSFwixlFKqNdCLVwpK_dy3-oFJeobCISJqbxlUbAqSliDR9GFULuuGQIb1yYqBSzOCcCJITLI43r7yUIa_G5xdIp-4NKry7SokLF1l7tHcTepRSOmrl-TcVfpn2rpiwTtUL7bwuHc23Y8a6CSipIXEqImc1MS0cyVdC1REETPFAd9KX3hbWIY4PsKezpi4WIKsXgQoiR9NzPx5UHT-4X0SDeUxQZC2XErOunHIt5En6f38X__BoZyjv7pPwL-82-TKqT6zUbdxEO6-wtQBEt78mAJ9lhZO_uJbxvHHVWpRAeXVgsxaSYW9GZYqCasUhUG0e17dmXY_nVacKnqY_zNKUwLAR2Npjmhoia1OCboTrRusduDrfgEluhG2QABrCieB32c-u1B8d2ljJXFf-o_lO9IJ0Wv0TD-y1xVUXHfYlm82U2r2AKTHJ9efvwQftt6Tht7hetYr7f1N7CEJ3rRr6AV8fRjN4WhTydpogUZUpsDyHFdD5CHs3QhJZBwDdGVPnagBUR0mn4Ux8oW_epEj9-oNJWJcOEQi1F4sBTgzJ2oRXfVrZXycNLrVwyS2FdUOEVyAkNR9rrr8Ap8tlqX7m8wNRxNK1eWZdHvUo9lo98Ua50RCmA_HYNzkTm5py1B1tVHVPm-GpORrQIb7Iw4pmrCO-ai7-fQJPuGGSwOsECTb52kmBnUB7rrxILwjdeHVvK3GhrazWhI9nqhwRdR9r8fM8JLNElpWnUThR7NUGt6mm-7GYr7S0OYXknHiUf7i0yNWt0K9o4MmplxskBoqjxjnxFrS9_XQ8cZGNRERgKsyZLd7bsm-9mW2Jia4blkViRqjFRF1x913YO_9SqvNxeyv47CV0Fw2Wpq1Zc8eynFpVGTytqTZcPSRg-lcLLiTc8LqSe1gCH-I7dMKByQP2fkc3-_QRQD5sJgnDWOLM8JPittQqWi4u-FnojgPgLg1GHdPrgyB4OmHHiTY-HPI7nrn_aC-QYTRVnVgP13IlMCxcnI-s1WifySfjjArFlF1fPG-8z1FfaGCTb4Z0oh38gABNfbzCPmmm-P6Ng5Vnzl4pe7N7DSqKCrhrJtIiDcpiaJrBKKYPRLf_pYAV3aLdJ95EcjhQRvXF3PawLOEf-nbbxn1EUl1mYKJ8TEeuJL35UHD6Ah17lEwUUz6WSUP4MEYGqW4FOdDFGhzjVGgxXi5pzcUuxo1dY3WsSJXiG3ZzNBZZXoAbbja9m2-41ECq_yg5IwEgP2lo1ujIqeU5cGXGoAfdEyWZhrhlXXUoexC_XGkwyRg938XS9dvMQMYFN0PNS70GkXU7tWQYQ58Rq_bRqjmKrHnU9wly55OD3VVSRx6GlpMhrawHeR_ob7vLqa1bQ3iP2i4RRTYuX1J_yRIxd7kuDqFBYdgEEHodWahvcT4ghJF052pqkl_h5MMH5Ou0HhOX2WpcgMqB2BC3kd1XugFe76j-bRgvf2k2a4N4XFMsU6_Y3TtrU-ZjiEA_iyuSjsnJu5Sb7PyyuigtiZZB0oJL43AOhW8YpulxamqMxiZ52FX0mSvXNUk9C4qfsYRSBE3QA3MuVxE5fu6pSDZuB9uMbNUZOMCKJwEypW79IrXWyBNG4j4N8Xr05ZGFbn9cAiiDdYtzvNJgySOukQO-F_u8GarDUs3WE97oCYUi_MOUH6vrqxASZrEtToJAxviAw6RpTW5GwR_yaJQH4UDYbuwwKFVE2KrR971qHAdCO3URDSkU3LhWWl1zYTsI6vQnGoo2sQuTHFmqLSiCYwsI7eB2wzHySNGbGjCRDjEVUp5gRoQchzlkE3RydEj_DXP4UoYacVrzLXT8g7ao3nUT_z42hIV-Fr-C_vZZr9Tv25OIHrE-WmlVVo6V1XKNrNh1bG1qTe2L4SSxM_caI4jpRw4pKzEBMkyHlKzDAMmyd8YKvaa5U6pkfTCa5MdpRU4bQu2VHS6XbSCMBMnJOLSBgUaUEIQ3lDUDRS4Ze7klvHKT7gpti_gqoGu57LsJCau92uO58kM4R4aqLmlui59DTOxkTo6psz6mFhmEvdd7DJNqRAT28XX6C0hp3mpUxMlfvDwX-PVCgUz2IRUAbkFRP6S3h2vVpSBnfa-ekzQbqzWwgJGkhpDzBoSjl1eAeCmjWM89WNRwhw-4xU3Dskj_vl6ocdf8iOOlUnrG5UYueJSPGASHacICyHtwk9mjftABmIicQU1juVT4tZO1zMC6W-Df-Icb2V8Zz497JPrwUR1xModzboKtB3rBaGrS34Lhy4475FBQ5dHLXsTr8K2OU93xNdFG6Dwgx4IxWiQdm7rLfFYEfAX_hYQJMzxILrRxjaemKTAt-4UXdfq_dUE3e_dj87KvHV4Ri12hssgavKPjCHUVAFeb7xA2ISpq1jnERDECPPjaz4CIiRcQfibsErUw9wIM-FVlAnUfKt5wus9gD9OON4_YQgpaKLNkvNBvyOolE7A5ZhT7TJ5-ZK479hvzc4alG_EagwnEYxqIab6j-pWxqTpp4g9uwYMBDg3EVLAx1bXhqGQfqf9Jhfds-4rpDP0t74JaH5b5zhRI9n5VOhoTGIbNnv7HJmKXOBKKHdreK7IlfJJD6zKaRwob-y9zS_5t_1zANsA9kxeCSfofRCRRYAwfLmgmmfDhBKA3W5_YdQ3iU3lgYDseSVRDLO5QAYJnw8nASo9ambw7-VRBuhD070zUDVhwuHBg_AWHdaftZzLY0l1MF0PNgokVQZCJt2y5LfdcQRoloAxZ5ErrVg_bqqlv6TOKVVqXxY95SA_UYZahY0smbNZQAn-X10rqYYP3-R_uBa9hIJWpqlB4jV7RfGG8DPnnyYTWpON0BM5bWdXIJcuVAQF8S-eISbyWcTnPR4PDkmSFRMIyA2JjjDWJNA3Ei7rGvuyd-JzvE2wyWoA86RS7Qwxep90A24ndPmfOklsTsYUeWlFK5c2CA8vaSIdSRQrVtTLmCc-EXVeKtUtJVIJS8CQP34r9w0E18M8OmbZtKJKIQ0UeKoc94fpP6YRnCdNacgeVSIJe_pwuJAI0V0bilRP-ApjT0eqOTxd3ecUEefcaq6u7Q8thzVozxG-P-sv1Mk6m1BiFuIV4ILl_eAETzKD9aGn9NE7SujoXziz8_RiYm8rwDrpSiYzhdXUuMrGn5kTHdKYB4kuP0Wov6YIwxJcFL1VWfksPNc8dl2iHFOX4mA7rgMob4uuH3Ibg7FVrFbJtzBFQImsZKqrb9_-VcrrQu6Lyap9yV6rRDcbaWnbPdrg5DkKVZMNEQ_K5pRO6MW2jhZ7iveCnPXr9c7xkYvAolvPhJli499FiNvryltV3qEk_Bxtmn9n9PTwU9Gx7rq2Je6VfVJjaTPvrxOtnfXANSxwSLCY0mv3dYUr8uA04gn549zSs9MkqduE60trYkBQkA35w-Ha7XkiEnm9-1amawntGVVpG3t5B8MPOfNEynlcxnXYB3fA1edYakpgevdvRLUlXm_VTmyVAEyc7IFNydghi_oxsL9vApw_vYjZBDDALlt6PDDLyoU6Di_Iuv6YKV1-DBxeg5_D8GODbtD6wkpJVmL5L2UYGZaWP3_EGwzzasMl5pc7t21t117pnvyQzXDZBXXtgly5Xii1CBeE9Gmo.o8Cycf0ixzqxm4-u1Sz1Eg \ No newline at end of file +eyJhbGciOiJSU0EtT0FFUCIsImVuYyI6IkExMjhHQ00ifQ.yum1izkMJ5djgFQLPy3I3xd2F8mNqBipOiBuacx7lyzpIlj_-elShVqRGp1rj7PIUD6yWltOJxwpvxGllc5EAdYwazGFgKbw8DA8neJ7nv4dgoiagJawLFc85eF-tqc_8dDUBS_RiSQWXZWItZ5tCgOksxtQLPdZjB-kxpzy_xJ67XOCYNrCZV-ATi2VXD3kL88L_Q8EmsmMCZxvuMXNnt5_EpwBq186wceEuwbnX8D7RlX-rNnTG8Zz1sqINbHSv17TPgkHGLAvTxmz3HrtYoegWHW8p3GWpHBIpt01mo3JRvi3GvFDsVLm4kxX0kKNPTGl4SCZJ6XIq2PzUdgS8A.Px-FOYGRY6dTLgiM.Xpo6CfZCseDPI0K3Yk11kTo_QmD0JJ1mozVJBwKdjVItOzhlUFL2yWtIse_JB-nIJicWsUYbRWbbaM8nVHPMqZNa5-b6DVL_fni55yJZ-BSZRwaglQKh3fYk93RBWeHHS217oQUmJsFrPaP7G6ycdsczOOAu_Ma4zjJWAh6bOWf9jPkcvt_WpXDMadV3ENZAzoH_ZzK0x-ABG6jdPf6Qg9snhf6EDjDp_teztHDf1JdHZec5o9kP4H42rOlDdByRz73aKZCSmB1VO4fdtS6iWZRGVzOpqK88XPF_wyfZ_JDArU3r5UuPm7Hh1xSAUK77Z4sxOqazLDPMC8-WeSGTygSrO_0t_V_KGQ62ri9fdQtkn9igSXyo_nMasdOdL8l_zdzI3YmnlzuDrMtm_D659HplOgKriJ9PIyhDaRrFnmnKkxGldSiOmSY8zbvsgn8stl41mVtHHQpY0iYi-4yAFEFAVW47a3Hb6qG51TWV-aPz9mPy4SyIm-gMpucFdX8O_R83VaTJb3A24QXfTmzllyT2deP1V_AR_aITWzd_Xfc_iCYyiDKxiJckYlI9zmRA66DOK4_2zs-wkJF2dB1nhoRmVfVLbIaJxSFU_iNNokVP_P0oQ2W2ioQJTnBnL5G5PMuxI0dcUC7GF1xc3h-ZDD5_xQhrhgtS7UDWYGLxaxR78wkgdCT_4t-penE0e7P7cksHyNPW4Kn6UUX4AFQgr67oJwydQkhA0Znv-k5ZENMEejzQ7-KgYhUIzv29hNt0zQpc0-2nOv9uUzhmWKNIBuZtB-zN11LLpyRG2bf4nUQIFMIXOrzc8D603F6V1kk15xZ2GVq5KuGjMbW16HDz0SOeuu8a3OqrbWU1Fo5uGnmEa7EFzI7ScySHfeZw0Iy6Q_OQx3iyfqQDZ0vCzZUFRLPNde_PByOVGguTEXSDNCVv4rz_AdVI3ALDvPStZ-nM-vhv3G9wR982jen7yuwIhsw6SlXSHm_ZyZEC8x31nrLr-mHVls5NIPp3hxNpP1eaH9tSBjy2fbU1XjIFmIaRd8d6xaxgq5kiIDqSsoRbNQ43IWGLWuKU0mpbU8gVZS-vl2o9YWWkZwqfnTYSzbWjWZRsA_LNr-GevZlKNrEO8uiod4r8KI2KoaJRdQig_uMPvRXBuvuUw3J3l3jSTCWTfN0MwwYm5fguXpHkXx6sK51RM-TjZ4Su6oDvQ2HJwqbKt14y4E1v1RSfEfinobZDB_i18r1oX0ID1PZrAPo19KHoCI7l88rrbpyUDc0bWwMGcx0zp2AbOI4zwI0Zouwba7MKnA_Hw2iZCHdndAMEizGUM9lC7A7q-odxiF-bAl7z609SlokJGitHT1nim4HeMtmMZRh1cE4xin6ijFtv360BnBh2TsKU8PTGwV0gjhXjJpwGn-d10MbaWnt-prmWYEkIOSRTaPO5NVKjM7hosAKZXRhyJQI5S8vpJrsC2nJSDzHCyYbXcUMi2DoCu7ospfbkNq890xG36xscAfDk4PblofBYLX82nh70eoD6ZlmU0uDaJXCbGEDZPj481FU7T0XbJYj-SrKpgc2_kusg4WK01RLV2zrUqz25YrbVX0GNyGDRr1RhIqDaZSfgQCewXUw98yNT8JoBZbbmYMBuc066rY-d8_e7DTVW9K9xbWggcEoRIkPo8mg_ELGW97Rn0qw_1EbgnPPjByvLXQ6BplQ-45478YD2-_7qR6wZxNBW0gp0wSR8KKpuEbwlhRn1GizEtuKANFhnhrl4ukiAgKSk6lB2H4uxEDwpqh6JGRR6Sknm3hOLj1BcFB0b1zNfkexC7FNWlprnS_5dT3u3d3Ymdra0j5MMtr3yAKAmYLobtK6ESpwlr-4-A0Oc5Ja7ropcHiMmvaloyDT49xu5ZHdnzOi9PVc5AepakfQGt2Q7r0zwOCWdk8qpELxuqSnppRqLzOAX23Zzk65cOuDx-dQhsEHyxc6z3wXTyOhuYyAlccmHhBELAdWZi1Q0JWv5WyxpbvWxbOZ9fXvOfy8CI2bMJKATz4bXXR-lDEHPh065c2vaDBBwrvQRcrD9W6ertkyyuM0m9ldjRxEfjaw7DKFubXy3y4d7_0tqNL9BljnDQs9PkLu5BnRk6NKAK7Tz_DzCbggkkl8NdGMDzUpnGnb_WeMs8yP0AZ-eJxTceoFI50JJ8o02X56f0DsKIFy-DJBP--_YcXsSCcU8sW36bz_ee21jyTjpwj9K4Pe6FPkniiiKFOm2KdABXh46kWjLUwk04dpkbD5unqLNEcoxSPiBqlQr02Ja-BDiRiv26gOVCIX-m7_qV1Tfwhv_vOyj3mAyXgSRWvVtswI17I2ojv0f5oREbN03dA9Iq51-ftYiUX7r7HL4oSgnPEPB9M-jmtYc4taM_-dBc6oQHXY8neF7izSd8F9odM7Uw3_tWi5hJ-c48fDlA86vdj1Jj7XkDlRWvm9naEGf-jQsJKCaFjv5wOct5H4imbMv42rKr_SvgleIGHu01xscMsPzAm_D7U8PFwG50hCuFxrIcqUOs2PvRDvPUcbZp2scVsOkDcU-kboQOb139qySQplJD7-6Bkflh9KIyc-RKq5-IFi80io7Q7Vc3_eYF7Z_8IOdtrmYnoBpG6jjIGtiwzPtwC3jXSiIuvIZTzz_XwikpLLgAtgQvsbgmtlbEm8prXLE4E2sBhX9L7QNgt_ZoOXkzcbm-fnP0BrwvenSKDDhWkJgcq06WPEBoaGt7OyXY2E7Zm1NysKxQpNHuMRJGrjMvtva2XIa24_mQHDZgRLXd3V8pnl-usXZmjgAbvP6L31IotKZDMWgSoklwHqBmn5tmfGPVt1qDqf4SMlQSWV_rxcKxFbasfSDaB4rZccZMHyHreyLD9f5L6V45ffT6oWEZ0BswytKGYnC-EHbej65sVG4r0MhLJb3nfJbLnnmkLeUSDWIOO15XcMB1--BUFt9aMSzKR1bLnqcfcmnUjV0li0FLNy8Qe0B_LlU0MqLzpvv1TqbBfAZTS5XtuG1O_zYOMvhFPDMkg44ZwFTO9po5m3oSAD7xYQCjV4yEdHUTgCNVQ5hq3cyCznImSHuSphv3n3lgA4wJmtaGIKV42YugibNAKxzwd1W6G3tRhSeRjwRsdommjDh8JvsZZ4x8aLfTjoTHM4iRXbTqzybxI7b0rG0VZjNXH0Q1qoKcL9iz2ofEwjbg5ydGB_N_6n-A_omqMPRdSYJkLDAriv8Qi8P7BtybrDP1WbarE6LAGrKdA7hYtIXth_0ovy1w7QcPpAqT55Lv9bvDB4QP-SAaosS9z7eUQXykPoOPQEfTjfjZVjQqEJVBhXU06Sj_DEbOWWmhEHt9FNeglZ51CGEUlFE_tfgxV9eEC1eJQMJPSIojvlgS0rdh1AOcdfmXz2b2Z93BZODfWzSsfa9gA4FECLVvhK25X8JKb54V8cz8hJ2YGzw95m3WVD1weHQz9a0IAc5DEx3_3dDxlqYzODgugKzK-RAzBZ9YfNxrhJquxPmzwmpnnuyjttsIZPaF4u4T7eml_NzJ8Tnp0e1VDAKxzp0O-eCcTxkM_imrX_KgVD6LnSQ6A0FvoaqA-OxC91-QCm2203dWlrt1KKH7_u2pQAgojNgRP2D-pL8DZss4AM7R98Gp3vUFXeMTSFLHWqEelfH5WgP7nNcd_v8wtAnM9Yu95SP56UHlyI1c8wYkYC7MG0WTpZxtP2fegX5ZMdQ8U6ddvenajgw4PJp4pHOoUgtieyuOt1p2d3XtQi3qykvm-L7dKCfsenn1GQXaNGAv0bp5Zak0YLDyUqoeDPFj0elJuKi0HNgSz356NUB0wfNnwCAXE9_-mqG8ps99bYq_kQ_N60-D3ByylMSsEpYq8mBFm0m5bnLGOo3t9bsNGM7Bz5z8YJA8B8k05zJ-m41jOPT5nk5K97tlF1k7uym-06UbwBo4x6xDpPy2y8ICEA.YYPwNEZeJApm73ZPXBlwaQ \ No newline at end of file diff --git a/.drone.yml b/.drone.yml index e70d1ef54..08f739974 100644 --- a/.drone.yml +++ b/.drone.yml @@ -128,6 +128,10 @@ build: - export VM2=$WORKER2 - ./misc/drone-scripts/deploy-and-test-wrapper.sh runtests $GOVC_URL_6_5 $VM1 $VM2 $$BUILD_NUMBER < /dev/null - # + - echo "=> Capturing coverage on ESX_6.5" `date` > /dev/null + - # + - ./misc/drone-scripts/deploy-and-test-wrapper.sh coverage $GOVC_URL_6_5 < /dev/null + - # - echo "=> Running tests on ESX_6.0" `date` > /dev/null - # - export GOVC_URL=$GOVC_URL_6_0 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 088a661f9..b04d9e83e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -378,3 +378,32 @@ Test SSH keys, login form the drone node should not require typing in a password cd $GOPATH/src/github.com/vmware/docker-volume-vsphere/ drone exec --trusted --yaml .drone.dev.yml -i ~/.ssh/id_rsa -e VM1= -e VM2= -e ESX= ``` + +## Capturing ESX Code Coverage +Coverage is captured using make coverage target (On CI it is called using drone script). +User can configure the setup and use this target to see the coverage. +### Setup ESX box to install python coverage package +* Install https://coverage.readthedocs.io/en/coverage-4.4.1/ on your machine using pip
+```Desktop$ pip install coverage``` +- scp the coverage package dir installed on ur machine i.e. /site-packages/coverage to /lib64/python3.5/site-packages/ on ESX box.
+eg:- ```Desktop$ scp -r /Library/Python/3.5/site-packages/coverage root@$ESX:/lib64/python3.5/site-packages/``` +- scp the coverage binary i.e. /usr/local/bin/coverage to /bin/ on ESX box
+eg:- ```Desktop$ scp /usr/local/bin/coverage root@$ESX:/bin/``` +* On ESX create sitecustomize.py inside ```/lib64/python3.5/```
+The content of sitecustomize.py is +``` +import coverage +coverage.process_startup() +``` +* On ESX create coverage.rc file in ESX home dir as ```vi /coverage.rc```
+The content of coverage.rc is +``` +[run] +omit=*_test.py +parallel=True +source=/usr/lib/vmware/vmdkops +``` +* On ESX modify ```/etc/security/pam_env.conf``` and add following line. +``` +COVERAGE_PROCESS_START DEFAULT=/coverage.rc +``` \ No newline at end of file diff --git a/esx_service/Makefile b/esx_service/Makefile index 3b27fc537..6bafd4d9b 100644 --- a/esx_service/Makefile +++ b/esx_service/Makefile @@ -206,3 +206,21 @@ test-esx: done; \ exit $$status' #$(SSH) root@$(ESX) rm -rf $(TMP_LOC) + +# binary for python coverage +COVERAGE := coverage +# vmdkops service manager +VMDKOPSD := /etc/init.d/vmdk-opsd + +# check if coverage package exists on ESX +COV_EXIST := $(shell $(SSH) root@$(ESX) '$(COVERAGE) 2> /dev/null') + +# This target is invoked from drone script on CI to capture coverage after the tests end. +coverage: + $(log_target) +ifdef COV_EXIST + @echo "python coverage package exists." + $(SSH) root@$(ESX) '$(VMDKOPSD) stop ; $(COVERAGE) combine .coverage* ; $(COVERAGE) report ; rm .coverage*' +else + @echo "python coverage package doesn't exist." +endif \ No newline at end of file diff --git a/misc/drone-scripts/deploy-and-test-wrapper.sh b/misc/drone-scripts/deploy-and-test-wrapper.sh index 094bb3da4..8a3ea331c 100755 --- a/misc/drone-scripts/deploy-and-test-wrapper.sh +++ b/misc/drone-scripts/deploy-and-test-wrapper.sh @@ -23,7 +23,7 @@ usage() { echo "run this script from the root of the repo" } -if [ $# -lt 3 ] +if [ $# -lt 2 ] then usage exit 1 @@ -111,6 +111,9 @@ runtests) TARGET+=" deploy-vm e2e-test-runalways e2e-test-runonce testasroot test-esx test-vm" fi ;; +coverage) + TARGET=" coverage" + ;; esac if make -s $TARGET $PARAMETER; diff --git a/vmdk_plugin/Makefile b/vmdk_plugin/Makefile index 9a4e83f05..bc1b841a4 100644 --- a/vmdk_plugin/Makefile +++ b/vmdk_plugin/Makefile @@ -347,6 +347,11 @@ test-esx: testremote: test-esx test-vm test-all: test e2e-test testremote +# capture coverage of vDVS driver code. +coverage: + $(log_target) + $(MAKE) --directory=$(ESX_SRC) $@ + # An end-to-end test target for vSphere Docker Volume Driver e2e-test: $(log_target)